エンタープライズ管理 > Windchill ESI の実装 > Oracle Applications 環境での Windchill ESI の実装 > Windchill ESI アーキテクチャについて > 複数の Oracle Applications インスタンスのサポート
  
複数の Oracle Applications インスタンスのサポート
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 インスタンスに関する情報によって決定されます。たとえば、Oracle Applications の場合、Oracle Applications インスタンスにパブリッシングするとき、この情報は、インスタンスと関連付けられた DSN (データソース名) で構成されます。キュー名は、以下の形式をとります。
<プリファレンスの値><DSN>
ERP インスタンスのこの情報 (この場合は DSN) は、Windchill に ESITarget オブジェクトとともに格納されている関連する配布ターゲットの属性から取得されます。その配布ターゲットからは、「タスク 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 の情報を付加して関連するキュー名を取得します。
ICU (Middleware Installation and Configuration Utility) の「Oracle Mfg. ERP プロパティ」ウィンドウに表示される「Oracle Manufacturing データソース DSN」{1}フィールドにユーザーが入力する値は、Windchill 内の対応する配布ターゲットオブジェクトの属性 DSN に指定された値に一致する必要があります。また、Windchill ESI「データレスポンスキュー名」プリファレンスが、上記のデフォルト以外の値の場合は、「ESI EMS キュー」ウィンドウの「ESI EMS データレスポンスのキュー名」フィールドの値を適切に変更する必要があります。
アーキテクチャ図で示すように、キュー名 com.ptc.windchill esi.DataResponse.ORAPTCPROD は、Windchill ESI プリファレンスのデフォルト値と、DSN 値 ORAPTCPROD が使用されています。
TIBCO EAR アプリケーション
MICU により、複数の ERP インスタンスのデフォルト状態の EAR アプリケーションを展開できます。それぞれの展開には、BW エンジンが実行するビジネスロジックおよび 2 つの ADB 6.3 アダプタアーカイブサービスが含まれます。アダプタアーカイブサービスの 1 つは、ログメッセージをプロセスアーカイブにパブリッシングするパブリッシングサービスを含み、他方は、各種のオブジェクトタイプに対する購読サービスを含むとともに、Oracle Applications への接続の確立を担当します。展開のプロセスアーカイブは、TIBCO グローバル変数 ESIJMS/DataResponseQueue に基づく名前を持つ EMS キューを購読します。このグローバル変数は、ユーザーが「Oracle Mfg. ERP プロパティ」ウィンドウで入力する関連のフィールドの値を使って MICU により提供されます。
プロセスアーカイブサービスは、アダプタアーカイブサービスと密接に連動します。たとえば、アーキテクチャ図で示すように、展開されたあるアプリケーション (たとえば Oracle_Apps-1) のプロセスアーカイブサービスは、同じアプリケーションのアダプタアーカイブサービスのみと通信できます。これは、プロセスエンジンからアダプタに渡される一意の件名を使用することにより実現されます。件名の形式を以下に示します。
%%Domain%%.%%Deployment%%.%%ESIOMAdapter/Datasource%%.<<ERP API Service Name>>
* 
上記の名前の中で、"%%" 記号で囲まれたものはすべて、グローバル変数名であり、その値は件名を生成する際に使用されます。件名を構成する各要素の意味を以下に示します。
ドメインは、TIBCO プロジェクト (リポジトリ) が保持されているドメイン名です。これは、プロジェクトが作成または展開される際に、TIBCO BusinessWorks によって自動的に設定されます。
公開は、プロジェクトの名前で、TIBCO BusinessWorks によって自動的に設定されます。
ESIOMAdapter/Datasource は、名前の中の必須要素であり、ODBC 経由で Oracle Applications データベースへの接続を作成する際にアダプタによって使用されます。
たとえば、展開されたアプリケーション "Oracle_Apps-1" を使用して ERP システムに部品を作成するために設定されたアダプタサービスは、以下の件名を使用します。
ESIPTCDomain.Oracle_Apps-1.PTC_BL_PROD.Item
上に示した例では、TIBCO Administrator のドメイン名として "ESIPTCDomain"、展開名として "Oracle_Apps-1"、グローバル変数 ESIOMAdapter/Datasource として "PTC_BL_PROD"、ERP API サービス名として "Item" が使われています。
* 
展開名 (たとえば "Oracle_Apps-1") は、TIBCO Administrator のドメイン全体で一意です。また、「アイテム」の値は、この API サービスがアイテムを処理するものであることを示します。
展開する各アプリケーションには、以下の ERP 接続パラメータが必要です。
ESIOMAdapter/DSN
ESIOMAdapter/UserName
ESIOMAdapter/Password