エンタープライズ管理 > Windchill ESI の実装 > SAP 環境での Windchill ESI の実装 > Windchill ESI アーキテクチャについて > 複数の SAP インスタンスのサポート
  
複数の SAP インスタンスのサポート
Windchill ESI は、複数の ERP インスタンスに属する配布ターゲットへのデータのパブリッシングをサポートします。ERP インスタンスごとに 1 つの Windchill ESI レスポンスメッセージを生成することにより、パブリッシングされたデータは、EAI ソフトウェアコンポーネントによって関連する配布ターゲットにルーティングされます。Windchill ESI サービスは、レスポンスメッセージを複数の TIBCO EMS キューに配置します。各レスポンスメッセージは、1 つの ERP インスタンスに対応します。同様に、TIBCO ミドルウェアに展開された複数の EAR アプリケーションは、データを関連する配布ターゲットにパブリッシングするためにこれらのメッセージを使用します。したがって、各アプリケーションは、一意の EMS キューを購読し、1 つの ERP インスタンスに接続するように設定されます。以下の図に、この要件の概要を示します。
Windchill ESI サービスおよび TIBCO EMS キュー
EMS キュー名は 2 つのパートで構成されます。最初のパートは、「データレスポンスキュー名」という名前の Windchill ESIプリファレンスの値によって決定されます。2 番目のパートは、ERP インスタンスに関する情報によって決定されます。SAP インスタンスにパブリッシングするとき、システム ID と関連付けされたクライアントの情報を入力する必要があります。キュー名は、以下の形式をとります。
<プリファレンスの値><システム ID><クライアント>
ERP インスタンスのこの情報 (この場合はシステム ID およびクライアント) は、Windchill の ESITarget オブジェクトに格納されている配布ターゲットの属性から取得されます。その配布ターゲットからは、「タスク URI (Uniform Resource Identifier)」という属性も取得されます。「タスク URI (Uniform Resource Identifier)」は、レスポンスメッセージを関連する EMS キューに配置するために Windchill ESI サービスが呼び出す I*E タスクの名前を保持しています。デフォルトでは、この属性の値は、com/ptc/windchill/esi/export/ExportToJMSQueue.xml です。これは、<Windchill>/tasks フォルダに対する相対パスです。
* 
デフォルトでは、Windchill ESI プリファレンス「データレスポンスキュー名」の値は、com.ptc.windchill.esi DataResponse に設定されています。ExportToJMSQueue.xml 内の I*E タスクは、この値に ERP の情報を付加して関連するキュー名を取得します。
MICU (Middleware Installation and Configuration Utility) の「SAPERP プロパティ」ウィンドウに表示される SAP システム ID および SAP クライアントフィールドにユーザーが入力する値は、Windchill 内の配布ターゲットオブジェクトに対応するシステム ID およびクライアント属性に指定された値に一致する必要があります。Windchill ESI プリファレンス 「データレスポンスキュー名」が、上記のデフォルト以外の値の場合は、ESI EMS Queues ウィンドウの「ESI EMS データレスポンスのキュー名」フィールドの値を適切に変更する必要があります。
アーキテクチャ図で示すように、キュー名 com.ptc.windchill.esi.DataResponse.PTC_BL_PROD.800 では、Windchill ESI プリファレンスのデフォルト値と、システム ID の値として PTC_BL_PROD、クライアントの値として 800 が使用されています。
TIBCO EAR アプリケーション
MICU により、複数の ERP インスタンスのデフォルト状態の EAR アプリケーションを展開できます。それぞれの展開には、BW エンジンが実行するビジネスロジックで構成されるプロセスアーカイブサービスと、BAPI/RFC 設定および SAP への接続で構成される SAP アダプタアーカイブサービスが含まれます。展開のプロセスアーカイブは、TIBCO グローバル変数 ESIJMS/DataResponseQueue に基づく名前を持つ EMS キューを購読します。このグローバル変数は、ユーザーが 「SAPERP プロパティ」ウィンドウで入力する関連のフィールドの値を使って MICU により提供されます。
プロセスアーカイブサービスは、アダプタアーカイブサービスと密接に連動します。これは、プロセスエンジンからアダプタに渡される一意の件名を使用することにより実現されます。件名の形式を以下に示します。
%%Domain%%.%%Deployment%%.%%ESISAPAdapter/SystemID%%%%ESISAPAdapter/
Client%%.%%ESISAPAdapter/Locale%%.<<ERP API Service Name>>
* 
上記の名前の中で、"%%" 記号で囲まれたものはすべて、グローバル変数名です。このグローバル変数の値は、件名を生成するために使用されます。件名を構成する各要素の意味を以下に示します。
ドメインは、TIBCO プロジェクト (リポジトリ) が保持されているドメイン名です。これは、プロジェクトが作成または展開される際に、TIBCO BusinessWorks によって自動的に設定されます。
公開は、プロジェクトの名前で、TIBCO BusinessWorks によって自動的に設定されます。
ESISAPAdapter/SystemID は、オプションの要素です。デフォルトでは空の値です。
ESIOMAdapter/Client は、必須の要素です。SAP システムとの接続を確立するために使用されます。
ESISAPAdapter/Locale は、必須の要素です。相互参照を使用してメッセージコードからメッセージテキストを取得するために使用されます。
たとえば、ロケールが "英語 (米国)" で展開されたアプリケーション "SAP-1" を使用して ERP システムに部品を作成するために設定されたアダプタサービスは、以下の件名を使用します。
ESIPTCDomain.SAP-1.800.en_US.BAPI_MATERIAL_SAVEREPLICAServer
上に示した例では、TIBCO Administrator のドメイン名として "ESIPTCDomain"、展開名として "SAP-1"、グローバル変数 ESISAPAdapter/SystemID、ESISAPAdapter/Client、ESISAPAdapter/Locale としてそれぞれ、空の値、"800"、"en_US"、そして ERP API サービス名として BAPI_MATERIAL_SAVEREPLICAServer が使用されています。
展開名 (たとえば "SAP-1") は、TIBCO Administrator のドメイン全体で一意です。展開する各アプリケーションには、以下の ERP 接続パラメータが必要です。
ESISAPAdapter/ApplicationServer
ESISAPAdapter/SystemNumber
ESISAPAdapter/Client
ESISAPAdapter/UserName
ESISAPAdapter/Password
MICU は「SAP System ID」の入力を促しますが、入力された値は、EMS キューを適切な名前で作成する用途でのみ使用されます。SAP システムとの接続確立には使用されません。