サンプル・シナリオ
1: ビジネス・オブジェクトの送受信
サンプル・シナリオ 1 は、WBI Adapter for WebSphere MQ を使用して、WebSphere MQ を使用して通信を行うアプリケーションとの間でビジネス・オブジェクトの送受信を行う方法を示します。このシナリオは、単純になるように設計され、アダプターの基本的な機能を示します。
要約
この架空のシナリオには、作成、更新、または削除される企業の連絡に関する情報を交換することができるアプリケーション ("ApplicationX") が関わっています。
ApplicationX からのメッセージに定義されたフィールドと一致するビジネス・オブジェクト Sample_WebSphereMQ_LegacyContact を作成します。幸いなことに、この架空のシナリオでは、ApplicationX が送受信するメッセージのフォーマットは、WBI EDK に付属する区切りデータ・ハンドラーに準拠しています。
WebSphere MQ コネクターおよびポート・コネクター間で「Sample_MQSeries_LegacyContact」ビジネス・オブジェクトを送達するために必要な、テンプレートおよびコラボレーションを作成します。
ポート・コネクターは、IBM WebSphere Business Integration 製品のすべてのインストール済み環境に含まれています。これは、基礎となるコードがなくコネクター定義のみで構成されているため、使用するコラボレーションの「ダミー」コネクターとして機能します。このコネクターは、容易に JText などの別のコネクターに変更できます (そのように選択した場合)。
始動したアダプターは、ApplicationX が入力キューに書き込んだ連絡メッセージを検索します。アダプターは Delimited DataHandler を使用することにより、これらのメッセージを「Sample_WebSphereMQ_LegacyContact」ビジネス・オブジェクトに変換し、IBM WebSphere Interchange
Server (ICS) ブローカーに送達します。Test Connector (同様に、WBI をインストールすると組み込まれているコンポーネント) を使用することにより、ポート・コネクターをシミュレートし、アダプターが発行したビジネス・オブジェクトを検索し、属性を確認します。データを変更してから、メッセージをブローカーに再送達します。ここからメッセージは
アダプターに送信され、メッセージに変換され、ApplicationX の入力キューに送達されます。
この架空のシナリオは、統合ブローカーとしての ICS 用に構成されたアダプターを使用して示されます。
前提事項
サンプル・シナリオをインストールおよび実行するには、以下の要件を満たす必要があります。
- WebSphere ICS 4.2.x 以降の製品をインストール済みであり、その運用経験をもっていること。
- IBM WebSphere MQ 5.1 以上をインストール済みであり、その運用経験をもっていること。
- WebSphere MQ client libraries for Java をインストール済みであること。
- WebSphere Business Integration Adapter for WebSphere MQ を WebSphere ICS ホーム・ディレクトリーにインストール済みであること。
- WebSphere MQ キュー・マネージャーの名前が「crossworlds.queue.manager」 (インストール時のデフォルト値) であること。キュー・マネージャーが他の名前の場合には、この文書で「crossworlds.queue.manager」と記載された個所を、使用しているキュー・マネージャーの名前で置き換えてください。
サンプル・シナリオのインストールおよび構成
このテスト・シナリオでは、InterchangeServer (ICS) ブローカー・タイプ構成の場合の、WebSphere MQ アダプターおよび VTC の間の単純なビジネス・オブジェクト交換を示します。以下のステップに従って、サンプル・シナリオをインストールおよび構成します。
注 1:
本書で %SAMPLE_FOLDER% と記述されている箇所は、本書が格納されているフォルダーを指しています。
注 2:
本書で %CROSSWORLDS% と記述されている箇所は、現在の WebSphere ICS インストール済み環境を格納するフォルダーを指しています。すべての環境変数およびファイル区切りは、Windows NT/2000 フォーマットで指定されます。UNIX で実行する場合は、適切な変更を加えてください (例えば、%CROSSWORLDS%¥connectors は ${CROSSWORLDS}/connectors となります)。
- キューを作成します。
このサンプル・シナリオでは、キュー・マネージャーに 3 つのキューが定義されていることが必要です。必要なキューを作成するには、コマンド行から「RUNMQSC crossworlds.queue.manager」と入力して、以下のコマンドを発行します。
DEFINE QL('MQCONN.IN')
DEFINE QL('MQCONN.ERROR')
DEFINE QL('LEGACYAPP.IN')
注 1:
MO には、OutputQueue=LGACYAPP.IN の ASI を含むデフォルト属性があります (URI 形式)。これを、適切なキュー・マネージャー名に変更することができます。
注 2:
LEGACYAPP.IN は、アプリケーションの入力キューであり、アダプターの出力キューと同一です。MO のデフォルト属性で構成されます。
- InterChange Server および System Manager を始動します。
ショートカットから WebSphere Interchange Server を始動します。
WebSphere Business Integration System Manager を始動し、「コンポーネント・ナビゲーター・パースペクティブ (Component Navigator Perspective)」を開きます。「Interchange Servers」ビューで、ご使用のサーバーをサーバー・インスタンスとして登録および接続します。
-
WebSphere MQ サンプル・ソリューションをロードします。
「コンポーネント・ナビゲーター・パースペクティブ (Component Navigator Perspective)」から、新規の統合コンポーネント・ライブラリーを作成し、 %CROSSWORLDS%¥connectors¥WebSphereMQ¥samples¥WebSphereICS¥ にある WebSphereMQSample.jar という名前の repos ファイルをインポートします。
- コラボレーション・テンプレートをコンパイルします。
WebSphere Business Integration System Manager を使用して、「コラボレーション・テンプレート」というラベルが付けられたフォルダーを右クリックし、次にドロップダウン・リストから「すべてコンパイル」を選択します。
- アダプターを構成します。
WebSphere Business Integration System Manager を使用して、Connector Designer 内で WebSphere MQ アダプターを開きます。アダプターをまだ構成していない場合は、ご使用のシステムに応じた「インストール・ガイド」の説明に従って構成してください。また、アダプター構成プロパティーが以下に示す値に一致することを確認してください。
- 標準プロパティー:
- プロパティー 「BrokerType」の値を「ICS」に設定します。
- プロパティー 「DeliveryTransport」の値を「IDL」に設定します。
- コネクター固有のプロパティー:
- プロパティー「ConfigurationMetaObject」を値「Sample_WebSphereMQ_MO_Config」に設定します。
- プロパティー「DataHandlerConfigMO」を値「Sample_WebSphereMQ_MO_DataHandler」に設定します。
- プロパティー「DataHandlerMimeType」を値「text/delimited」に設定します。
- プロパティー「DataHandlerClassName」を値「com.crossworlds.DataHandlers.text.delimited」に設定します。
- プロパティー「ErrorQueue」を値「queue://crossworlds.queue.manager/MQCONN.ERROR」に設定します。
- プロパティー「InputQueue」を値「queue://crossworlds.queue.manager/MQCONN.IN」に設定します。
- 「hostname」プロパティーをご使用のマシンの名前に設定します。
- 「port」プロパティーを 1414 に設定します。
- 「channel」プロパティーを CHANNEL1 に設定します。
- プロパティー「UnsubscribedQueue」を値「queue://crossworlds.queue.manager/MQCONN.UNSUBSCRIBED」に設定します。
- サポートされているビジネス・オブジェクト:
ビジネス・オブジェクトを使用するには、まずアダプターがビジネス・オブジェクトをサポートする必要があります。Connector Designer を使用して、「サポートされているビジネス・オブジェクト」タブを選択し、「ビジネス・オブジェクト名」ドロップダウン・リストから以下のビジネス・オブジェクトを選択してから、エージェントがサポートするチェック・ボックスにチェック・マークを付けます。
- "Sample_WebSphereMQ_MO_Config"
- "Sample_WebSphereMQ_MO_DataHandler"
- "Sample_WebSphereMQ_LegacyContact"
- ポート・コネクターを構成します。
WebSphere Business Integration System Manager を使用して、Connector Designer 内で PortConnector を開きます。
- 標準プロパティー:
- プロパティー「BrokerType」の値を「ICS」に設定します。
- プロパティー 「DeliveryTransport」の値を「IDL」に設定します。
- サポートされているビジネス・オブジェクト:
Connector Designer を使用して、「サポートされているビジネス・オブジェクト」タブを選択し、ドロップダウン・リストから以下のビジネス・オブジェクトを選択してから、エージェントがサポートするビジネス・オブジェクトとしてチェック・マークを付けます。
- "Sample_WebSphereMQ_LegacyContact"
%SAMPLE_FOLDER% に、ポート・コネクター構成ファイルを「PortConnector.cfg」として保管します。
- メタオブジェクトを構成します。
WebSphere MQ キュー・マネージャーの名前が「crossworlds.queue.manager」でない場合は、Sample_WebSphereMQ_MO_Config ビジネス・オブジェクトの「デフォルト」属性の「AppSpecificInfo」フィールドの URI を更新する必要があります。
重要:
必ず Connector Configurator 内の変更内容を保管してください。
-
WebSphere MQ ユーザー・プロジェクトを作成します。
WebSphere Business Integration System Manager を使用して、新規ユーザー・プロジェクトを作成します。ステップ 3 で作成された統合コンポーネント・ライブラリーから、すべてのコンポーネントを選択します。
- ユーザー・プロジェクトを InterChange Server に追加して配置します。
「サーバー・インスタンス (Server Instance)」ビューから、ステップ 8 で作成したユーザー・プロジェクトを WebSphere
ICS に追加し、次にこのユーザー・プロジェクトからすべてのコンポーネントを InterChange Server に配置します。
- InterChange Server をリブートします。
すべての変更を有効にするには、InterChange Server をリブートします。System Monitor ツールを使用して、すべてのコラボレーション・オブジェクト、コネクター・コントローラー、およびマップが緑色の状態になっていることを確認してください。
サンプル・シナリオの実行
以下のステップに従って、サンプル・シナリオを実行します。
- アダプター がまだ稼働していない場合は始動します。
- Visual Test Connector (VTC) がまだ稼働していない場合は始動します。
- ポート・コネクターをシミュレートします。以下のステップに従って、これを実行します。
- VTC を使用して、「PortConnector」のプロファイルを定義します。以下のステップに従って、これを実行します。
- VTC メニューから、「ファイル」>「プロファイルを作成/選択」を選択します。
- 次に、「コネクター・プロファイル」メニューから「ファイル」>「新規プロファイル」を選択します。
- %SAMPLE% ディレクトリーで ポート・コネクター構成ファイル「PortConnector.cfg」を選択します。
- 「Connector Name」および「Broker Type」を構成し、「OK」を選択します。
- 作成したプロファイルを選択してから、「OK」を選択します。
- 「ファイル」>「接続」を選択して、コネクター・エージェントのシミュレートを開始します。
- イベントの消費をテストします。
VTC を使用して、ビジネス・オブジェクト Sample_WebSphereMQ_LegacyContact の新規インスタンスを作成します。これを実行するには、「BoType」ドロップダウン・ボックスでビジネス・オブジェクトを選択してから、BOInstance の「作成」を選択します。必要に応じてデフォルト値を変更し、メッセージを送信します。
- メッセージが送達されたことを確認します。
WebSphere MQ Explorer または同様のアプリケーションを使用してキュー「queue://crossworlds.queue.manager/LEGACYAPP.IN」を開き、フォーマットが「LC_CR」
の新規連絡メッセージがアダプターから届いているか確認します。
- サブスクリプション送達をテストします。
注:
このステップでは、キューにメッセージを送ることができるユーティリティーが必要です。このようなユーティリティーが使用できない場合は、アダプターの「InputQueue」プロパティーを「queue://crossworlds.queue.manager/LEGACYAPP.IN」に設定します。これにより、アダプターは自身のメッセージをポーリングできます (これが最も容易な方法です)。
入力キューにメッセージが入ると、アダプターはこのメッセージに対するポーリングを実行し、これを 「Sample_WebSphereMQ_LegacyContact」ビジネス・オブジェクトに変換しようとします。アダプターにメッセージのポーリングを実行させるために重要なことは、メッセージ・フォーマットが、メタオブジェクト「Sample_WebSphereMQ_MO_Config」内の「Sample_WebSphereMQ_LegacyContact」ビジネス・オブジェクトに関連付けられた値と等しいことです。このシナリオの場合、フォーマットは「LC_CR」です。
アダプターは、メッセージ・フォーマットを「LC_CR」であると認識すると、データ・ハンドラーを使用して、動詞 create 付きビジネス・オブジェクト「Sample_WebSphereMQ_LegacyContact」にメッセージを変換します。その後、この新しく作成されたビジネス・オブジェクトは Test Connector に送達されます。
実行の結果
上記のステップがすべて正常に実行された場合には、正常に機能するサンプル・シナリオが得られ、このシナリオにより WBI Adapter
for WebSphere MQ がメッセージを検索し、これらのメッセージを「Sample_WebSphereMQ_LegacyContact」ビジネス・オブジェクトに変換し、さらに、逆に「Sample_WebSphereMQ_LegacyContact」ビジネス・オブジェクトを連絡メッセージに変換することが可能になります。
