WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

シナリオ 1: 単一フローでのビジネス・パートナーと関係の処理

単一のメッセージ・フローで処理する場合、SAPRequest ノードの「トランザクション・モード」プロパティーを適切に設定する必要があります。

このシナリオは、SAP BAPI トランザクション・コミットで説明している、コンセプトを示す 2 つの例の 1 つです。あわせてシナリオ 2: 2 つのフローを使った命令作成および照会申込の処理も参照してください。

このシナリオでは、メッセージ・フローを使用して、ビジネス・パートナーと、既存のパートナーとの新しい関係を作成します。次の 2 つの BAPI 呼び出しを使用します。
BAPI_BUPA_CREATE_FROM_DATA
BAPI_BUPR_RELATIONSHIP_CREATE
このメッセージ・フローは 2 つの SAPRequest ノードで構成されます。両方のノードの「トランザクション・モード」プロパティーを「はい」に設定するため、コミットまたは例外の発生時にロールバックできます。 「トランザクション・モード」プロパティーを「はい」に設定すると、アダプターが SAP に命令をコミットするように要求した場合に、メッセージ・フローの最終的なコミットがフローの最後に実施されます。
メッセージ・フローの SAPRequest ノードが SAP サーバーとどのように対話するかを示す図。 この図について、以下のステップで説明します。
  1. アプリケーションが、ビジネス・パートナーを作成するトランザクション・フローを起動します。
  2. SAPRequest ノードが BUPA の作成をサブミットし、ビジネス・パートナー番号が返されます。 メッセージ・フロー・レベルのトランザクションにノードが関係するため、メッセージ・フローが完了したときにコミットが実行されます。
  3. 2 番目の SAPRequest ノードが、既存のビジネス・パートナーと新しいビジネス・パートナーとの関係を作成しようとします。ところが、SAP は、新しいビジネス・パートナーの作成をデータベースにまだコミットしていません。

    両方の BAPI に対して同じアダプターを使用すると、両方のノードが同じ論理作業単位に参加する必要があるため、アダプターは SAP への単一接続を確立します。 単一接続は、フローのトランザクション処理がまだコミットを開始していない場合でも、関係の更新呼び出し (図の 3) に対して BUPA 作成が可視であることを意味します。

    「トランザクション・モード」プロパティーが、BUPA を作成する呼び出しでは「はい」に設定されているが、関係を作成する呼び出しでは「いいえ」に設定されている場合、アダプターは SAP に対して 2 つの異なる接続を使用する必要があります。つまり、接続のトランザクションのプロパティーが異なっているということです。 したがって、関係を作成する呼び出しは失敗します。なぜなら、メッセージ・フローおよびトランザクションのコミットが完了するまで、新しいビジネス・パートナーが可視にならないからです。

  4. MQOutput ノードは MQ メッセージを出力キューに入れ、トランザクションのコミットを保留します。
  5. メッセージ・フローが完了し、ブローカーはフローに関係するすべてのリソース (SAP を含む) のコミットを開始します (図の 5)。 SAP で更新がコミットされます。

このシナリオは、メッセージ・フローのトランザクション制御を使用する、ブローカーの機能を示しています。この機能により、外部の SAP システムが処理を非同期でコミットしている場合であっても、必要な情報を SAPRequest ノードに提供し、関係する処理が実行されます。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:46:12


概念トピック概念トピック | バージョン 8.0.0.5 | ac66400_