5 カスタム・アダプタのOracle JDeveloperでの使用可能化

Oracle JDeveloperで使用できる開発されるカスタム・アダプタの作成方法について学びます。

Oracle SOA Suiteのインストール時に、現在のリリースでは、カスタム・アダプタは、デフォルトで使用可能にはなっていません。カスタム・アダプタをJDeveloperで使用可能にする手順は次のとおりです。

  1. \soa\plugins\jdeveloper\extensions\oracle.sca.ui.adapters.jarに移動します。
  2. META-INF/extension.xmlファイルを開いてカスタム・アダプタを探します。
  3. エントリを非コメント化して、extension.xml oracle.sca.ui.adapters.jarに保存します。
  4. -cleanオプションを使用して、JDeveloperを再起動します。
    そうすると、次のスクリーンショットのように、JDeveloperのSOAダイアグラムの「コンポーネント・パレット」にカスタム・アダプタが表示されます。

    図5-1 JDEVの「コンポーネント・パレット」リストに表示されたカスタムJCAアダプタ

    図5-1の説明が続きます
    「図5-1 JDEVの「コンポーネント・パレット」リストに表示されたカスタムJCAアダプタ」の説明

<Oracle Middleware Home>/soa/integration/seed/soa/configuration/customAdapter-config.xmlファイルには、詳細なオプション(connection-factory location、interaction-spec className、activation-spec className、プロパティなど)が含まれています。

ファイルのactivation-specの下に指定されるプロパティは、インバウンド・アダプタ用のプロパティです。

同様に、ファイルのinteraction-specの下に指定されるプロパティは、アウトバウンド・アダプタ用のプロパティです。

プロパティの値はカスタム・アダプタによって表示されたデフォルト値です。

ユーザーは、カスタム・アダプタで必要なオプションに適合するように、customAdapter-config.xml のコンテンツを変更する必要があります。たとえば、ユーザーは、すべてのプロパティ名やデフォルト値の変更、新しいプロパティの追加、複数のアクティブ化仕様と相互作用仕様の追加などを行うことができます。

displayResourceKeyおよびresourceBundle属性はオプションです。activation-spec、interaction-spec、またはproperty要素にdisplayResourceKeyが含まれている場合、属性値はリソース・バンドルから表示可能なテキストを取得するキーとして使用されます。

リソース・バンドルが使用できない場合やバンドルにキーがない場合は、キー自体が表示可能なテキストとして使用されます(キーにリソース・バンドルを含める必要がないため)。

ただし、resourceBundle属性をconnection-factory要素に配置することによって、リソース・バンドルを使用できます。

スクリーンショットで使用されているサンプルのcustomAdapter-config.xmlファイルのコンテンツは、次のとおりです。

<adapter-config
   xmlns="http://platform.integration.oracle/blocks/adapter/fw/metadata">
   <connection-factory location="eis/Custom/CustomAdapter"
      resourceBundle="oracle.tip.tools.ide.pm.modules.bizintegration.adapter.
      custom.resource.CustomStringResourceBundle"/>
<endpoint-interaction >
    <interaction-spec
       className="oracle.tip.adapter.custom.outbound.CustomInteractionSpec"
        displayResourceKey="CustomInteractionSpec" >
         <property name="PropX" value="x" displayResourceKey="SAMP_PROP_X" />
         <property name="PropY" value="y" displayResourceKey="Sample Property Y"/>
         <property name="Append" value="false"/>
         <property name="NumberMessages" value="1"/>
    </interaction-spec>
</endpoint-interaction>
 <endpoint-interaction >
    <activation-spec 
      className="oracle.tip.adapter.custom.inbound.CustomActivationSpec"
        displayResourceKey="CustomActivationSpec">
           <property name="UseHeaders" value="false"/>
           <property name="PhysicalDirectory" value="x"/>
           <property name="Recursive" value="true"/>
           <property name="DeleteFile" value="true"/>
           <property name="IncludeFiles" value="x"/>
           <property name="PollingFrequency" value="60"/>
           <property name="MinimumAge" value="0"/>
   </activation-spec>
 </endpoint-activation>
</adapter-config>