RFC Server Module は、SAP アプリケーションからの直接の RFC 呼び出しをサポートする、Java で記述されたコネクター・モジュールです。これは、VisionConnectorAgent クラスを実装することで、Vision コネクター・フレームワークを拡張します。RFC Server Module は、Java および C で記述された SAP RFC ライブラリーを使用します。これにより、外部プログラムは SAP アプリケーションと通信できます。
図 25 に、RFC Server Module の全体的なアーキテクチャーを示します。RFC Server Module は、コネクター・フレームワーク、RFC Server に対応するコネクターのアプリケーション固有のコンポーネント、 RFC Server 固有ビジネス・オブジェクト・ハンドラー、リスナー・スレッド、および SAP RFC ライブラリーから構成されています。
図 25. RFC Server Module のアーキテクチャー
RFC Server Module のコンポーネントは、以下の動作を実行します。
リスナー・スレッドは、RFC Server Module と SAP アプリケーションとの間のすべての RFC 呼び出しを処理します。コネクターが始動すると、init() メソッドにより、構成可能な数のリスナー・スレッドを作成するメイン・スレッドが作成されます。各リスナー・スレッドは、SAP Gateway へのハンドルを開きます。
リスナー・スレッドは、以下の動作を実行します。
RFC Server 固有ビジネス・オブジェクト・ハンドラーは、SAP アプリケーション内の各 RFC 対応機能に固有です。各ビジネス・オブジェクト・ハンドラーは、リスナー・スレッドによってインスタンス化され、関連するビジネス・オブジェクトを呼び出します。
RFC Server Module は、SAP アプリケーションに対するサーバーとして動作するため、イベントを SAP アプリケーションから統合ブローカーに「プッシュ」(送信) します。この動作は、アプリケーションに対するイベント・ポーリングを実行するほかのモジュールとは大きく異なります。この違いがあるため、RFC Server 固有ビジネス・オブジェクト・ハンドラーが実行するタスクは、ほかのビジネス・オブジェクト・ハンドラーが実行するタスクとは異なります。
インスタンス化された RFC Server 固有ビジネス・オブジェクト・ハンドラーは、以下の動作を実行します。
ビジネス・オブジェクト・ハンドラーは、ビジネス・オブジェクトの Server 動詞のアプリケーション固有情報を使用して、どのコラボレーションがビジネス・オブジェクト・データを処理するかを決定します。