ヘッダーをスキップ
Oracle Application Server Adapters for IMS/DBユーザーズ・ガイド
10g リリース3(10.1.3.4)
B53275-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

4 OracleAS Adapters for IMS/DBとOracle BPEL Process Managerの統合

OracleAS Adapters for IMS/DBをデプロイし、Oracle BPEL Process Managerと統合するには、BPEL Process Managerを構成する必要があります。

この項の構成は、次のとおりです。

OracleAS Adapters for IMS/DBとOracle BPEL Process Managerの統合

Oracle BPEL Process Managerは、BPELビジネス・プロセスを作成、デプロイおよび管理するための包括的なソリューションを提供します。Oracle BPEL Process Managerは、サービス指向アーキテクチャ(SOA)に基づいて、企業に対してWebサービスおよびビジネス・プロセスの柔軟性、相互運用性、再利用性、拡張性および迅速な実装性を提供します。Oracle BPEL Process Managerによって、既存のビジネス・プロセスを管理、変更、拡張および再デプロイする全体的なコストが削減されます。各ビジネス・アクティビティは、自己完結型で自己記述的なモジュラ・アプリケーションです。そのインタフェースはWSDLで定義され、そのビジネス・プロセスはWebサービスとしてモデル化されます。

Webサービスは、まず先に公開され、その後ビジネス・フロー内に作成または編成されます。サービスの公開とは、1つの機能を既存のアプリケーション内またはシステム内に取り入れて標準的に使用できるようにすることです。一方、サービスの編成とは、複数のサービスを単一のエンドツーエンド・ビジネス・プロセス内に作成することです。OracleAS Adapter for IMS/DBの構成の一部として定義された相互作用は、パートナ・リンクとして編成に統合されます。すべてのパートナ・リンクは、Webサービスを記述したWSDLにリンクします。

OracleAS Adapter for IMS/DBをOracle BPEL Process Managerと統合するには、指定の順序に従って次のタスクを実行します。

  1. OracleAS Adapter for IMS/DBのインストールおよび構成

  2. OracleAS Adapter for IMS/DBとOC4Jの統合

  3. Oracle BPEL Process Managerの構成


関連項目:


『Oracle Application Server Adapter概要』

Oracle BPEL Process Managerの構成

この項の構成は、次のとおりです。

Oracle Connectサーバーへの接続の設定

次の手順を実行して、Oracle Connectサーバーへの接続を設定します。

  1. 「Oracle BPEL Admin」ウィンドウを開きます。

  2. 「サーバー」タブの「構成」タブで、次のように指定します。

    • LegacyServer: Oracle ConnectがインストールされているサーバーのIPアドレス。単一のサーバーの場合、デフォルトはlocalhostです。

    • LegacyPort: Oracle Connectがインストールされているサーバーのポート番号。単一のポートの場合、デフォルトは2551です。

  3. Oracle BPEL Process Managerで使用するOracle Connectサーバーごとに、前述の手順を繰り返します。各サーバーとポートはカンマで区切って指定します。

  4. 「適用」をクリックします。

  5. Oracle BPEL Process Managerがインストールされているサーバーを再起動します。

Oracle JDeveloperを使用したメタデータの可用性チェック

次の手順を実行して、Oracle ConnectサーバーのメタデータがOracle BPEL Process Managerで使用できることを確認します。

  1. Oracle JDeveloperを開きます。

  2. 「接続」タブで、「統合サーバー」ノードを開き、OC4Jサーバー・リストを表示します。

  3. JCA 1.5 IMS/DBアダプタを構成したOC4Jサーバーのノードを開きます(「OracleAS Adapter for IMS/DBとOC4Jの統合」を参照)。

  4. 「アダプタ」ノードの下にある「レガシー」ノードを開いて、「Oracle BPEL Admin」ウィンドウを使用して定義したOracle Connectサーバーのリストを表示します。

  5. チェックするメタデータのあるOracle Connectサーバーのノード下でデーモンのノード(IRPCDINI)を開き、ワークスペース・リストを表示します。

  6. 操作対象のアダプタが含まれているワークスペースのノード下にある関連アダプタのノードを開き、相互作用リストを表示します。

  7. 相互作用をダブルクリックしてWSDLを表示します。

アウトバウンド・アプリケーションに対するWSDLの構成

アウトバウンド・アプリケーションを作成すると、Oracle BPEL Process Managerにより、相互作用に対応するWSDLが自動的に作成されます。WSDLでは、アダプタのコネクション・ファクトリの名前が、<service>セクションの<jca:address>要素のadapterInstanceJndi属性の値として指定されます。この名前は自動的に生成されます。この名前のコネクション・ファクトリがOC4Jサーバー上にあることを確認する必要があります。この名前のコネクション・ファクトリがOC4Jサーバーにない場合は、作成するか、コネクション・ファクトリの名前を既存のコネクション・ファクトリの名前に変更する必要があります。

アウトバウンド・アプリケーションに対するWSDLサンプル・コードを次に示します。

<?xml version = '1.0' encoding = 'UTF-8'?>
<definitions name="findAccount" targetNamespace="http://xmlns.oracle.com/pcbpel/findIMSAccount/findAccount" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:legacyReq="noNamespace://findIMSAccount" xmlns:tns="http://xmlns.oracle.com/pcbpel/findIMSAccount/findAccount" xmlns:plt="http://schemas.xmlsoap.org/ws/2003/05/partner-link/" xmlns:jca="http://xmlns.oracle.com/pcbpel/wsdl/jca/" xmlns:pc="http://xmlns.oracle.com/pcbpel/" xmlns:legacyRes="noNamespace://findIMSAccount">
   <types>
       <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="noNamespace://findIMSAccount" targetNamespace="noNamespace://findIMSAccount" elementFormDefault="qualified" attributeFormDefault="unqualified">
           <xsd:element name="CA_INPUT" type="CA_INPUT"/>
           <xsd:complexType name="CA_INPUT">
               <xsd:attribute name="CA_EYE_CATCH">
                   <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                           <xsd:maxLength value="8"/>
                       </xsd:restriction>
                   </xsd:simpleType>
               </xsd:attribute>
               <xsd:attribute name="CA_ACCT_I_NUM" type="xsd:int"/>
           </xsd:complexType>
       </xsd:schema>
       <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="noNamespace://findIMSAccount" targetNamespace="noNamespace://findIMSAccount" elementFormDefault="qualified" attributeFormDefault="unqualified">
           <xsd:element name="CA_OUTPUT" type="CA_OUTPUT"/>
           <xsd:complexType name="CA_OUTPUT">
               <xsd:sequence>
                   <xsd:element minOccurs="0" maxOccurs="1" name="CA_ACCT_DATA" type="CA_OUTPUT__CA_ACCT_DATA"/>
               </xsd:sequence>
               <xsd:attribute name="CA_RET_CODE" type="xsd:int"/>
           </xsd:complexType>
           <xsd:element name="CA_OUTPUT__CA_ACCT_DATA" type="CA_OUTPUT__CA_ACCT_DATA"/>
           <xsd:complexType name="CA_OUTPUT__CA_ACCT_DATA">
               <xsd:sequence>
                   <xsd:element minOccurs="0" maxOccurs="1" name="CA_CUST_INFO" type="CA_OUTPUT__CA_ACCT_DATA__CA_CUST_INFO"/>
                   <xsd:element minOccurs="0" maxOccurs="10" name="CA_TRAN_HIST" type="CA_OUTPUT__CA_ACCT_DATA__CA_TRAN_HIST"/>
               </xsd:sequence>
               <xsd:attribute name="CA_ACCT_NUM" type="xsd:int"/>
               <xsd:attribute name="CA_ACCT_BAL" type="xsd:int"/>
           </xsd:complexType>
           <xsd:element name="CA_OUTPUT__CA_ACCT_DATA__CA_TRAN_HIST"
type="CA_OUTPUT__CA_ACCT_DATA__CA_TRAN_HIST"/>
           <xsd:complexType name="CA_OUTPUT__CA_ACCT_DATA__CA_TRAN_HIST">
               <xsd:attribute name="CA_TRAN_YYYYMMDD">
                   <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                           <xsd:maxLength value="8"/>
                       </xsd:restriction>
                   </xsd:simpleType>
               </xsd:attribute>
               <xsd:attribute name="CA_TRAN_AMT" type="xsd:int"/>
               <xsd:attribute name="CA_TRAN_REF" type="xsd:int"/>
               <xsd:attribute name="CA_TRAN_TYPE" type="xsd:int"/>
           </xsd:complexType>
           <xsd:element name="CA_OUTPUT__CA_ACCT_DATA__CA_CUST_INFO"
type="CA_OUTPUT__CA_ACCT_DATA__CA_CUST_INFO"/>
           <xsd:complexType name="CA_OUTPUT__CA_ACCT_DATA__CA_CUST_INFO">
               <xsd:sequence>
                   <xsd:element minOccurs="0" maxOccurs="4" name="CA_CUST_PHONE">
                       <xsd:simpleType>
                           <xsd:restriction base="xsd:string">
                               <xsd:maxLength value="14"/>
                           </xsd:restriction>
                       </xsd:simpleType>
                   </xsd:element>
               </xsd:sequence>
               <xsd:attribute name="CA_CUST_NAME_F">
                   <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                           <xsd:maxLength value="10"/>
                       </xsd:restriction>
                   </xsd:simpleType>
               </xsd:attribute>
               <xsd:attribute name="CA_CUST_NAME_M">
                   <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                           <xsd:maxLength value="1"/>
                       </xsd:restriction>
                   </xsd:simpleType>
               </xsd:attribute>
               <xsd:attribute name="CA_CUST_NAME_L">
                   <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                           <xsd:maxLength value="10"/>
                       </xsd:restriction>
                   </xsd:simpleType>
               </xsd:attribute>
               <xsd:attribute name="CA_CUST_SOC_SEC">
                   <xsd:simpleType>
                       <xsd:restriction base="xsd:string">
                           <xsd:maxLength value="11"/>
                       </xsd:restriction>
                   </xsd:simpleType>
               </xsd:attribute>
           </xsd:complexType>
       </xsd:schema>
   </types>
   <message name="request">
       <part name="input_findAccount" element="legacyReq:CA_INPUT"/>
   </message>
   <message name="response">
       <part name="output_findAccount" element="legacyReq:CA_OUTPUT"/>
   </message>
   <portType name="findAccountPortType">
       <operation name="findAccount">
           <input name="Input_findAccount" message="tns:request"/>
           <output name="Output_findAccount" message="tns:response"/>
       </operation>
   </portType>
   <binding name="findAccountJCABinding" type="tns:findAccountPortType">
       <jca:binding XMLRecordConverterCallout="oracle.tip.adapter.fw.record.oracle.AttuXMLRecordConverterImpl"/>
       <operation name="findAccount">
           <jca:operation FunctionName="findAccount"
InteractionSpec="com.oracle.adapter.AttuInteractionSpec" ExecutionTimeout="120"/>
           <input/>
           <output/>
       </operation>
   </binding>
   <service name="findAccountService">
       <port name="findAccountPort" binding="tns:findAccountJCABinding">
           <jca:address adapterInstanceJndi="eis/legacy/findIMSAccount"/>
       </port>
   </service>
   <plt:partnerLinkType name="findAccountPartnerLinkType">
       <plt:role name="findAccountRole">
           <plt:portType name="tns:findAccountPortType"/>
       </plt:role>
   </plt:partnerLinkType>
/definitions>