BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA
 ドキュメントのダウンロード   サイト マップ   用語集 
検索

アダプタの開発

 前 次 目次 索引 PDFで表示  

基本開発コンセプト

この章では、アダプタまたは設計時 GUI の開発を行う前に知っておく必要がある基本的なコンセプトについて説明します。この章の内容は以下のとおりです。

 


実行時と設計時

アダプタ アクティビティという言葉は、実行時および設計時アクティビティの両方を指します。実行時アクティビティは、アダプタ プロセスの実行です。アダプタのユーザによって実行される設計時アクティビティには、アプリケーション ビューの作成、デプロイメントおよびテストが含まれます。

実行時および設計時アクティビティは、それぞれ ADK の実行時および設計時フレームワークによってサポートされています。実行時フレームワークは、アダプタを開発するためのツールで構成され、設計時フレームワークは Web ベースのユーザ インタフェースを設計するためのツールで構成されます。実行時と設計時アクティビティについては、この後でさらに詳しく説明します。

実行時フレームワーク

実行時フレームワークは、イベント アダプタおよびサービス アダプタの開発に使用するツール セットです。イベント アダプタの開発をサポートするため、実行時フレームワークでは、拡張可能な基本イベント ジェネレータを提供しています。また、サービス アダプタの開発用に、J2EE に完全に準拠したアダプタを提供しています。

実行時フレームワークが提供するクラスには、以下の利点があります。

さらに、実行時フレームワークでは、イベント ジェネレータの実装に役立つ抽象基本クラスを提供しています。イベント ジェネレータを使用すると、ADK 環境におけるイベント サポートが強化されます。

実行時フレームワークの主要コンポーネントは、実行時エンジンです。これはサービスの呼び出しを処理するアダプタ コンポーネントのホストとなっており、次の 3 つの WebLogic Server 機能を管理します。

これらは、すべて J2EE コネクタ アーキテクチャの規格に準拠しています。

設計時フレームワーク

設計時フレームワークは、アダプタ ユーザがアプリケーション ビューの定義、デプロイ、およびテストの際に必要となる、Web ベースの GUI を作成するためのツールを提供します。各アダプタには EIS 固有の機能がありますが、アプリケーション ビューをデプロイするには、すべてのアダプタで GUI が必要です。設計時のフレームワークでは、そのような GUI の作成とデプロイにかかる手間を最小限に抑える 2 つのツールを使用します。

各アダプタの設計時インタフェースは、WAR ファイルとしてまとめられた J2EE 準拠の Web アプリケーションです。Web アプリケーションは、.jsp.html およびイメージ ファイルなどをまとめたものです。Web アプリケーションの記述子は web.xml です。この記述子によって、Web アプリケーションのデプロイおよび初期化方法が、J2EE Web コンテナに与えられます。

各 Web アプリケーションには、デプロイメント時に指定されたコンテキストがあります。コンテキストは、Web コンテナのドキュメント ルート内にある Web アプリケーションに関連付けられたリソースを識別します。

 


イベントおよびサービス

ADK を使用して、イベント アダプタおよびサービス アダプタの両方を作成できます。ADK アーキテクチャでは、サービスおよびイベントは、それぞれの入出力の定義に XML スキーマを使用する自己記述オブジェクト(すなわち、名前がビジネス機能を示す)として定義されます。

イベントの概要

イベントは、関心イベントが EIS 内で発生したときにアプリケーション ビューによってパブリッシュされる XML ドキュメントです。イベントの通知を希望するクライアントは、アプリケーション ビューに登録して通知を要求します。登録が済むと、アプリケーション ビューは、対象アプリケーションとクライアント間のブローカとして機能します。クライアントがアプリケーション ビューによってパブリッシュされたイベントをサブスクライブした場合、アプリケーション ビューは対象アプリケーション内で関心イベントが発生するたびにクライアントに通知します。イベント サブスクライバに、関心イベントが発生したことが通知されると、サブスクライバにはそのイベントを記述した XML ドキュメントが渡されます。また、イベントをパブリッシュするアプリケーション ビューは、クライアントに、パブリッシュ可能なイベントの XML スキーマを提供することもできます。

注意: アプリケーション ビューは、アプリケーションの特定機能に対するビジネスレベルのインタフェースを表しています。この機能の詳細は、『Application Integration 入門』を参照してください。

サービスの概要

サービスは、アプリケーション内のビジネス オペレーションのうち、アプリケーション ビューによってエクスポーズされるものです。サービスは要求/応答のメカニズムとして機能します。アプリケーションが、ビジネス サービスを呼び出す要求を受信すると、アプリケーション ビューが対象アプリケーション内のサービスを呼び出し、結果を記述した XML ドキュメントを返します。

サービスを定義するには、入力要件、出力想定、および対話設定を定義する必要があります。

要求は 2 つの要素で送信されます。

 


アダプタによるロギングの使い方

ロギングは、アダプタに不可欠な機能です。一般にアダプタは、異なるアプリケーション同士の統合に使用され、データの処理時にエンド ユーザとは対話しません。フロントエンド コンポーネントと違って、アダプタは、エラーや警告状況が発生した場合に、処理を停止してエンドユーザの応答を待つことはできません。

また、アダプタが統合するビジネス アプリケーションは、通常、ミッションクリティカルなビジネス アプリケーションです。そこで、アダプタに、EIS とのすべてのトランザクションに関する監査レポートの保持が要求されるケースが考えられます。したがって、アダプタ コンポーネントは、正確なロギング情報と監査情報を提供する必要があります。ADK のロギング フレームワークは、ロギングと監査、両方の要求に対応できるように設計されています。

ロギング ツールキット

ADK が提供するツールキットを使用すると、ローカライズされたメッセージを複数の出力先にログとして記録できます。このロギング ツールキットにより、オープン ソース プロジェクト、Apache Log4j の機能が強化されます。

ロギング ツールキットは、Log4j 内の重要なクラスのラップを行い、J2EE 準拠アダプタの構築時に追加機能を提供します。このツールキットは logtoolkit.jar ファイルにあります。

ロギング ツールキットの使用方法の詳細については、ロギング ツールキットの使い方を参照してください。

ロギング フレームワーク

ADK では、ロギング フレームワークを実装することにより、アダプタ アクティビティのログを記録できます。このフレームワークによって、インターナショナライズされたメッセージおよびローカライズされたメッセージを、複数の出力先に記録できます。また、メッセージのカテゴリ、優先度、フォーマット、および送り先の指定に使用できる一連のコンフィグレーション パラメータが用意されています。

ロギング フレームワークではカテゴリ階層が使用されており、アダプタ内のすべてのパッケージおよびクラスでロギング コンフィグレーションを継承できるようになっています。また、パラメータは実行時に簡単に変更できます。

インターナショナライゼーションとローカライゼーション

ロギング フレームワークでは、ログ メッセージをインターナショナライズできます。インターナショナライズされたアプリケーションは、コードを作成しなおすことなく、世界中のエンド ユーザの言語および語法に簡単に変換できます。ローカライゼーションは、ロケール固有のコンポーンネントおよびテキストを追加することにより、ソフトウェアを特定の地域または特定の言語用に変更する処理のことです。ロギング フレームワークでは、Java プラットフォームによるインターナショナライゼーションおよびローカライゼーション機能が使用されます。

 


アダプタ論理名

各アダプタには、個別のアダプタを表し、また、すべてのアダプタの構成基準となるユニークな識別子であるアダプタ論理名を付ける必要があります。アダプタ論理名は、個別のアダプタおよび以下の関連項目を識別するために使用します。

アダプタ論理名は、ベンダ名、アダプタに接続される EIS のタイプ、および EIS のバージョン番号を組み合わせたものです。この名前は、通常、 vendor_EIS-type_EIS-version という書式で表わされます。たとえば、アダプタ論理名 BEA_WLS_SAMPLE_ADK の場合は、以下のとおりです。

必要な情報が含まれていれば、この情報に対して別のフォーマットを使用することも可能です。

アダプタ論理名の使用場所

アダプタでは、アダプタ論理名が以下のように使用されます。

アダプタのデプロイメントでアダプタ論理名を使用する

アダプタ論理名を割り当てるには、<ConnectorComponent> 要素を含む <Application> 要素の Name 属性の値としてこれを指定します。この値は、WebLogic Integration でアプリケーション ビューとデプロイされたリソース アダプタを関連付けるためのキーとして使用します。リスト2-1 でその例を示します。

コード リスト 2-1 ConnectorComponent 要素の Name 属性

<Application Deployed="true" Name="BEA_WLS_DBMS_ADK"
Path="<WLI_HOME>/adapters/dbms/lib/BEA_WLS_DBMS_ADK.ear"
TwoPhase="true">
<ConnectorComponent Name="BEA_WLS_DBMS_ADK" Targets="myserver"
URI="BEA_WLS_DBMS_ADK.rar"/>
<WebAppComponent Name="DbmsEventRouter" Targets="myserver"
URI="BEA_WLS_DBMS_ADK_EventRouter.war"/>
<WebAppComponent Name="BEA_WLS_DBMS_ADK_Web" Targets="myserver"
URI="BEA_WLS_DBMS_ADK_Web.war"/>
</Application>

注意: アダプタ論理名を RAR ファイル名として任意に使用できますがこのような使用は URI 属性では必要ありません。

アプリケーション ビューをデプロイすると、J2EE コネクタ アーキテクチャ CCI 接続ファクトリ デプロイメントと関連付けられます。たとえば、ユーザが abc.xyz アプリケーション ビューをデプロイすると、WebLogic Integration では新しい ConnectionFactory がデプロイされ、この接続ファクトリと次の JNDI の場所がバインドされます。

 com.bea.wlai.connectionFactories.abc.xyz.connectionFactoryInstance

この新しい接続ファクトリ デプロイメントでは、便宜性を高めるため、weblogic-ra.xml デプロイメント記述子の <ra-link-ref> 設定が使用されます。

必要に応じて、アプリケーション ビューの設計時に、ユーザは共有可能な既存の接続ファクトリ デプロイメントをアプリケーション ビューに関連付けることができます。接続ファクトリは、WebLogic Server Administration Console を使用して作成されたものである必要があります。詳細については、共有接続ファクトリを参照してください。

<ra-link-ref> 要素を使用し、複数のデプロイ済み接続ファクトリを 1 つのデプロイ済みアダプタに論理的に関連付けることができます。必要に応じて、<ra-link-ref> 要素に別のデプロイ済み接続ファクトリを示す値を指定すると、新しくデプロイされるその接続ファクトリが、参照先の接続ファクトリと一緒にデプロイされたアダプタを共有します。また、参照先の接続ファクトリのデプロイメント時に定義したすべての値は、その他の値を指定しない限り、新しくデプロイされるこの接続ファクトリで継承されます。アダプタ論理名は、<ra-link-ref> 要素の値として使用されます。

アダプタ論理名を構成基準として使用する

表 2-1 は、アダプタ論理名が構成基準として使用される機能の種類のリストです。

表2-1 どのようにアダプタ論理名が構成基準として使用されるか

機能領域

アダプタ論理名は次のように使用されます

ロギング

アダプタ論理名は、アダプタ固有のすべてのログ メッセージに対する基本ログ カテゴリ名として使用される。その結果、アダプタ論理名は以下の XML ドキュメントの RootLogContext パラメータの値として渡される。

これらのパス名において、ADAPTER はアダプタ名を示す。たとえば、

WLI_HOME/adapters/dbms/src/war/WEB-INF/web.xml

さらに、アダプタ論理名は、アダプタの Log4J コンフィグレーション ファイル名のベースとしても使用される。このとき、拡張子 .xml がアダプタ論理名に付けられる。

.xml が名前に加えられる。たとえば、サンプル アダプタの Log4J コンフィグレーション ファイルは BEA_WLS_SAMPLE_ADK.xml となる。

ローカライゼーション

アダプタの論理名は、アダプタのメッセージ バンドルに対する基本名として使用される。たとえば、サンプル アダプタのデフォルト メッセージ バンドルは BEA_WLS_SAMPLE_ADK.properties となる。その結果、アダプタ論理名は以下の XML ドキュメントの MessageBundleBase パラメータの値として渡される。

これらのパス名において、ADAPTER の値はアダプタ名を示す。たとえば、

WLI_HOME/adapters/dbms/src/war/WEB-INF/web.xml


 

getAdapterLogicalName() の戻り値として使用されるアダプタ論理名

最後に、アダプタ論理名は、com.bea.adapter.web. AbstractDesignTimeRequestHandler の抽象メソッド getAdapterLogicalName() の戻り値として使用されます。この戻り値は、アプリケーション ビューのデプロイメント時に、接続ファクトリに対する RootLogContext の値として使用されます。

 


共有接続ファクトリ

共有可能な既存の接続ファクトリ デプロイメントをアプリケーション ビューに関連付けることができます。接続ファクトリは、WebLogic Server Administration Console を使用して作成されたものである必要があります。共有可能な接続ファクトリとその JNDI の位置は、ConnectorComponentMbeans によって識別されます。JNDI の場所は、アプリケーション ビューのプロパティである connectionFactoryJNDIName に書き込まれます。アプリケーション ビューのデプロイヤは、デプロイメント時にこのプロパティを使用します。

起動時の接続ファクトリへの参照

すべての共有可能接続ファクトリは、起動プロセス時に参照されます。ユーザは、デプロイメント プロセスにおいて WebLogic Administration Consolde を使用してデプロイされた接続ファクトリが使用可能であることを確認する必要があります。接続ファクトリが見つからない場合、アプリケーション ビューのデプロイメントは失敗します。

 


エンタープライズ アーカイブ(EAR)ファイル

ADK では、アダプタのデプロイにエンタープライズ アーカイブ ファイル、あるいは EAR ファイルを使用します。1 つの .ear ファイルには、アダプタのデプロイに必要な WAR および RAR ファイルが含まれます。EAR ファイルの例をリスト2-2 に示します。

コード リスト 2-2 EAR ファイル構造

adapter.ear
META-INF
application.xml
sharedJar.jar
adapter.jar
adapter.rar
META-INF
ra.xml
weblogic-ra.xml
MANIFEST.MF
designtime.war
WEB-INF
web.xml
META-INF
MANIFEST.MF

サンプル アダプタの EAR ファイルをリスト2-3 に示します。

コード リスト 2-3 サンプル アダプタの EAR ファイル

sample.ear
META-INF
application.xml
adk.jar (shared .jar between .war and .rar)
bea.jar (shared .jar between .war and .rar)
        BEA_WLS_SAMPLE_ADK.jar (shared .jar between .war and .rar)
        BEA_WLS_SAMPLE_ADK.war (Web application with
META-INF/MANIFEST.MF entry Class-Path:
BEA_WLS_SAMPLE_ADK.jar adk.jar bea.jar log4j.jar
logtoolkit.jar xcci.jar xmltoolkit.jar)
        BEA_WLS_SAMPLE_ADK.rar (Resource Adapter 
with META-INF/MANIFEST.MF entry Class-Path:
BEA_WLS_SAMPLE_ADK.jar adk.jar bea.jar log4j.jar
logtoolkit.jar xcci.jar xmltoolkit.jar)
	log4j.jar (shared .jar between .war and .rar)
logtoolkit.jar (shared .jar between .war and .rar)
xcci.jar (shared .jar between .war and .rar)
xmltoolkit.jar (shared .jar between .war and .rar)

RAR と WAR ファイル内には、共有 JAR ファイルはなく、どちらも EAR ファイルのルート ディレクトリにある共有 JAR ファイルを参照しています。

EAR ファイルを使用したアダプタのデプロイ方法の詳細については、アダプタのデプロイを参照してください。

 


アダプタによる同時要求の処理方法

アダプタ設計者として、WebLogic Integration が 1 つのアダプタに対する複数の同時要求をどのように処理するかを、接続およびスレッドの観点から理解する必要があります。

アプリケーション ビューは、Stateless Session EJB を使用しアダプタと通信します。アダプタ内でのすべての実行は、WebLogic Server 実行スレッドの適用範囲内で実行されます。このため、同時要求の数は、次の要因によって制限されます。

Sun Microsystems, Inc. による J2EE コネクタ仕様、バージョン 1.0 に定められているように、アダプタは独自のスレッドを作成しません。WebLogic Server 実行スレッドまたはプール内の接続のいずれかが酷使されると、スループットが低下します。有効なリソースの超過は次のような影響を及ぼします。

 

ページの先頭 前 次