ALE Module は Java で記述されており、Vision コネクター・フレームワークを拡張します。このモジュールは、以下のものから構成されます。
ALE Module と RFC Server コネクター・コンポーネントは、どちらも SAP アプリケーションからの 直接の RFC 呼び出しをサポートし、イベント処理の方法が類似していることから、ALE Module では RFC Server コネクター・コンポーネントを使用しています。
SAP では、Java および C で記述された RFC ライブラリーを提供しています。コネクターは、JAR ファイルとして提供され、実行されます。
図 50 に、ALE Module のアーキ テクチャーを示します。
SAP からのイベントを処理する場合、コネクターは 図 50 に示したコンポーネントを次のように 使用します。
イベントとは、データをリスナーに転送する ABAP 機能を実行することです。SAP によって送信されるイベント・データは、1 つ以上のそのような異種の実行を表す場合があります。
SAP からの各イベントは、トランザクションと見なされます。コネクターは、各イベントを処理するために、Transaction ID (TID) を利用した 2 ステップのプロセスを使い、データが SAP からコネクターに 1 回に限ってデリバリーされることを保証します。
より効果的な処理パフォーマンスのために、コネクターは大きな IDoc をそれより小さいパーツに分割します。それぞれのパーツは JMS-MQ メッセージとして、より小さいビジネス・オブジェクトに変換されます。これらのメッセージはそれぞれ、MultiPartMessage プロパティーを持っており、このプロパティーによって、そのメッセージがそれより大きなメッセージの対応するパーツであることが識別されます。例えば、元の大きな IDoc を 8 つの JMS-MQ メッセージに分割するとすれば、メッセージごとの各パーツの MultiPartMessage プロパティーの値は 1/8、2/8 などとなります。すべてのメッセージ・パーツを相互に関連付けるため、コネクターは、最初のメッセージ以外の各メッセージ・パーツの CorrelationID ヘッダー・プロパティーを最初のパーツの JMSMessageID プロパティーの値に設定します。さらに、最初のパーツの CorrelationID プロパティーを、必ず元の大きな IDoc に対応付けられている最初の JMS-MQ メッセージの CorrelationID プロパティーの値に設定します。JMS-MQ メッセージ・プロパティーの詳細については、表 19 を参照してください。
統合ブローカーからの要求を処理する場合、コネクターは 図 50 に示したコンポーネントを次のように使用します。
リスナー・スレッドは、以下の動作を行います。
スレッドは、それがサポートする ALE 固有機能からのイベントを、同期的な方法で連続的に listen します。
SAP は、トランザクションとそれに対応する ID を使用してイベントを作成し、個々のデータが 1 回に限って SAP からデリバリーされることを保証します。SAP は、イベント・データとともに Transaction ID (TID) を送信します。イベント処理と要求処理に対する TID を集中管理するために、コネクターは各 TID を JMS-MQ メッセージとして WebSphere MQ キューに格納します。イベントを処理する場合、コネクターは関連する IDoc データをメッセージ・ボディとしても格納します。コネクターは、TID、TID 状況、および IDoc の処理状況をメッセージ・ヘッダーに格納します。
ALE 固有ビジネス・オブジェクト・ハンドラーは、イベント処理用と、要求処理用の 2 種類が提供されています。
リスナー・スレッドは、以下を行うイベント処理ビジネス・オブジェクト・ハンドラーのインスタンスを生成します。
Vision コネクター・フレームワークは ALE 要求処理ビジネス・オブジェクト・ハンドラーをインスタンス化します。このハンドラーは、SAP 用の WebSphere ビジネス・オブジェクトにある TransactionId 属性の値をチェックします。この値が存在する場合は、以下のステップを続行します。
SAP 用 WebSphere ビジネス・オブジェクトはそれぞれの IDoc を、制御レコード・ビジネス・オブジェクトとデータ・レコード・ビジネス・オブジェクトという 2 つの子ビジネス・オブジェクトを含む親ラッパー・ビジネス・オブジェクトとして表します。制御レコード・ビジネス・オブジェクトには、コネクターがビジネス・オブジェクトを処理するために必要とするメタデータが含まれています。データ・レコード・ビジネス・オブジェクトには、SAP アプリケーションによって処理される実際のビジネス・オブジェクト・データと、コネクターがそれを RFC 呼び出し用の IDoc 構造体に変換するために必要なメタデータが含まれています。
コネクターには、制御レコード用のビジネス・オブジェクト定義が含まれています。定義ファイル sap_idoccontrol.xsd は、¥repository¥SAP ディレクトリーに配置されます。
制御レコード・ビジネス・オブジェクトの TABNAM 属性は、以下のように、親ラッパー・ビジネス・オブジェクトがどの SAP 機能モジュールを呼び出すかを示します。
さらに、SAP が ALE のオブジェクトを正しく処理するためには、以下の属性に値を設定する必要があります。これらの値は ALE 構成に基づいて設定します。
両方のビジネス・オブジェクトの DOCNUM 属性は、データ・レコード・ビジネス・オブジェクトと制御レコード・ビジネス・オブジェクトとの関係を確立します。
サービス呼び出し要求を処理する場合には、ALE Module は単一のビジネス・オブジェクト内の複数の IDoc を処理できます。ただし、この処理を行えるようにするには、2 つ以上の親ラッパー・ビジネス・オブジェクトに対して別の複数 IDoc ラッパー・ビジネス・オブジェクトを追加する必要があります。このトップレベルの複数 IDoc ラッパー・ビジネス・オブジェクトには、親ラッパー・ビジネス・オブジェクトの配列を表す属性が含まれています。 詳細については、親ラッパー・ビジネス・オブジェクトを参照してください。
コネクターには、ビジネス・オブジェクトの生成ツールである SAPODA が組み込まれています。このツールは、IDoc 定義テキスト・ファイルを使用して ALE Module 用のビジネス・オブジェクト定義を生成します。ALE Module 用のビジネス・オブジェクトの開発 の詳細については、ALE Module のビジネス・オブジェクトの開発およびSAPODA を使用したビジネス・オブジェクト定義の生成を参照してください。