使用する
ALEは、分散アプリケーションの構成と操作をサポートします。これにより、一貫したデータ保持を備えた分散アプリケーション間でのビジネスメッセージの制御された交換が可能になります。分散システム間の結合は、狭くても緩くてもかまいません。
アプリケーションは、中央データベースではなくローカルデータベースを使用して統合されます。代わりに、アプリケーションはローカルデータベースにアクセスします。データ保持はありません。ALEは、マスターデータの配信と同期、非同期通信によるデータとトランザクションデータのカスタマイズを保証します。ALEでは、データの読み取りのみに同期通信が使用されます。
ALEには多くの利点があります。
-
アプリケーションデータは、SAPシステムの異なるリリース間で分散できます
-
特別なメンテナンスを必要とせずに、リリースのアップグレード後もデータを交換し続けることができます
-
お客様は独自の拡張機能を追加できます
-
通信インターフェースにより、SAP以外のシステムへの接続が可能になります。
ALEは、分散アプリケーションシステム間の通信にさまざまなサービスとツールを提供します。
-
分散モデルを維持するためのオプション
-
整合性チェック
-
データ送信の監視
-
エラー処理
-
同期ツール
-
新しいALEビジネスプロセスを定義するためのツール
統合
カップリングの種類
上記のように、分散アプリケーションシステム間の結合は緩い場合も狭い場合もあります。緩い結合は非同期通信で実装され、書き込みアクセスに使用されます。対照的に、ナローカップリングは同期呼び出しで実装され、データの読み取りにのみ使用する必要があります。
両方のタイプの結合は、BAPIを呼び出すことによって実装できます。
緩い結合
分散環境では、システムが緩く結合され、互いに独立していることが特に重要です。呼び出されたシステムがダウンした場合、または通信エラーが発生した場合、呼び出し側システムは正常に動作し続けることができます。緩い結合が不可欠な例は、在庫管理です。在庫管理コンポーネントが会計コンポーネントと結合されている場合、会計コンポーネントが使用できない場合は、在庫移動も転記できる必要があります。
緩い結合とは、ほとんどの場合、個々のシステムが互いに非同期で通信することを意味します。このタイプの通信では、メッセージはシステム間で交換されます。これらのメッセージに使用されるデータ形式は、中間文書(IDoc)と呼ばれます。IDocは、データを階層的に格納できる構造化されたデータコンテナです。IDocの詳細については、 IDocインタフェース/ALEのドキュメント「ALEの概要と管理」を参照してください。
IDocの送信には、さまざまな通信技術を使用できます。
-
2つのSAPシステム間の非同期通信の場合、基盤となる通信テクノロジーはトランザクションリモートファンクションコール(tRFC)です。トランザクション呼び出しはすぐには実行されません。代わりに、送信するデータは最初にデータベーステーブルに書き込まれます。呼び出し側プログラムでCOMMITWORKがトリガーされると、受信側システムへのリモート呼び出しが実行されます。受信側システムが現在使用できない場合、定期的にスケジュールされたバックグラウンドプロセスが、後で受信側システムにデータを再度送信しようとします。tRFCは、データが1回だけ転送されることを保証します。
-
SAPシステムと非SAPシステムの間で非同期通信を確立する場合は、CPI / C、MPSeries、またはその他の通信技術を使用してIDocを送信することもできます。
IDocの処理中にエラーが発生した場合、無効なIDocが保存され、ALE管理者がエラーを修正できるワークフローが生成されます。これらのALEエラー処理ルーチンは、データが一貫して更新されることを保証します。その結果、他のシステムでのデータの複製、更新、および挿入は、常に非同期で実行する必要があります。ALEを介した非同期通信の欠点は、呼び出されたシステムからの単一の戻りパラメーターしか使用できないことです。
BAPIを介した非同期通信中に、呼び出し側システム(クライアント)は(BAPI呼び出し自体ではなく)BAPI呼び出しからのデータを使用してIDocを生成し、それを呼び出されたシステム(サーバー)に送信します。次に、呼び出されたシステムでこのIDocからのデータを使用してBAPIが呼び出されます。詳細については、「 BAPIを介した緩い結合の実装」を参照してください。
狭いカップリング
緩い結合とは対照的に、狭い結合では、呼び出されたシステムが使用可能である必要があります。狭結合は、通常、リモート対応の汎用モジュールの同期呼び出しを使用して実装されます。非同期通信とは対照的に、汎用モジュールのエクスポートパラメータを評価することができます。同期呼び出しは、他のシステムのデータを検証または読み取るのに適しています。ALEは、リリース4.0以降の同期BAPI呼び出しをサポートします。同期ダイアログ呼び出しは、リリース4.5A以降でサポートされています。この場合、BAPI汎用モジュールの呼び出し元は、他のシステムに自動的にログオンします(「宛先」へのリモートログイン)。ユーザーは同じウィンドウにトランザクションを表示し、メニューなどを使用して呼び出されたシステム内を移動できます。
詳細については、「 BAPIを介したナローカップリングの実装」を参照してください。
ALE配布モデルの使用
ALE分散モデルは、論理システム間のメッセージフローを記述します。分散モデルは、システム間で交換されるメッセージと、呼び出されるBAPI(リリース4.0以降)を定義します。
フィルタリング
送信は、データ固有にフィルターを介して制御できます。フィルタは、メッセージタイプとBAPIが、ALEアウトバウンド処理によって配信できるようにするために満たす必要のある条件を表します。
BAPIの次のタイプのフィルターを区別できます。
-
レシーバーフィルタリング
レシーバーフィルタを使用して、BAPI間またはBAPIとメッセージタイプ間で許可される受信者に影響を与える依存関係を定義できます。受信者フィルタリングの詳細については、ALEプログラミングガイドのBAPIの受信者の決定を参照してください。
-
データフィルタリング
データフィルタリングは、インターフェイスリダクションとパラメータフィルタリングの2つのフィルタサービスを提供します。
-
インターフェイスリダクションにより、BAPIインターフェイスによるフィールド抑制が可能になります。これは、これらのフィールドが受信側によって無視されることを意味します。これは、たとえば、特定のフィールドが上書きされないようにするために使用できます。
-
パラメータフィルタリングを使用すると、定義された条件を満たすことができないBAPIテーブルパラメータを除外することにより、BAPIで送信するデータセットのスコープを制御できます。BAPIの2つのテーブルパラメータ間に階層的な依存関係が存在する場合は、追加のパラメータ階層を定義する必要があります。詳細については、ALEプログラミングガイドのBAPIパラメータ間の階層の定義を参照してください。
データフィルタリングの詳細については、ALEプログラミングガイドの「データのフィルタリング」を参照してください。
-
受信者の決定とパラメーターのフィルタリングを実行するには、分布モデルを維持する前にフィルターオブジェクトを作成する必要があります。フィルタオブジェクトは、フィルタオブジェクトタイプとオブジェクト値で構成されます。BAPIのフィルターオブジェクトタイプは、BAPI呼び出し中のパラメーター名に対応します。パラメータが必要なオブジェクト値に設定されているかどうかをチェックします。BAPIは、この場合にのみ配布されます。
対照的に、インターフェースの削減にはフィルターオブジェクトは必要ありません。ただし、インターフェイスがこのタイプのフィルタリングを明示的にサポートしている特定のタイプのBAPIにのみ使用できます。
分布モデルの維持
ALE分散モデルは、同期の場合と非同期の場合の両方で、リモートコールのターゲットシステムを決定するために使用されます。
の更新を介して導入ガイドでアクセスできます。必要なフィルタオブジェクトタイプを作成するには、最初にパス
を選択します。次に、パスを使用してデータフィルタリング用のフィルタオブジェクトタイプを作成します。 を更新するか、パスを使用してレシーバフィルタリング用のフィルタオブジェクトタイプを作成します。 。2つのシステム間の接続をテストする場合は、分散モデルを維持しながら次の設定を行う必要があります。
-
一意のクライアントIDと論理システムを決定します
-
通信パラメータの定義
-
送信システムでのパートナープロファイルの生成
-
顧客モデルを受信システムに配布します
-
受信システムでパートナー契約を生成します