本文へジャンプ

ソフトウェア > Lotus > Lotus Developer Domain > 製品別技術情報 > Lotus Notes/Domino > 

LDD Today

DominoとWebSphere InterChange Serverを組み合わせた
ビジネス統合ソリューションの開発


Lotus Software
by Jay Zhao
Software engineer, IBM Corp.
レベル:中級者
対象:Notes/Domino
原文の掲載:2004年3月3日

LDD Today の原文(US)

インデックス
WebSphere BIA for Lotus Domino ProjectをWebSphere ICS上にインストール/設定する
WebSphere BIA for Domino projectをWebSphere ICSに展開する
WebSphere ICSテスト環境でWebSphere BIA for Dominoを実行する
まとめ
リソース

DominoとWebSphere Business Integrationに関するシリーズの二回目にあたる今回は、テクニカルな詳細に入っていきます。具体的には、WebSphere InterChange ServerとWebSphere Business Integration Adapter for Dominoを使って、どのようにしてビジネス・アプリケーション・ソリューションを組み立てていくかについてです。

パート1では、WebSphere Business Integrationを紹介しました。この記事ではWebSphere Business Integration (BI)のコンポーネントについて解説をしてきました。その中には、WebSphere Business Integration Adapter (BIA) for Lotus DominoやWebSphere InterChange Server (ICS)が入ります。パート2では、WebSphere ICSとWebSphere BI adapterの技術を使ってDominoビジネス統合ソリューションを組む準備ができています。この記事は、経験を積んだDomino管理者でWebSphere技術をある程度分かっている人を対象にしています。

WebSphere BIを使ったDominoビジネス統合ソリューションの開発とテストに必要なタスク概要を以下に示します。
  1. WebSphere ICS上にWebSphere BIA for Dominoプロジェクトをインストールおよび設定を行います。Integration Component LibraryとUser Projectの基本的なセットアップ方法がこのセクションで説明されています。インストールと設定に関する更なる詳細はWebSphere BI AdaptersのInstallation GuideとSystem Implementation Guide、およびWebSphere BI Adapter for Lotus DominoのUser Guideを参照してください。
  2. Virtual Test Connector (VTC)をセットアップします。WebSphere BIシステムのテスト環境でVTCを使って、WebSphere BIA for Dominoコネクターのテストを実施します。VTCに関する詳細情報はWebSphere ICS InfoCenterの中のWebSphere InterChange ServerのImplementation Guideを参照してください。
  3. コラボレーション・テンプレートを作成して、WebSphere BIA for Dominoのコラボレーション・オブジェクトを作成します。詳細な情報は、WebSphere ICS InfoCenterのCollaboration Development Guideを参照してください。
  4. WebSphere BIA for DominoプロジェクトをWebSphere ICSにディプロイします。これで開発プロセスは終了し、プロジェクトをWebSphere ICSにディプロイしてテストができるようになります。
  5. WebSphere ICSテスト環境でWebSphere BIA for Dominoのテストを実施します。WebSphere BIシステムのテスト環境はセットアップ済みですので、Dominoアプリケーション統合ソリューションのテストが可能です。

この作業を行う前に、前提条件を満たしているかを確認しておく必要があります。その内容を手短に記します。以下のリストの要件を満たしているか確認してください。

  • Follow the installation and implementation guides in the WebSphere ICS InfoCenter(US)のインストール・ガイドおよび実装ガイドに従って、WebSphere ICSとWebSphere BIツールセットのインストールとセットアップが終了していること。
  • WebSphere ICSとWebSphere BIツールセットのインストールが終了した後で、WebSphere BIA for Dominoをインストールします。
  • WebSphere BI Adapter for Lotus Domino User Guide(US)に従って、WebSphere BIA for DominoとDominoサーバーを設定します。WebSphere BIA for Dominoコネクター設定を設定ファイル形式(CFG)で保存します。
  • WebSphere Business Integration Adaptersをダウンロードして、Lotus Domino Adapterユーザー・ガイドを見つけておきます。
WebSphere BIA for Lotus Domino ProjectをWebSphere ICS上にインストール/設定する
WebSphere BIA for DominoをWebSphere ICS上で動作させるためには、WebSphere BIA for Dominoのユーザー・プロジェクトを作成しておき、WebSphere ICSにインストールしておく必要があります。ユーザー・プロジェクトを作成するツールは、System Managerです。WebSphere BIA for Dominoユーザー・プロジェクトの作成とインストールを行うには、以下の作業を行います。
  1. WebSphere ICSのサーバー・インスタンスを作成します。
  2. Integration Component LibraryとWebSphere BIA for Dominoのユーザー・プロジェクトを作成します。
  3. WebSphere BIA for Dominoコネクター設定を変更します。

WebSphere ICS用のサーバー・インスタンスの作成
WebSphere ICSのインストールが終了したら、サーバーをスタートします。すると、以下のメッセージがWebSphere ICS InterchangeSystem.logに記録されます。これで、サーバーが起動したことになります。

[Time: 2003/08/20 15:48:10.483] [System: Server] [Thread: main (#2718475)] [Type: Info] [MsgID: 20] [Mesg: InterChange Server "thinker_wics421" is ready.]

System Managerを起動させ、System Manager PerspectiveをWebSphere Studioから開いて、WebSphere ICSサーバーを登録します。図1では、ネットワークやServer Nameフィールドに記されたサーバー名で、WebSphere ICSサーバーをブラウズすることができます。そして、ユーザー名とパスワードを入力してFinishを押します。

図1. Register Serverダイアログボックス
Register Serverダイアログボックス

サーバーの登録が終了すると、WebSphere ICSサーバー名が、System Managerの左隅のInterChange Serversペインに表示されます。デフォルトではProductionモードになっていますが、これをDesignモードに切り替えて、WebSphere ICSリポジトリーをロードできるようにもできます。

Integration Component LibraryとWebSphere BIA for Domino用のユーザー・プロジェクトの作成
リポジトリー・ファイル、websphere_ics.inをロードして、WebSphere ICSデータベース・テーブルに流し込みます。このように、統合コンポーネントをIntegration Component Library (ICL)へインポートできます。新規にICL for WebSphere BIA for Dominoを作成します。System Managerで、File - New - Integration Component Libraryの順で選択し、New Integration Component Libraryダイアログボックスを開きます。プロジェクト名を入力し、WebSphere ICSサーバー名を、サーバー・フィールドから引いている、Importコンポーネントのドロップダウン・リストから選択します。

図2. New Integration Component Libraryダイアログボックス
New Integration Component Libraryダイアログボックス

次のダイアログボックスで、Business Objects of WebSphere BIA for Dominoを選択します。これはすなわち、DominoDocument、DominoEmbeddedObject、DominoItem、DominoItemValueになります。さらに、Connectors:も選択します。これはDominoConnectorになります。そしてFinishを押します。そうすると、WBIALD_ICLが、System Manager のIntegration Component Librariesの下に作成されます。

図3. WebSphere BIA for Domino ICLビュー
WebSphere BIA for Domino ICLビュー

新規のユーザー・プロジェクトを作成します。File - New - User ProjectをSystem Managerで選択します。New User Project ダイアログボックスで、プロジェクト名を記入しAvailable Integration Component LibrariesでWBIALD_ICLを選択し、Finishを押します。

WebSphere BIA for Dominoコネクター設定の変更
DominoConnectorをクリックして、WebSphere BIA for Dominoコネクター設定を開きます。User Guide for WebSphere BI Adapter for Dominoに従って変更を加えます。

図4. Connector Configuration
Connector Configuration

プロジェクトと設定ファイルの双方について変更内容を保存します。この設定ファイルは、後でWebSphere BIA for Dominoを動かす際に使用します。コネクター設定を更新した後には、プロジェクトも更新する必要があります。これを行うには、プロジェクトを選択し、Updateプロジェクトを選択します。

Virtual Test Connectorのセットアップ
Virtual Test Connector (VTC)を使用して、WebSphere BIでのテスト環境をセットアップして、統合コンポーネントのテストを行います。VTCはWebSphere BIシステムでのソース・コネクターをエミュレートするために使用します。実際の環境では、このVTCの代わりに、SAPコネクターといったエンタープライズ・アダプターを使用し、実環境にあわせたものに作り替えます。System ManagerでVTCを作成するには、WebSphere BIA for Domino ICL-Connectorsを選択します。そして、TestConnectorという新規コネクターを作成します。このTestConnectorの設定では、ICSをBroker Typeとして選択し、DominoDocumentがSupported Business Objectsタブで設定されているかを確認します。設定ファイルをIntegration Component Libraryプロジェクトに保存します。VTCの詳細実装情報についてはImplementation Guide for WebSphere ICSを参照してください。

WebSphere BIA for Dominoコラボレーション・テンプレートとオブジェクトの作成
パート1で示したように、WebSphere ICSコラボレーションはコラボレーション・テンプレートからまず始めます。コラボレーションの開発には以下のステップで行います。
  1. WebSphere BIA for Domino用のコラボレーションを指定します。
  2. WebSphere BIA for Domino用のコラボレーション・テンプレートを作成します。
  3. WebSphere BIA for Dominoコラボレーション用のAction Nodeを作成します。
  4. コラボレーション・テンプレートをコンパイルして、コラボレーション・オブジェクトを作成します。

コラボレーション開発の詳細情報については、WebSphere ICS InfoCenterのCollaboration Development Guideを参照してください。

WebSphere BIA for Domino用のコラボレーションを指定する
このステップでは、WebSphere BIA for Domino用に、コラボレーションでのリクエスト/応答の仕組みを設計します。内容は以下の通りです。

目的 WebSphere BIA for DominoとVTCとの間で、DominoDocument BOをパス・スルーする。
Business Object DominoDocument contains five verbs: create, delete, update, exist, and retrieve
トリガーとなるイベント DominoDocument.create, DominoDocument.update, DominoDocument.delets, DominoDocument.retriev
シナリオ数 Eight (one for each event on each port)
シナリオのロジック Receive the event; send the BO to the connector; log the BO contents if send request succeeds or log the exception if the request fails
ポート数 このコラボレーションに対してはTwo ports for this collaboration: In port and Out port

In 図 5, you can view the logic of this WebSphere BIA for Domino collaboration. We use Virtual Test Connector (VTC), which ships with the WebSphere ICS toolset, to simulate an adapter that communicates with an enterprise application. The collaboration is triggered by receipt of a triggering Domino document Business Object (BO). When a collaboration is triggered, it receives or sends the BO to both connectors through In and Out ports.

図5. WebSphere BIA for Dominoコラボレーション・アーキテクチャー
WebSphere BIA for Dominoコラボレーション・アーキテクチャー

WebSphere BIA for Domino用コラボレーション・テンプレートの作成
Process Designerを開いてWebSphere BIA for Domino用コラボレーション・テンプレートを新規に作成します。そのテンプレートに名前を付けてICLプロジェクトに保存します。コラボレーション・テンプレート名を選択して、コラボレーション・テンプレート定義を開きます。このテンプレート定義には以下のタブがあります。General、Declarations、Properties、Ports and Triggering Events。この記事では、コラボレーション・テンプレートがコネクターとのやりとりを使うポート・プロパティー情報を提供するだけで済みます。コラボレーション・ポートは外部のコラボレーションとのインターフェースを指定します。コラボレーションがリクエストを送信する場合や、リスポンスを受ける場合には必ずポートを経由することになります。

図6では、 In and Out ports are created in Process Designer to handle the calls from both ports.

図6. Collaboration Template用のポートとトリガーとなるイベント
Collaboration Template用のポートとトリガーとなるイベント

このコラボレーション・テンプレート用にシナリオを作る必要もあります。シナリオとはある決められたVerb(動詞)とポートで記述したアクションのプロセスです。このコラボレーション・テンプレートでは複数のシナリオを持っていますので、イベントのVerbに基づいてシナリオに名前を付けていきます。例えば、Domino文書の作成をハンドリングする場合には、Createという名前を付けます。WebSphere BIA for Dominoのコラボレーションでは全部で4つのシナリオを持つことになります。

WebSphere BIA for Dominoコラボレーション用のアクション・ノードの作成
シナリオを作成した後は、Activity Diagramを使用してアクション・ノードを組み立てていきます。ひとつのアクション・ノードはコラボレーション・シナリオにおけるステップの一つを表現しています。試しに、あるコラボレーションの設計内容を見て、シナリオの中で、どれほどのステップが必要であるかをみてください。図7は、Process DesignerでCreateOnWBIALDシナリオのシンプルなアクティビティー・ダイアグラムを作ってみたものです。Process Designerを使用してアクティビティー・ダイアグラムを作成する方法については、WebSphere ICS InfoCenterのCollaboration Development Guideを参照してください。コラボレーション・テンプレートを保存します。

図7. WebSphere BIA for Dominoのコラボレーション・テンプレートのアクティビティー・ダイアグラム
WebSphere BIA for Dominoのコラボレーション・テンプレートのアクティビティー・ダイアグラム

コラボレーション・テンプレートのコンパイルとオブジェクトの作成
コラボレーション・テンプレートを選択して、右クリックでCompile Templateを選択します。その結果、コンパイルが成功したか、失敗したかが表示されます。コラボレーション・テンプレートのコードをデバッグする場合には、Process Designerが生成するコース・コードがTools\WSWB203\Workspace\WBIALD_ICL\Templates\Srcディレクトリーにあるますので、それを使ってください。

System Managerに戻ります。WebSphere BIA for Domino ICLの下にあるコラボレーション・オブジェクトを選択します。そして、Create New Collaboration Objectを選択して、コラボレーション・オブジェクトに名前を付けます。このテスト・ケースでは、2つのコラボレーション・オブジェクトを作成します。WBIALDTestCollabObj_VTCToDominoとWBIALDTestCollabObj_DominoToVTCです。コラボレーション・テンプレートの選択のダイアログボックスで、WBIALDTestCollabObj_VTCToDomino のIn port to TestConnectorとOut port to DominoConnectorをバインドします。

コラボレーション・オブジェクトの作成が終了すると、System Manager上でコラボレーション・コンポーネント間の関連性を示す図が表示されます。図8はWBIALDTestCollabObj_DominoToVTCコラボレーションのコンポーネントの相関図を示したものです。

図8. コラボレーション・コンポーネント間の関係
コラボレーション・コンポーネント間の関係
 
上に戻る
 
WebSphere BIA for Domino projectをWebSphere ICSに展開する
統合コンポーネントの開発が終了したら、WebSphere BIA for Dominoユーザー・プロジェクトをSystem Managerで更新します。そうすると、WebSphere BIA for DominoのプロジェクトをICSサーバーに展開できるようになります。WebSphere ICSサーバーにプロジェクトがWebSphere ICSに追加されていることを、開発を行う前に今一度確認してください。

再度サーバー名を選択し、Deploy Project(s)を選択して、ユーザー・プロジェクトをサーバーに展開します。ユーザー・プロジェクトを展開する前に、System Monitorでプロジェクトの中の全てのコンポーネントが停止しているかを確認してください。プロジェクトを更新する度に、サーバーに再度展開する必要があります。WebSphere BIA for Dominoのユーザー・プロジェクトのWebSphere ICSへの展開が終了すると、System Monitor上でDominoConnector、TestConnector、コラボレーション・オブジェクトにそれぞれ緑色の印がついているのが見えるはずです。

図9. WebSphere ICSのSystem Monitor
WebSphere ICSのSystem Monitor

コラボレーション・オブジェクトとコネクターはいつでも、開始、停止が可能です。
 
上に戻る
 
WebSphere ICSテスト環境でWebSphere BIA for Dominoを実行する
ユーザー・プロジェクトの展開が済むと、今度はテストを行います。このセクションでは、WebSphere ICSテスト環境でWebSphere BIA for Dominoをデモする方法を解説します。ここではWebSphere ICSを統合サーバーとして使用して、Dominoサーバーとエンタープライズ・アプリケーション間の統合を実現します。WebSphere BIA for DominoはDominoサーバーとWebSphere ICS間のコネクター・サーバーとしてしようされます。このテストでは、VTCはWebSphere ICSからエンタープライズ・アプリケーションへの仮想的なコネクターとして機能します。

テストを実行する前に、WebSphere BIA for Lotus Domino User Guideに従ってWebSphere BIA for Dominoコネクターを設定して、コネクター設定ファイルを作成しておく必要があります。
WebSphere BIA for Dominoの設定とセットアップの段階でこれを終了していないならば、この時点で行う必要があります。WebSphere BIAのSystem ManagerからDominoConnector設定を開き、この設定を、WebSphere BIAのインストーラーでインストールされた他のWebSphere BIA for Dominoファイルと共にconnectors\Dominoのディレクトリーに保存します。

テストをスタートして、Dominoサーバー上でのイベントのモニターを行います。そして、VTCとDominoサーバーとの間でビジネス・オブジェクトの交換を行います。

WebSphere BIA for Dominoを開始する
Domino Java API JARファイル (NCSO.jar)の位置に従って、start_Domino.batが修正されていることを確認してください。通常は、data\domino\javaのディレクトリーにあります。WebSphere BIA for Dominoコネクターは、コマンド・ラインかスタートメニューのどちらかから起動することができます。コマンド・ラインから開始するには、以下のコマンドをconnectors\Dominoディレクトリーで実行します。

start_Domino Domino IntegrationServerName -cDominoConnector.cfg

ここでのIntegrationServerNameは、WebSphere ICSの名称です。WebSphere BIA for Dominoを起動しましたら、以下のメッセージがWebSphere BIA for Dominoのログ・ファイルに記録されているはずです。または、コマンド・ラインからWebSphere BIA for Dominoが起動していることを表示させることができます。

[Time: 2003/08/27 15:58:44.182] [System: ConnectorAgent] [SS: DominoConnector]
[Thread: main (#2704014)] [Type: Info] [MsgID: 17066] [Mesg: Application state is connected]
[Time: 2003/08/27 15:58:55.799] [System: ConnectorAgent] [SS: DominoConnector]
[Thread: main (#2704014)] [Type: Info] [MsgID: 17053]
[Mesg: Publishing messages on queue AP/DominoConnector/thinker_wics421.]
[Time: 2003/08/27 15:58:56.440] [System: ConnectorAgent] [SS: DominoConnector]
[Thread: VBJ ThreadPool Worker (#4578761)] [Type: Info] [MsgID: 17064]
[Mesg: Connector Agent state is active.]

WebSphere BIA for Domino上でテストを実行する
VTCを開き、TestConnector用のプロフィールを作成します。New Profileダイアログボックスで、Connector NameフィールドにTestConnectorと入力し、ブローカー・タイプとしてICSを選択します。そして、サーバーのユーザー名とパスワードを入れます。

図10. TestConnector用新規プロフィール
TestConnector用新規プロフィール

TestConnector からWebSphere ICSサーバーへ接続できたら、TestConnector の準備ができたことを知らせるメッセージがTestConnectorコンソールに表示されます。ビジネス・オブジェクトの作成か、あるいはVTCで予め作成済みのビジネス・オブジェクトをロードすることができます。Send BOをクリックとしてBOをDominoサーバーに送信します。そうすると、以下のメッセージがトレース・ファイルに記録されます。これは、WebSphere BIA for DominoがVTCから送信されたBOを受信したことを示すものです。

[Time: 2003/09/03 18:17:56.841] [System: ConnectorAgent] [SS: DominoConnector]
[Thread: VBJ ThreadPool Worker (#7597170)] [Type: Trace] [Mesg: :[Type: Trace]
[MsgID: 4002] [Mesg: Entering method: DominoBOHandler.doVerbFor()] ]
[Time: 2003/09/03 18:17:56.861] [System: ConnectorAgent] [SS: DominoConnector]
[Thread: VBJ ThreadPool Worker (#7597170)] [Type: Trace] [Mesg: :[Type: Trace] [MsgID: 5505]
[Mesg: DominoBOHandler.doVerbFor(): Received Business Object: <StartHeader>
<Version = 3.0>
<EndHeader>
<StartBO:DominoDocument>

...

ObjectEventId = TestConnector_1062627460878_2
<EndBO:DominoDocument>] ]

NotesクライアントでNotes文書を作成、削除、更新すると、WebSphere BIA for DominoがこのイベントをキャッチしてVTCへビジネス・オブジェクトを送信します。例えば、購入要求の文書をDominoのアプリケーションで作成したとします。その文書を保存すると、WebSphere BIA for Dominoのイベント・リスナーはこの作成イベントをキャッチします。そして、WebSphere BIA for Dominoのイベント・テーブルにこのイベントが現れ、イベントのステータスがREADY_FOR_POLLであることを表示します。WebSphere BIA for Dominoコネクターは、イベント・テーブルからイベントを読み取る際にイベント・ポーリングを実施し、Domino文書ビジネス・オブジェクトをVTCへ送信します。VTCからは図11に示すようにBOが到着したことをみることができます。

図11. VTCへのBOの到着
VTCへのBOの到着

到着したBOをクリックすると、フィールドと値を確認することができ、Dominoアプリケーションで文書が作成されたことが確認できます。このステップをもって、WebSphere ICS and WebSphere BIA for Dominoを経由してシミュレーション・アダプター(VTC)から、Dominoサーバーへ、またDominoサーバーからVTCへの双方向のテストが終了しました。
 
上に戻る
 
まとめ
この記事ではWebSphere Business Integration で実現できることの一部の紹介や、Dominoビジネス・アプリケーションをWebSphere InterChange ServerやWebSphere BI Adaptersと組み合わせて、エンタープライズ・アプリケーションと統合する方法について紹介しました。また、Dominoサーバーからバックエンドのリレーショナル・データベースやERPシステムなど企業アプリケーション全てに、WebSphere BIを経由して双方向に接続する方法についてもデモしました。この記事で紹介したアプローチでは、WebSphere ICS、WebSphere BI Adapters、WebSphere BIA for Dominoの技術を使用して、Dominoのビジネス統合ソリューションを実現しています。今後のシリーズでは、WebSphere Application Serverを使用して、どのようにDominoアプリケーションとビジネス・アプリケーションとの統合を実現していくかについて触れていきます。
 
上に戻る
 
リソース

次回は、エージェントを使ってキーワード・リストを作成する方法を紹介します。最終的には、リレーショナル・データベースにアクセスしてキーワード・リストを作成する方法について検討します。



筆者について
Jay Zhao is a software engineer with the IBM WebSphere Business Integration Adapter development team. He has been working in different areas in the WebSphere development team since 1999.
 
上に戻る