BEA ホーム | 製品 | デベロッパ・センタ | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs >
WebLogic Integration >
BPM トピック |
BPM - Workshop サンプル ユーザーズ ガイド
|
概要
WebLogic Integration BPM Workshop サンプルは、Web サービスと Web ワークフローの間で XML ドキュメント交換による相互呼び出しがどのように行われるかを示します。このサンプルには次の 2 つのシナリオが示されています。
また、このサンプルには次の 2 種類のメッセージ フォーマットが示されています。
注意: BPM - Workshop サンプルは Windows システムでのみ動作します。
この章の内容は以下のとおりです。
相互運用のシナリオ
図1-1 は、ワークフローから Web サービスを呼び出して XML メッセージを渡し、後で Web サービスからワークフローに XML メッセージを受け取る方法を示しています。
図1-1 Web サービスを呼び出して XML を渡し、後で Web サービスから XML を受け取るワークフロー
このワークフローでは、Web サービスを呼び出して XML ドキュメントを渡すために、SOAP-HTTP または HTTP-XML を使用して XML メッセージを渡します。XML メッセージを受け取った Web サービスは、ビジネス ロジックの処理を開始します。その処理途中または処理後に、Web サービスは XML ドキュメントを含むメッセージをワークフローに送信します。 このシナリオは非同期の Web サービスの特徴を表しています。ワークフローは Web サービスをインスタンス化した後、ワークフロー自身の処理を自由に実行し、後から Web サービスに応答を要求できます。Web サービスの各インスタンスは、サービスを呼び出したワークフロー インスタンスに XML の結果を返さなければなりません。 注意: 厳密に言うと、XML over HTTP のサンプルの Web サービス メソッドは、同期メソッドです。これは、HTTP による XML のみのバインドをサポートする JWS メソッドが空の戻り値をサポートしないという WebLogic Workshop の特徴によるものです。そのため、Workshop JWS 内で非同期 XML/HTTP 専用メソッドを使用することはできません。サンプルでは、JWS でダミーの整数を戻り値として返すことにより、この制限に対処しています。 シナリオの実装方法 図1-2 に示すように、仲介 Web サービスを使用することで、ターゲット Web サービスのプロトコルやメッセージ フォーマットからワークフローを切り離しています。 図1-2 Web サービスを呼び出して XML を渡し、後で Web サービスから XML を受け取るワークフロー
仲介 Web サービスは、ターゲット Web サービスから受け取った応答 XML が、元の XML メッセージを送信して呼び出した Web サービス インスタンスと同一のインスタンスから送信されたことを保証します。また、ターゲット Web サービスから、そのサービスに元の XML ドキュメントを渡した正しいワークフロー インスタンスへ、XML の結果を伝達することも保証します。 ワークフローには、未加工の XML を仲介 Web サービスに転送し、後で仲介 Web サービスから XML 応答を受け取るメカニズムが必要です。これらの XML 転送は両方とも、同じ仲介 Web サービス インスタンスとワークフロー インスタンスの間で実行される必要があります。仲介 Web サービスを使用すると、ワークフローは、SOAP/XML over HTTP インタフェースをサポートする必要から解放されます。ワークフローは JMS プロシージャおよびコンシューマとして機能し、Web サービスが SOAP/XML メッセージ フォーマット変換を処理します。
サンプルでのシナリオの実行方法
前述のとおり、このサンプルは、発注書情報を含む XML ドキュメントをワークフローで生成する方法を示しています。このサンプルでは、SendPO ワークフローは XML ドキュメントを使用して ProcessPO ワークフローをトリガします。ProcessPO ワークフローは最終的に、発注書情報の処理を完了した後、結果の XML ドキュメントを SendPO ワークフローに返します。
図1-3 は、SOAP over HTTP サンプルの相互運用性プロセスを示しています。表 1-1 は、プロセスの詳細です。
図1-4 は、XML over HTTP サンプルの相互運用性プロセスを示しています。表 1-2 は、プロセスの詳細です。
図1-3 ワークフローと Workshop の対話 − SOAP
注意: 各ステップについては、表 1-1 を参照してください。 図1-3 に示すように、ProcessPO ワークフローは SendPO ワークフローから呼び出されます。ProcessPO ワークフローを呼び出してその応答 XML を非同期に取得する手段として、Process PO Web サービスがデプロイされています。これにより、Process PO Web サービスが ProcessPO ワークフローを呼び出してその結果を受け取る際、SendPO ワークフローは実質的に Process PO Web サービスのクライアントとして動作することができます。これを可能にするには、SendPO ワークフローを実行する WebLogic Integration インスタンスから、HTTP 経由で Process PO Web サービスにアクセスできることが必要です。 Send PO Web サービスは、Process PO Web サービスの呼び出しと結果の受信に関する詳細を処理します。Send PO Web サービスは、結果の XML を受け取ると、それを SendPO ワークフローに伝達します。SendPO ワークフローと ProcessPO ワークフローは、HTTP 経由で非同期に XML ドキュメントを相互に送信する手段として、Web サービス Send PO および Process PO を使用します。 表1-1 SOAP over HTTP サンプルで実行されるシナリオのステップ
図1-4 ワークフローと Workshop の対話 − XML
注意: 各ステップについては、表 1-2 を参照してください。 図1-4 に示すように、ProcessPO ワークフローは SendPO ワークフローから呼び出されます。ProcessPO ワークフローを呼び出し、その応答 XML を非同期に取得するための手段として、Process PO Web サービスがデプロイされています。これにより、Process PO Web サービスが ProcessPO ワークフローを呼び出してその結果を受け取る際、SendPO ワークフローは実質的に Process PO Web サービスのクライアントとして動作することができます。これを可能にするには、SendPO ワークフローを実行する WebLogic Integration インスタンスから、HTTP 経由で Process PO Web サービスにアクセスできることが必要です。 Send PO Web サービスは、Process PO Web サービスの呼び出しと結果の受信に関する詳細を処理します。Send PO Web サービスは、結果の XML を受け取ると、それを SendPO ワークフローに伝達します。SendPO ワークフローと ProcessPO ワークフローは、HTTP 経由で非同期に XML ドキュメントを相互に送信する手段として、Web サービス Send PO および Process PO を使用します。 表1-2 XML over HTTP サンプルで実行されるシナリオのステップ
WebLogic Integration のインスタンスが 1 つである理由 サンプルは WebLogic Integration の 1 つのインスタンスで実行されます。実際には、2 つのインスタンスが HTTP 経由で相互に接続できることを条件に、SendPO ワークフローと Send PO Web サービスを 1 つのインスタンスにデプロイし、Process PO Web サービスと ProcessPO ワークフローを別のインスタンスにデプロイできます。 サンプルのステップを一度に 1 つずつ実行できるように、サンプル実行中は WebLogic Integration Swing Worklist クライアントを使用して、設定された間隔の 2 回に 1 回ユーザからの入力が取得されます。Worklist との対話が果たす機能は、ユーザが一度に 1 つのセクションの実行を見ることができるように、サンプルの実行をセクションに分割することだけです。
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |