16 Siebel用のOracle JCAアダプタ

ここでは、Oracle JCA Adapter for Siebelの考え方と機能を概観するとともに、その構成方法も学習します。

16.1 Oracle JCA Adapter for Siebelの概要

Oracle JCA Adapter for Siebelは、Siebel用の最も完全な接続ソリューションを提供します。実装のための労力を最小限に抑える固有の機能を提供して、ソリューションの効果を最大化します。

Oracle JCA Adapter for Siebelは、Siebelアプリケーション・システムへの包括的な標準ベースのリアルタイム接続を提供します。アダプタは、オープンで再利用可能なサービス指向アプリケーション(SOA)を作成するJCAおよびWebサービス標準をサポートします。アダプタは、使いやすい堅牢でスケーラブルな接続プラットフォームを提供して、統合エンタープライズを作成するためにSiebelに含まれるクリティカル・ビジネス・ロジックおよびデータに簡潔にアクセスして公開します。

Oracle JCA Adapter for Siebelには、次の2つのコンポーネントが含まれます。

  • SOAスイート・コンポジット・アプリケーション設計者用のJDeveloper拡張プラグイン。

    プラグインにより、開発者は、Siebelシステムのアクセス、ビジネス・オブジェクト、ビジネス・コンポーネント、ビジネス・サービスと統合オブジェクトの参照およびXSD、関連付けられたオブジェクトのWSDL、実行時に使用するJCAプロパティなどのSCAアーティファクトの生成を実行できます。

  • SOAスイートの実行環境。

    アダプタにより、デプロイされたSOAコンポジットがリアルタイム・ビジネス・データをSiebelシステムと交換できます。Siebelビジネス・サービス、ビジネス・コンポーネントおよび統合オブジェクトの同期および非同期双方向メッセージをサポートします。アダプタは、HTTPトランスポート・プロトコルもサポートします。

16.2 Oracle JCA Adapter for Siebelの概念

Oracle JCA Adapter for Siebelの様々な概念を理解します。

Siebelビジネス・コンポーネント: 1つ以上のデータベース表の列の論理表現を定義するSiebelオブジェクト・タイプ。ビジネス・コンポーネントは、ビジネス・コンポーネントの実表、拡張表および結合表から単一の構造に列を収集します。ビジネス・コンポーネントは、表に抽象化レイヤーを提供します。Siebel Business Applicationsのアプレットは、ビジネス・コンポーネントを参照します。基礎となる表を直接参照しません。

Siebelビジネス・オブジェクト: Siebelビジネス・オブジェクトは、一連の相互に関連付けられたビジネス・コンポーネントを使用したエンタープライズ内の論理ビジネス・モデルです。

Siebelビジネス・サービス: Siebelビジネス・サービスは、ビジネス機能を実行するために起動できる一連の機能で構成されます。

Siebel統合オブジェクト: Siebel統合オブジェクトは、Siebelビジネス・オブジェクト、XMLおよび他の外部データ構造の統合メタデータを表します。

Siebel統合コンポーネント: Siebelビジネス・コンポーネントを表すSiebel統合オブジェクトの構成部分。

Siebel統合コンポーネント・フィールド: Siebel統合コンポーネントの1つのデータ要素を含むデータ構造。Siebelビジネス・コンポーネント・フィールドを表します。

16.3 Oracle JCA Adapter for Siebel機能

ここでは、Oracle JCA Adapter for Siebelの様々な特徴を概観します。

Oracle JCA Adapter for Siebelのこれらの機能は、追加のソフトウェア要件なしですぐに使用できます。

包括的なSiebel接続

Oracle JCA Adapter for Siebelは、Siebelへの接続を提供します。Siebel COMおよびJava Data Bean APIを使用して、Siebelトランザクション - Siebelビジネス・オブジェクトおよびビジネス・サービスを非同期に起動します。

簡単で使いやすいデザイン・タイム・グラフィカル・インタフェース

Oracle JCA Adapter for Siebelのデザインタイム・ツールを使用すると、コーディングせずにSiebelビジネス・レイヤーと接続して様々なSiebelビジネス・オブジェクト、ビジネス・サービスおよび統合オブジェクトを動的に参照できます。デザインタイム・ツールでは、数回クリックするだけでWebサービスとしてアダプタ・サービスを公開し、迅速な実装を実現します。このイントロスペクションは動的であるため、すべてのカスタム記述または拡張Siebelインタフェースおよびオブジェクトを使用できます。

標準のサポート

Oracle JCA Adapter for Siebelはオープン・スタンダードに基づき、JCAおよびWebサービスとして基礎となるSiebel機能を公開します。Oracle Fusion Middleware製品コンポーネントは、これらの標準インタフェースを介してSiebelシステムとシームレスかつ迅速に統合されます。

Oracle Application Serverを介した完全な管理

Oracle JCA Adapter for Siebelは、Oracle Application Server上にデプロイされ、スケーラビリティおよび可用性のためにそれを利用します。Oracle Application Serverにより、ユーザーはアダプタのライフサイクルを監視および管理できます。

Siebel例外処理

Oracle JCA Adapter for Siebel例外は、再試行できる例外または再試行できない例外です。リモート例外は、通常再試行できる例外です。Oracle JCA Adapter for Siebelは、アウトバウンド起動からSiebelシステムへのエラーに基づいて、これらのタイプの例外をスローします。JCAフレームワークはリモート例外を捕捉し、再試行アクションを開始します。ビジネス例外(またはバインディング例外)は、再試行できない例外です。メッセージがリカバリ・キューに格納され、呼出し元のサービス・エンジンはリカバリ処理を実行します。

16.4 Oracle JCA Adapter for Siebelのデザイン・タイムおよびランタイム機能

Oracle JCA Adapter for Siebelのデザイン・タイム機能とランタイム機能について説明します。

デザインタイム機能

Oracle JCA Adapter for Siebelは、SOAコンポジット設計者用のJDeveloperプラグインのSiebelアダプタ・ウィザードを提供します。Oracle JCA Adapter for Siebelでは次を実行できます:
  • Siebelアダプタ・ウィザードを介したSiebelシステムへの接続。

  • Siebelビジネス・オブジェクト、Siebelビジネス・サービスおよびSiebel統合オブジェクトの参照。

  • Siebelオブジェクトの起動およびテスト。

  • Siebelビジネス・オブジェクト、Siebelビジネス・サービスおよびSiebel統合オブジェクトのアーティファクト(XSD、WSDLおよびJCAプロパティ)の生成。

  • SiebelからXMLベースのイベントを取得するランタイム・オプションの構成。

ランタイム相互作用機能

実行時に、Oracle JCA Adapter for Siebelでは次を実行できます:
  • Siebel固有の情報を使用したSiebel EAIオブジェクト・マネージャへの接続。

  • Siebelビジネス・コンポーネントおよびSiebelビジネス・サービスを使用したSOAからSiebelへの操作

    アダプタは次もサポートします。
    • Siebel統合オブジェクトを使用したSOAからSiebelへの非同期操作。

    • アウトバウンド操作のメッセージ配信。

    • 例外処理および管理。

    • アダプタ診断能力レポートおよびアラートのアダプタ診断フレームワーク。

16.5 Oracle JCA Adapter for Siebelの構成

Oracle JCA Adapter for Siebelの構成に必要な様々な構成パラメータを理解するとともに、構成方法を学習します。

16.5.1 Oracle JCA Adapter for Siebel構成ウィザードの接続パラメータ

Oracle JCA Adapter for Siebelを構成するには、Siebelアダプタ構成ウィザードの「接続」画面を介して接続情報を指定します。Oracle JCA Adapter for SiebelをSiebelサーバーに接続するために使用するパラメータの詳細は、次の表を参照してください。

表16-1 Oracle JCA Adapter for Siebel構成ウィザードの接続パラメータ

パラメータ 定義 必須/オプション

ゲートウェイ・サーバー

Siebelゲートウェイ・サーバーのIPアドレス

必須

ゲートウェイ・ポート

Siebelゲートウェイ・サーバーのポート

必須

エンタープライズ・サーバー

Siebelエンタープライズ・サーバー名

必須

オブジェクト・マネージャ

Siebel 7.0.3の場合、デフォルトのオブジェクト・マネージャはEAIObjMgrです。

Siebel 7.7の場合、デフォルトはEAIObjMgr_enuです。Siebel 7.7では、オブジェクト・マネージャ名の末尾に言語拡張子(_enuなど)を追加する必要があります。

必須

サーバー名

Siebelサーバーのホスト名

オプション

言語

言語キーのデフォルト値はEnglishで、enuとして表されます。

Siebelシステム・バージョンに応じて、異なる言語がサポートされている可能性があります。

必須

バージョン

JDBバージョンはSiebelのバージョンごとに異なります

Siebel 7.7以上(デフォルト)

必須

暗号化

暗号化の値は、Siebelシステムへの接続を暗号化する必要があるかどうかを決定します。値は、次のいずれかになります。
  • なし – 暗号化なし

  • RSA – RSAで暗号化されます

オプション

ユーザー名

 

必須

パスワード

マスク

必須

16.5.2 Oracle JCA Adapter for Siebel構成ウィザードのフロー

この項では、Oracle JCA Adapter for Siebelを構成するステップについて説明します

Oracle JCA Adapter for Siebelを構成するには、次のタスクを実行します。
  1. JDeveloperデザイン・ビューの「参照」セクションのコンポジットまたはBPELプロセスにドラッグ・アンド・ドロップして、Siebelアダプタ構成ウィザードを起動します。

    Siebelアダプタ構成ウィザードの「ようこそ」ページが表示されます。

    図16-1 Siebelアダプタ構成ウィザード — 「ようこそ」画面

    図16-1の説明が続きます
    「図16-1 Siebelアダプタ構成ウィザード — 「ようこそ」画面」の説明
  2. 「名前」フィールドで、Siebelアダプタ・サービスのサービス名を入力し、「次へ」をクリックします。

    「接続情報」画面が表示されます。

    図16-2 Siebelアダプタ構成ウィザード — 「接続情報」画面

    図16-2の説明が続きます
    「図16-2 Siebelアダプタ構成ウィザード — 「接続情報」画面」の説明
  3. 「接続情報」画面を使用して、サービス接続を確立します。新しいSiebel接続を定義するか、既存の接続定義を選択できます。
    • 既存の接続定義を選択します。
    1. 「接続」リストから接続を選択します。
    2. オプションから「コンポーネントの表示」を選択します。
    3. パスとともにJNDI名を入力します。
    • 新しい接続を定義します。
    1. プラス記号(+)をクリックして、「Siebel接続の作成」画面を開きます。

      図16-3 Siebelアダプタ構成ウィザード — 「Siebel接続の作成」画面

      図16-3の説明が続きます
      「図16-3 Siebelアダプタ構成ウィザード — 「Siebel接続の作成」画面」の説明
    2. 接続パラメータを入力します。
      • 接続名: 新しい名前を入力します。

      • Siebelシステム・パラメータ: ゲートウェイ・サーバー、ゲートウェイ・ポート、エンタープライズ・サーバーおよびオブジェクト・マネージャなどのSiebelシステム・パラメータを入力します。

      • Siebelログオン・パラメータ: ユーザー名およびパスワードを入力します。

      • 「接続のテスト」をクリックし、「OK」をクリックして接続を保存します。

      ノート:

      既存の接続定義を編集するには、接続リストから既存の接続定義を選択して、鉛筆記号をクリックします。「Siebel接続の編集」画面が表示され、接続パラメータを変更できます。
  4. オブジェクト選択ページを使用して、オブジェクトを選択します。Siebelオブジェクトの項目を選択すると、「定義」パネルで画面の右側に定義が表示されます。

    図16-4 Siebelアダプタ構成ウィザード — 「オブジェクト選択」画面

    図16-4の説明が続きます
    「図16-4 Siebelアダプタ構成ウィザード — 「オブジェクト選択」画面」の説明
    • 定義: 右パネルに、選択したSiebelビジネス・オブジェクト、サービスまたは統合オブジェクトの定義を示します。選択したSiebelオブジェクトのフィールド、タイプおよび名前が含まれます。
    • 操作: 問合せ、QueryEx、挿入、更新および削除からビジネス・コンポーネント操作を選択します。QueryExビジネス・コンポーネント操作を選択して「オプション」ボタンをクリックすると、「フィールド選択」ダイアログからオプションを選択するよう求められます。オプションを選択し、「OK」をクリックします。
  5. 「次へ」をクリックします。
    「JCAエンドポイント・プロパティ」画面が表示されます。デフォルトのプロパティを使用するか、または変更します。

    図16-5 アダプタ構成ウィザード — 「JCAエンドポイント・プロパティ」画面

    図16-5の説明が続きます
    「図16-5 アダプタ構成ウィザード — 「JCAエンドポイント・プロパティ」画面」の説明
  6. 「終了」をクリックします。

Siebelアダプタ・ウィザード:

  • 必要なJCAプロパティを定義します。

  • 次を含むSiebelエンドポイントを表すSCAアーティファクトを更新します。

    • JCAプロパティ・ファイル。

    • 選択したオブジェクトのXSDおよびWSDLファイル。

  • SCAコンポジット・アーティファクトを更新して変更を反映します。

16.6 JDeveloperを使用したデプロイ

前述のステップで作成したSOAプロジェクトおよびアプリケーションについて、アプリケーション・プロファイルをデプロイする必要があります。JDeveloperを使用してアプリケーション・プロファイルをデプロイするには、次のステップを実行する必要があります。

  1. アプリケーション・サーバー接続を作成します。詳細は、「Oracle JCAアダプタ用のアプリケーション・サーバー接続の作成」を参照してください。
  2. アプリケーションをデプロイします。詳細は、「JDeveloperからのOracle JCAアダプタ・アプリケーションのデプロイ」を参照してください。

16.7 Oracle JCA Adapter for Siebelのアクティブ化

Oracle JCA Adapter for Siebelはオプションのアダプタであるため、初期状態はアクティブではなくデプロイメント・サマリーにインストールされます。Oracle JCA Adapter for Siebelの状態をアクティブにする必要があります。

Oracle JCA Adapter for Siebelが含まれているビルドにOracle WebLogic Serverがインストールされていることを確認します。
状態をアクティブにするには:
  1. WebLogicコンソールで、Oracle JCA Adapter for Siebelを検索して見つけます。

    図16-6 WebLogicコンソールのSiebelAdapterの検索

    図16-6の説明が続きます
    「図16-6 WebLogicコンソールのSiebelAdapterの検索」の説明
  2. SiebelAdapterをクリックします。
    SiebelAdapterの設定画面が開きます。
  3. 「ターゲット」タブを選択します。

  4. 図16-7 SiebelAdapterアクティブ化設定画面

    図16-7の説明が続きます
    「図16-7 SiebelAdapterアクティブ化設定画面」の説明
  5. 「サーバー」を選択して、Siebelアダプタをデプロイします。
  6. 「保存」をクリックします。
Oracle JCA Adapter for Siebelがサーバーでアクティブになります。

16.8 Oracle JCA Adapter for Siebelの接続プーリングの構成

JCAコネクタでは、プーリング・サポートが提供される必要があります。この項では、Oracle JCA Adapter for Siebelの接続プーリングを作成するプロセスについて説明します。

Oracle JCA Adapter for Siebelの接続プーリングを提供するには:
  1. WebLogicコンソールで、Oracle JCA Adapter for Siebelを検索して見つけます。

    図16-8 WeblogicコンソールのSiebelAdapterの検索

    図16-8の説明が続きます
    「図16-8 WeblogicコンソールのSiebelAdapterの検索」の説明
  2. SiebelAdapterをクリックします。
    SiebelAdapterの設定画面が開きます。

    図16-9 Siebelアダプタのアウトバウンド接続プール構成画面

    図16-9の説明が続きます
    「図16-9 Siebelアダプタのアウトバウンド接続プール構成画面」の説明
  3. 「構成」「アウトバウンド接続プール」タブの順に選択します。
  4. javax.resource.ConnectionFactoryを展開し、eis/SIEBEL/FMWDEMO JNDI名をクリックします。
    Javax.resource.cci.ConnectionFactoryの設定画面が開きます。

    図16-10 Siebelアダプタのアウトバウンド接続プロパティ画面

    図16-10の説明が続きます
    「図16-10 Siebelアダプタのアウトバウンド接続プロパティ画面」の説明
  5. Siebel接続情報の詳細を指定します。
  6. 「保存」をクリックします。
  7. plan.xmlを更新して、行われた変更を有効にします。
  8. Siebel.jarおよびSiebelJI_enu.jarファイルを<MWHOME>/user_projects/domains/<DOMAINNAME>/lib/ディレクトリにコピーします。
  9. サーバーを再起動します。

16.9 Oracle JCA Adapter for Siebelアーティファクト

Oracle JCA Adapter for Siebelを構成すると、次のアーティファクトが作成されます。

ビジネス・コンポーネントのXSD

XSDは、ビジネス・コンポーネント・メソッド用に生成されます。たとえば、アカウント・ビジネス・コンポーネントのリクエスト/レスポンス・スキーマを次に示します。

ビジネス・コンポーネントのリクエスト・スキーマの例は、次のとおりです。

<xsd:schema xmlns:xsd=http://www.w3.org/2001/XMLSchema …>
<xsd:element name="SiebelRequest">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="insert" type="ns1:record" />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="record">
<xsd:sequence>
<xsd:element name="_nb52_0x20_Week_0x20_High" type="xsd:string"
minOccurs="0" />
<xsd:element name="_nb52_0x20_Week_0x20_Low" type="xsd:string"
minOccurs="0" />
<xsd:element name="ADL_0x20_Status" type="xsd:string"
minOccurs="0" />
<xsd:element name="ATM_0x20_Flag" type="xsd:string"
minOccurs="0" />
<xsd:element name="Access_0x20_Level" type="xsd:string"
minOccurs="0" />
<xsd:element name="Account_0x20_Competitors" type="xsd:string"
minOccurs="0" />
<xsd:element name="Account_0x20_Condition" type="xsd:string"
minOccurs="0" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>

ビジネス・コンポーネントのレスポンス・スキーマの例は、次のとおりです。

<xsd:schema …>
<xsd:element name="SiebelResponse">
<xsd:complexType>
<xsd:attribute name="ROW_ID" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:schema>

WSDL

WSDLは、ビジネス・コンポーネント・メソッドに生成されます。WSDL操作名はアクション名です。たとえば、次のWSDLがアカウント/アカウントの挿入メソッド用に生成されます。

SiebelアダプタのWSDLアーティファクトの挿入メソッドの例は、次のとおりです

<definitions …>
<types>
<!—import the request and response schema 
</types>
<message name="response">
<part element=”ns1:SiebelResponse" name="output_insert"/>
</message>
<message name="request">
<part element=" ns1:Siebel" name="input_insert"/>
</message>
<portType name="insertPortType">
<operation name="insert">
<input message="ns2:request" name="Input_insert"/>
<output message="ns2:response" name="Output_insert"/>
</operation>
</portType>
<plt:partnerLinkType name="insertPartnerLinkType">
<plt:role name="insertRole">
<plt:portType name="ns2:insertPortType"/>
</plt:role>
</plt:partnerLinkType>
</definitions>

JCA

JCAプロパティは、Siebel統合エンドポイント用に生成されます。connection-factory、endpoint-interaction、interaction-spec、interaction-specのプロパティなどが含まれます。

JCAプロパティ・ファイルの例を次に示します

<connection-factory location="eis/MySiebel"/>
<endpoint-interaction portType="Internal_0x20_Contact_0x20_Interface_PT">
<interaction-spec className="oracle.tip.adapter.siebel.SeblBCInteractionSpecImpl">
<property name="BusinessObjectName" value="Contact"/>
<property name="BusinessComponentName" value="Account"/>
<property name="Action" value="insert"/>
<property name="ExecutionTimeout" value="50000000"/>
</interaction-spec>
</endpoint-interaction>

ビジネス・サービスのXSD

リクエスト・スキーマは、ビジネス・サービス・メソッドの入力パラメータを表します。たとえば、次のリクエスト・スキーマは、アカウント・ビジネス・サービスのCreateAccountメソッドを表します。

CreateAccountメソッドのビジネス・サービスのXSDのリクエスト・スキーマの例は、次のとおりです。

<xsd:schema …>
<xsd:element name="AdapterParams">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Account_0x20_IO" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

レスポンス・スキーマは、ビジネス・サービスの出力パラメータを表します。ただし、レスポンス・スキーマには、エラー・メッセージおよび成功フラグが含まれません。エラー・メッセージは、例外でラップされます。

CreateAccountメソッドのビジネス・サービスのXSDのリクエスト・スキーマの例は、次のとおりです。

<xsd:schema …>
<xsd:element name="Response">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="Account_0x20_Id" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>

ビジネス・サービスのWSDL

WSDLは、ビジネス・サービス・メソッド用に生成されます。WSDL操作名はメソッド名です。次の例に、CreateAccountメソッドのビジネス・サービスのWSDLを示します。

CreateAccountメソッドのビジネス・サービスのWSDLの例は、次のとおりです。

<definitions …>
<types>
<!—import the request and response schema 
</types>
<message name="request">
<part element="ns1:AdapterParams" name="input_CreateAccount"/>
</message>
<message name="response">
<part element="ns1:Response" name="output_CreateAccount"/>
</message>
<portType name="CreateAccountPortType">
<operation name="CreateAccount">
<input message="ns2:request" name="Input_CreateAccount"/>
<output message="ns2:response" name="Output_CreateAccount"/>
</operation>
</portType>
<plt:partnerLinkType name="CreateAccountPartnerLinkType">
<plt:role name="CreateAccountRole">
<plt:portType name="ns2:CreateAccountPortType"/>
</plt:role>
</plt:partnerLinkType>
</definitions>

ビジネス・サービスのJCAプロパティ

JCAプロパティは、Siebel統合エンドポイント用に生成されます。connection-factory、endpoint-interaction、interaction-spec、interaction-specのプロパティなどを含める必要があります。アダプタは、ビジネス・サービスのJCAプロパティ・ファイルを生成します。次にファイルの例を示します。

CreateAccountメソッドのビジネス・サービスのJCAファイルの例は、次のとおりです。

<connection-factory location="eis/MySiebel"/>
<endpoint-interaction portType="Account_0x20_PT">
<interaction-spec className="oracle.tip.adapter.siebel.SeblBSInteractionSpecImpl">
<property name="BusinessServiceName" value="Account"/>
<property name="MethodName" value="CreateAccount"/>
<property name="ExecutionTimeout" value="50000000"/>
</interaction-spec>
</endpoint-interaction>