2 Oracle B2Bのスタート・ガイド

この章では、Oracle B2Bで提供されるB2Bトランザクションを作成するためのWebベースのインタフェースについて説明します。また、Oracle B2Bトランザクションを作成するためのプロセス・フローと、Oracle JDeveloper環境でOracle B2Bを使用する方法についても説明します。

この章の内容は次のとおりです。

2.1 Oracle B2Bの開始に必要な事項

Oracle B2Bを含むOracle SOA Suiteをインストールする他に、Oracle Document EditorおよびOracle JDeveloperをインストールする必要があります。

Oracle Document Editorの規格に基づいたテンプレートを使用して、ガイドライン・ファイルを作成します。次に、Oracle B2Bを使用して、トランザクションをB2Bアグリーメントの一環として作成し、デプロイします。SOAコンポジット・アプリケーションにB2Bトランザクションを組み込むには、図2-1に示すOracle JDeveloperを使用します。

図2-1 Oracle JDeveloper: SOAコンポジット・アプリケーションとB2Bバインディング・コンポーネント

図2-1の説明が続きます
「図2-1 Oracle JDeveloper: SOAコンポジット・アプリケーションとB2Bバインディング・コンポーネント」の説明

詳細は、次を参照してください:

2.2 Oracle B2Bへのログイン

Oracle B2Bを含むOracle SOA Suiteをインストールしたら、次の説明に従ってOracle B2Bにログインします。

次に示す、サポート対象のWebブラウザを使用する必要があります。

  • Microsoft Internet Explorer 7.xおよび8.x

  • Mozilla Firefox 2.xおよび3.x

  • Apple Safari 4.x

Oracle B2Bへのログインするには:
  1. Webブラウザを開いて、http://host_name:port_number/b2bconsoleに移動します。各項目の説明は次のとおりです。
    • host_nameは、Oracle SOA Suiteがインストールされているホストの名前です。(クラスタ環境では、host_nameがフロントエンドのロード・バランサである場合があります)

    • port_numberは、管理対象サーバーによる通常のHTTP(非SSL)接続のリスニングに使用されるポート番号です。(クラスタ環境では、port_numberはルーター・ポートになります。)

      詳細は、「ポート情報の検索」を参照してください。

    • /b2bconsole(または/b2b)によってB2Bインタフェースにアクセスします(/b2b/b2bconsoleにリダイレクトされます)。

      Oracle HTTP Serverのmod_wl_ohs.confファイルに/b2bconsoleおよび/b2bの設定を追加して、Oracle B2Bユーザー・インタフェース・ページを保護する方法の詳細は、「シングル・サインオン(SSO)を介したOracle B2Bへのアクセス」を参照してください。

      ノート:

      SAMLが有効な場合またはWindowsのネイティブ認証環境でOracle B2Bにアクセスする場合は、次のいずれかの保護サーブレットURLを使用して自動認証します。

      http://host_name:port_number/b2b/ssologin
      http://host_name:port_number/b2bconsole/ssologin
  2. デフォルトの管理者ユーザー名を入力します。
  3. Oracle Fusion Middleware 11gインストールの管理者パスワードを入力します。
  4. 「ログイン」をクリックします。

2.2.1 ポート情報の検索

ポート番号は次の方法で確認できます。

  • Oracle Weblogic Server管理コンソールから

    1. コンソールにログインします。

    2. 「ドメイン構造」ペインで、図2-2に示すように、「環境」を開いて「サーバー」をクリックします。

      図2-2 Oracle WebLogic Server管理コンソールのドメイン構造ノード

      図2-2の説明が続きます
      「図2-2 Oracle WebLogic Server管理コンソールのドメイン構造ノード」の説明
    3. サーバーの「リスニング・ポート」列を書き留めます。

  • MW_HOME/user_projects/domains/your_domain_name/config/config.xmlから

      <server>
        <name>soa_server1</name>
        <ssl>
          <name>soa_server1</name>
          <listen-port>8002</listen-port>
        </ssl>
        <machine>LocalMachine</machine>
        <listen-port>8001</listen-port>
        <listen-address/>
      </server>

2.2.2 シングル・サインオン(SSO)を介したOracle B2Bへのアクセス

Oracle Identity ManagementのSSOを使用して、Oracle B2Bにログイン、ログアウトおよび再ログインする場合は、/b2bconsoleの場所をOracle HTTP Serverのmod_wl_ohs.confファイルに追加する必要があります。次に例を示します。

<Location /b2bconsole>
   SetHandler weblogic-handler
#     PathTrim /weblogic
   ErrorPage  http:/WEBLOGIC_HOME:WEBLOGIC_PORT/
</Location>

さらに、/b2bの場所に必要な設定は次のとおりです。

<Location /b2b>
   SetHandler weblogic-handler
#     PathTrim /weblogic
   ErrorPage  http:/WEBLOGIC_HOME:WEBLOGIC_PORT/
</Location>

2.2.3 Oracle B2Bにログインするためのweblogicユーザーの有効化

Oracle Internet Directory (OID)のweblogicユーザーがOracle B2Bに管理者としてログインしてユーザーを検索するためには、OIDオーセンティケータに管理者グループを割り当て、weblogicユーザーをそのグループのメンバーにする必要があります。

weblogicユーザーを有効にするには:
  1. LDAPブラウザを使用して、OIDにweblogicユーザーを作成します。次に、OIDへのusers.ldifファイルのインポート方法を示します。
    dn: cn=weblogic,cn=Users,dc=us,dc=oracle,dc=com
    objectclass: inetorgperson
    objectclass: organizationalPerson
    objectclass: person
    objectclass: orcluser
    objectclass: orcluserV2
    objectclass: top
    sn: weblogic
    userpassword: welcome1
    uid: weblogic 
    
  2. OIDに管理者グループを作成し、そのグループにweblogicユーザーを割り当てます。次に、OIDへのgroups.ldifファイルのインポート方法を示します。
    dn: cn=Administrators,cn=Groups,dc=us,dc=oracle,dc=com
    objectclass: groupOfUniqueNames
    objectclass: orclGroup
    objectclass: top
    owner: cn=orcladmin,cn=Users,dc=us,dc=oracle,dc=com
    uniquemember: cn=weblogic,cn=Users,dc=us,dc=oracle,dc=com

2.3 Oracle B2Bインタフェースの使用

B2Bのアクティビティは、管理、パートナ、レポートおよびメトリックにまとめられています。

次の項で、これらのアクティビティについて説明します。

2.3.1 管理

図2-3に示す「管理」ページのタブを使用して、インポートとエクスポート、ドキュメント・プロトコル、デプロイメント、タイプ、バッチ処理、コールアウト、パージ、リスニング・チャネルおよびB2B構成を管理します。

図2-3 管理アクティビティ

図2-3の説明が続きます
「図2-3 管理アクティビティ」の説明

詳細は、「Oracle B2Bの管理」を参照してください。

2.3.2 パートナ

図2-4に示す「パートナ」ページのタブを使用して、取引パートナ情報の作成と更新、アグリーメント情報の作成と更新、ユーザー情報の追加、取引パートナへのドキュメントの関連付け、チャネルの設定、およびキー・ストアの構成を実行します。

図2-4 パートナ・アクティビティ

図2-4の説明が続きます
「図2-4 パートナ・アクティビティ」の説明

詳細は、「Oracle B2Bプロセス・フロー」を参照してください。

2.3.3 レポート

図2-5に示す「レポート」ページのタブを使用して、インスタンス(ランタイム)データに関するレポートの作成と表示を実行します。

詳細は、「レポートの作成」を参照してください。

2.3.4 メトリック

図2-6に示す「メトリック」ページのタブを使用して、デプロイされたアグリーメント(アクティブなドキュメント・タイプや取引パートナのリストなど)および実行時の状況(エラー・メッセージやメッセージ件数など)に関する情報を表示します。

詳細は、「B2Bメトリックの使用」を参照してください。

2.4 B2Bトランザクションの作成: プロセス・フローの概要

B2Bプロセス・フローは、Oracle Document EditorでのB2Bガイドライン・ファイルの作成で始まり、次にOracle B2Bインタフェースを使用したドキュメント定義の作成、取引パートナの構成、アグリーメントの作成とデプロイが続きます。

図2-7にB2Bプロセス・フローの図解を示します。

図2-7 Oracle B2Bプロセス・フロー

図2-7の説明が続きます
「図2-7 Oracle B2Bプロセス・フロー」の説明

ステップ1: Oracle Document Editorでのガイドライン・ファイル(ECSファイルおよび(必要な場合は) XSDファイル)の作成

図2-8に示すように、Oracle B2Bドキュメント・エディタでは、業界標準の何百ものプロトコルのテンプレートに基づいてトランザクション・ドキュメントを作成します。Oracle Document Editorは、変換が必要な場合にのみ必要です。このエディタはXMLドキュメントでは使用されません。

図2-8 Oracle B2Bドキュメント・エディタでのドキュメントの作成

図2-8の説明が続きます
「図2-8 Oracle B2Bドキュメント・エディタでのドキュメントの作成」の説明

Oracle Document Editorの詳細は、次の情報を参照してください。

ステップ2: ドキュメント定義の作成

Oracle B2Bの「管理」→「ドキュメント」タブを使用して、図2-9に示すように、ドキュメント・プロトコルのリストからプロトコルを選択し、ドキュメント・プロトコル・バージョン名、ドキュメント・タイプ名およびドキュメント定義名を指定します。(カスタム・ドキュメントの場合は、ドキュメント・プロトコルのリストから選択するのではなく、「ドキュメント・プロトコル」フォルダのリストにカスタム・プロトコル名を追加します。)

図2-9 ドキュメント定義の作成

図2-9の説明が続きます
「図2-9 ドキュメント定義の作成」の説明

ステップ1で作成したECSファイルとXSDファイル(必要な場合)を選択した後、ドキュメント定義が作成されています。

詳細は、 ドキュメント定義の作成を参照してください。

ステップ3: 取引パートナの構成

図2-10に示すOracle B2Bの「パートナ」ページのタブを使用して、取引パートナ名の追加と更新、識別子や連絡先情報(必要な場合)の追加、パラメータの表示、ドキュメントやデリバリ・チャネルの追加、およびキー・ストア情報の追加を実行します。

図2-10 取引パートナの構成

図2-10の説明が続きます
「図2-10 取引パートナの構成」の説明

詳細は、 取引パートナの構成 を参照してください。

ステップ4: アグリーメントの作成

図2-11に示すOracle B2Bの「パートナ」→「アグリーメント」タブを使用して、必要な取引パートナを指定するアグリーメントを作成し、そのアグリーメントにドキュメント定義、チャネルおよび識別子を関連付けます。

図2-11 取引パートナ・アグリーメントの作成

図2-11の説明が続きます
「図2-11 取引パートナ・アグリーメントの作成」の説明

詳細は、 取引パートナ・アグリーメントの作成とデプロイを参照してください。

ステップ5: アグリーメントのデプロイ

図2-12に示すOracle B2Bの「管理」→「デプロイ」タブを使用して、アグリーメントの検索とデプロイを実行します。

図2-12 アグリーメントの検索とデプロイ

図2-12の説明が続きます
「図2-12 アグリーメントの検索とデプロイ」の説明

2.5 Oracle JDeveloper環境でのOracle B2Bの使用

SOAコンポジット・アプリケーションでOracle B2Bバインディング・コンポーネントを使用すると、バックエンド・アプリケーションで生成された発注書を取引パートナに送信するプロセスなど、エンドツーエンドのビジネス・プロセスを作成できます。バインディング・コンポーネントは、SOAコンポジット・アプリケーションと外部との接続を確立します。

Oracle JDeveloperのB2B構成ウィザードを使用すると、次のように、B2Bバインディング・コンポーネントをSOAコンポジット・アプリケーションに追加できます。

  • B2Bは、取引パートナからのメッセージを受信してSOAコンポジット・アプリケーションに送信するためのサービス(インバウンド)として使用されます。Oracle B2Bは、SOAコンポジット・アプリケーションへのエントリ・ポイントです。

  • B2Bは、SOAコンポジット・アプリケーションからのメッセージをパートナに送信するための参照(アウトバウンド)として使用されます。

B2B構成ウィザードのステップに従うと、Oracle B2Bで作成したドキュメント定義を選択するためのプロンプトが表示されます。または、このウィザードからOracle B2Bを起動してドキュメント定義を作成することもできます。ドキュメント定義は、取引パートナとの間で送受信するペイロードまたはメッセージです。

ノート:

B2B構成ウィザードで、ミドルウェア(B2B Webサービス)のSSLが有効になっている場合は、SSLポートがウィザードで検出され、SSL接続を使用してドキュメント定義が取得されます。

2.5.1 SOAコンポジット・アプリケーションでのB2Bバインディング・コンポーネントの使用方法

B2Bバインディング・コンポーネントを使用してSOAコンポジット・アプリケーションを作成するには、次を行います:

SOAコンポジット・アプリケーションの作成の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の次のトピックを参照してください。

2.5.1.1 SOAアプリケーションおよびプロジェクトの作成
次のステップを使用してSOAアプリケーションおよびプロジェクトを作成します。
  1. Oracle JDeveloper Studio Editionバージョン11.1.1.2.0を起動します。
  2. Oracle JDeveloperを初めて起動している場合は、Java JDKの場所を指定します。
  3. 次のいずれかの方法で、新しいSOAコンポジット・アプリケーションを作成します。
    • Oracle JDeveloperを初めて開く場合、またはアプリケーションがない場合、アプリケーション・ナビゲータの左上で「新規アプリケーション」をクリックします。

    • Oracle JDeveloperに既存のアプリケーションがある場合は、「ファイル」メイン・メニューまたは「アプリケーション」メニューから「新規」「アプリケーション」を選択して「新規ギャラリ」を開いて別のアプリケーション・コンポーネントを選択できます。

    • 「カテゴリ」ツリーの「一般」ノードで「アプリケーション」を選択します。「アイテム」ペインで「SOAアプリケーション」を選択し、「OK」をクリックします。

  4. アプリケーション・ページの「名前」では、必要に応じてWebプロジェクトの名前および場所を変更できます。このアプリケーションが最初のアプリケーションである場合は、「アプリケーション・テンプレート」から「SOAアプリケーション」を選択します。パッケージ接頭辞のデフォルトをそのまま使用して、「次」をクリックします。

    ノート:

    次の制限事項および推奨事項に注意してください。

    • 空白を使用したアプリケーション名は作成できません。

    • 空白があるディレクトリ・パス(例: c:\Program Files)にアプリケーションおよびプロジェクトを作成しないでください。

    • UNIXオペレーティング・システムでは、環境変数LANGおよびLC_AllをUTF-8文字セットを備えたロケールに設定して、Unicodeサポートを有効にすることをお薦めします。この設定により、オペレーティング・システムではあらゆる文字をUnicodeで処理できるようになります。SOAテクノロジはUnicodeに基づいています。オペレーティング・システムがUTF-8以外のエンコーディングを使用するように構成されている場合は、SOAコンポーネントが想定とは異なって機能する可能性があります。たとえば、ファイル名がASCIIでない場合は、ファイルにアクセスできず、エラーが発生する可能性があります。オペレーティング・システムの制約によって発生する問題はサポート対象外となります。

      設計時環境でOracle JDeveloperを使用している場合は、「ツール」「プリファレンス」「環境」「エンコーディング」「UTF-8」の順に選択して、Unicodeのサポートを有効にします。この設定は、実行時の環境にも適用可能です。

  5. プロジェクト・ページの「名前」では、必要に応じてSOAプロジェクトの名前および場所を変更できます。デフォルトでは、SOAプロジェクト・テクノロジ、生成されるcomposite.xmlおよび必要なライブラリは、Oracle JDeveloperによりモデル・プロジェクトに追加されます。「次」をクリックします。

    ノート:

    コンポジット名およびコンポーネント名は、500文字以下にする必要があります。

    同じインフラストラクチャにデプロイされるプロジェクトは、SOAコンポジット・アプリケーション全体で一意の名前である必要があります。コンポジットの一意性はプロジェクト名で判断されます。たとえば、Project1を持つApplication1があり、Project1を持つApplication2を作成するとします。デプロイ時に、2番目にデプロイされたプロジェクト(コンポジット)で最初にデプロイされたプロジェクト(コンポジット)が上書きされます。

  6. SOA設定の構成ページで、「空のコンポジット」をクリックし、「終了」をクリックします。
  7. 「ファイル」メイン・メニューから「すべて保存」を選択します。
SOAアプリケーションおよびプロジェクトの作成の詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』SOAアプリケーションの作成に関する項を参照してください。
2.5.1.2 サービス・コンポーネントの追加

サービス・コンポーネントは、ビジネス・ロジックやアプリケーションの処理ルールを実装します。

  1. コンポーネント・パレットで、「SOA」を選択します。

  2. 「サービス・コンポーネント」リストから、コンポーネントをデザイナにドラッグします。

    選択したサービス・コンポーネントに固有のダイアログが表示されます。表2-1に、使用可能なエディタを示します。

    表2-1 サービス・コンポーネント・エディタの開始

    ドラッグするサービス・コンポーネント 起動する対象

    BPELプロセス

    「BPELプロセスの作成」ダイアログが開きます。このダイアログで、一連のビジネス・アクティビティおよびサービスをエンドツーエンドのプロセス・フローに統合するBPELプロセスを作成します。

    ビジネス・ルール

    「ビジネス・ルールの作成」ダイアログが開きます。このダイアログで、ルールに基づいてビジネス・デシジョンを作成します。

    ヒューマン・タスク

    「ヒューマン・タスクの作成」ダイアログが開きます。このダイアログで、ユーザーまたはグループがエンドツーエンドのプロセス・フローの一環として実行するタスクを記述するワークフローを作成します。

    メディエータ

    「メディエータの作成」ダイアログが開きます。このダイアログで、メッセージやイベントのルーティング、フィルタおよびトランスフォーメーションを実行するサービスを定義します。

  3. サービス・コンポーネントの設定を構成します。サービス・コンポーネントのダイアログに関するヘルプは、「ヘルプ」をクリックするか、[F1]を押します。「終了」をクリックします。

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

  5. 「ファイル」メイン・メニューから「すべて保存」を選択します。

サービス・コンポーネントの追加の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。

2.5.1.3 B2Bバインディング・コンポーネントの追加

サービスまたは参照バインディング・コンポーネントを追加します。

  1. コンポーネント・パレットで、「SOA」を選択します。

  2. 「B2B」「公開されたサービス」または「外部参照」スイムレーンにドラッグします。

    • インバウンド・メッセージを受信するには「公開されたサービス」を選択します。

    • アウトバウンド・メッセージを送信するには「外部参照」を選択します。

  3. B2B構成ウィザードの「ようこそ」ページで、「次」をクリックします。

  4. 「サービス名」ページで、B2Bサービスの名前を指定して「次」をクリックします。

  5. 「B2B統合タイプ」ページで、次の説明のとおりに統合タイプを選択します。

    2-2 統合タイプの選択

    タイプ 説明

    デフォルト

    SOAコンポジットがOracle B2Bと直接通信するように、B2B WSDLが生成されます。

    AQ

    SOAコンポジットがOracle B2BとAQキュー経由で通信するように、AQアダプタWSDLおよびJCAファイルが生成されます。

    JMS

    SOAコンポジットがOracle B2BとJMSキュー経由で通信するように、JMSアダプタWSDLおよびJCAファイルが生成されます。

    • 「デフォルト」を選択した場合は、ステップ6から10を完了します。

    • 「AQ」を選択した場合は、ステップ6から9、および11から14を完了します。

    • 「JMS」を選択した場合は、ステップ6から9、および15から18を完了します。

  6. 「アプリケーション・サーバー接続」ページで、次のいずれかを実行します。

    • 「アプリケーション・サーバー接続」リストからアプリケーション・サーバー接続を選択し、「次」をクリックします。

    • または、「新規」をクリックし、アプリケーション・サーバー接続を作成します。アプリケーション・サーバー接続の作成ウィザードに従ってください。

    アプリケーション・サーバー接続が確立されると、アプリケーション・サーバー接続用に作成されたユーザー名、サーバー・インスタンスのホスト名、およびSOAサーバー名が表示されます。アプリケーション・サーバー接続を選択すると、Weblogicで実行されている構成済のSOAサーバーが表示されます。SOAサーバーを選択すると、SSLまたはHTTPポートが取得され、ドキュメント定義を取得するためのB2B WebサービスURLが生成されます。

    また、「B2Bテスト」をクリックすると、Oracle B2Bインストールに接続できることを検証できます。

  7. 「操作」ページで、次のようにして、「送信」または「受信」を選択します。

    表2-3 送信または受信操作の選択

    操作 説明

    送信

    アウトバウンド・メッセージ用

    受信

    着信メッセージの場合

  8. 「ドキュメント定義の処理」ページで、次の説明に従って、「標準」タブのオプションまたは「詳細」タブのいずれかのオプションを選択します。

    表2-4 ドキュメント定義の処理オプションの選択

    オプション 説明

    B2Bからスキーマをインポート(「標準」タブ)

    Oracle B2Bからスキーマをインポートします(「詳細」タブにあるオプションと同じ)。

    B2Bからスキーマをインポート(「詳細」タブ)

    Oracle B2Bからスキーマをインポートします(「標準」タブにあるオプションと同じ)。

    B2Bリポジトリでスキーマを参照(「詳細」タブ)

    メタデータ・サービス(MDS)接続を選択します。または、このオプションを使用して、新しい接続を作成します。新しいMDS接続を作成する場合は、MDS接続ウィザードを使用して接続を作成します。この接続は、B2Bリポジトリのアクセスに必要です。ドキュメント定義を選択すると、MDSにリンクするURLが生成されます。

    選択したアプリケーション・サーバー接続は、特定のB2Bインスタンスを参照します。特定のB2Bインスタンスによって使用されるMDS接続は、ドキュメント定義が矛盾しないように、選択したMDS接続と一致している必要があります。

    B2Bリポジトリ内のスキーマを参照するとき、MDS接続はリモートMDS内のスキーマを参照する場合にのみ必要であり、ローカル共有MDSリポジトリ内でスキーマを参照する場合は必要ありません。

    ローカル共有MDS内のB2Bスキーマb2bExceptionおよびb2bAckを参照する場合は、MDS接続を選択する必要はありません。MDSオプションを選択し、「次」をクリックして「ドキュメント定義」ページに移動し、そこでb2bExceptionまたはb2bAckを選択するか、ローカル共有MDSに存在する他のB2Bスキーマを選択できます。

    リソース・スキーマの参照(「詳細」タブ)

    SOAリソース・ブラウザを使用してスキーマを参照します。このオプションを選択すると、「タイプ・チューザ」が開きます。タイプを選択し、「ドキュメント定義の処理」ページに戻ります。

    不透明(「詳細」タブ)

    コンテンツがbase-64エンコーディングで渡される場合に、あらゆるタイプのデータ(例: 位置指定フラット・ファイル)を処理します。スキーマは指定されません。

    anyType(「詳細」タブ)

    あらゆるタイプのXMLデータを処理します。スキーマは指定されません。これは「デフォルト」の統合タイプに対してのみ有効および使用可能であり、AQやJMSでは無効です。

    添付のメッセージ部分をB2B WSDLファイルに挿入できるように、「デフォルト」統合タイプに対して「添付サポート」を選択することもできます。

  9. 「ドキュメント定義」ページで、ツリーを展開してドキュメント定義を選択します。複数のルート要素があるドキュメント定義を選択した場合は、使用するルート要素を選択して「OK」をクリックします。

    他のオプションについては後述します。

    表2-5 ドキュメント定義ページのオプション

    オプション 説明

    検索

    定義名を入力します。定義名の先頭部分を入力すると、部分的な文字列が照合されます。部分的な文字列にはワイルドカードを使用できません。

    リフレッシュ

    B2Bサーバーからドキュメント定義リストを取得します。検索終了後は、すべてのドキュメント定義が表示されるようにリフレッシュします。

    B2B構成

    「アプリケーション・サーバー接続」ページで指定した接続を使用して、Oracle B2Bにブラウザを開きます。Oracle B2Bでは、ドキュメント定義を作成してアグリーメントに挿入し、そのアグリーメントをデプロイできます。次に、このダイアログに戻って「リフレッシュ」をクリックし、新しいドキュメント定義を選択します。

    ルーティングIDの使用

    ドキュメント・ルーティングIDを使用するドキュメント定義をすべて選択します。詳細は、「ドキュメント・ルーティングIDの使用」を参照してください。

    選択したタイプに応じて手順が異なります。

    • 「デフォルト」統合タイプの場合は、ステップ10に進みます。

    • 「AQ」統合タイプの場合は、ステップ11に進みます。

    • 「JMS」統合タイプの場合は、ステップ15に進みます。

  10. 「終了」ページで、「終了」をクリックします。

  11. 「サービス接続」ページで、次のいずれかを実行します。

    • 「接続」リストからデータベース接続を選択し、「次」をクリックします。

    • または、「新規」をクリックし、アプリケーション・サーバー接続を作成します。アプリケーション・サーバー接続の作成ウィザードに従ってください。

    データベース接続が確立されたときに表示される情報。

    表2-6 サービス接続

    パラメータ 説明

    ユーザー名

    データベース接続用に作成されたユーザー名です。

    ドライバ

    JDBCドライバが指定されます。

    接続文字列

    JDBC接続文字列が指定されます。

    JNDI名

    デフォルトのJava Naming and Directory Interface (JNDI)名を使用するか、カスタム名を指定します。この接続を使用して、設計時にアダプタを構成し、実行時にデータベース・サーバーに接続できます。

    データ・ソース

    data-sources.xml内のデータソースの検索に使用するJNDI名を入力します。data-sources.xmlを使用して接続を取得する場合、この名前は必須です。

    XAデータ・ソース

    データソース名がXAデータソースの場合に、このオプションを選択します。XAデータソースは、複数のリソースにまたがることのできるXAグローバル・トランザクションに参加できます。このトランザクションで、アプリケーション・サーバーは、それぞれが1つのトランザクションに関係する複数のデータベース(またはJMSのような他のリソース)とのトランザクション調整マネージャとして機能します。このオプションを選択すると、アダプタはXAトランザクションの一部になります。それ以外の場合は、ローカル・トランザクションになります。

  12. 「キュー名」ページで、データベース・スキーマとキュー名を選択します。

    B2Bに使用できるのは、IP_MESSAGE_TYPEタイプのキューのみです。

  13. 「キュー・パラメータ」ページで、次の手順を実行します。

    • エンキュー操作には、受信者名またはカンマ区切りの受信者リストを入力します。受信者を未入力にすると、メッセージは該当するキューのすべてのサブスクライバに送信されます。このフィールドは、アウトバウンド・ヘッダーのRecipientListフィールドを設定することで、メッセージ別にオーバーライドできます。デフォルト値はb2buserです。

    • デキュー操作には、次の情報を入力します。

      • コンシューマ: キューをサブスクラブするエージェントの名前。このフィールドは必須で、30文字まで入力可能です。デフォルト値はb2buserです。

      • メッセージ・セレクタ・ルール: (オプション)メッセージ・プロパティまたはメッセージ・コンテンツに基づいてデキューするためのメッセージのフィルタ処理ロジック(たとえば、priority < 5またはtab.user_data.amount > 10000)。ルールを指定すると、コンシューマ名とメッセージ・セレクタ・ルールを使用するエージェントがキュー内に作成されます。アダプタでは、以前に作成したエージェントのメッセージ・セレクタ・ルールは変更されないため、コンシューマ名は新しいエージェント名にする必要があります。入力したロジックに関して検証処理は実行されません。

      • デキュー条件: SQL問合せのWHERE句に似たブール式。この式には、メッセージ・プロパティ、ユーザー・データ・プロパティ(オブジェクト・ペイロードのみ)およびPL/SQLまたはSQL関数に関する条件を含めることができます。複数のメッセージがデキュー条件を満たす場合、デキュー順序は不定になり、キューのソート順は考慮されません。

  14. 「終了」をクリックします。

  15. 「JMSプロバイダ」ページで、次のいずれかを選択します。

    • Oracle Enterprise Messaging Service (OEMS): Oracle WebLogic JMSまたはOracle Advanced Queuing

      OEMSはJMSおよびJ2EE Connector Architecture (JCA)で作成されます。これにより、サービス指向アーキテクチャ環境で分散アプリケーションを開発して統合できます。このメッセージング・プラットフォームは、メッセージの保持とリカバリのためのサービスを提供します。

    • サード・パーティ: メッセージをTibco JMSやIBM WebSphere MQ JMSのようなサード・パーティのJMSプロバイダに保持します。

  16. 「Oracle WebLogic JMS」または「Oracle Advanced Queuing」を選択した場合は、「サービス接続」ページが表示されます。「サービス接続」ページで、次のいずれかを実行します。

    • 「アプリケーション・サーバー接続」リストから既存のアプリケーション・サーバー接続を選択し、「次」をクリックします。

    • または、「新規」をクリックし、アプリケーション・サーバー接続を作成します。「アプリケーション・サーバー接続の作成」ウィザードに従ってください。

    サード・パーティを選択した場合は、「JMS接続」ページが表示されます。「JMS接続」ページで、JMS接続のJNDI名を指定し、「次」をクリックします。

  17. ステップ7で「送信」を選択した場合は、「発行操作のパラメータ」ページが表示されます。ステップ7で「受信」を選択した場合は、「消費操作のパラメータ」ページが表示されます。

    「発行操作のパラメータ」ページでは、次の情報を指定し、「次」をクリックします。

    • 接続先名: メッセージを発行するキューまたはトピックのJNDI名を入力するか、「参照」をクリックして名前を選択します。通常、このフィールドの値はJNDI名になります。

    • メッセージ本文のタイプ: メッセージ本文(ペイロード)のタイプを選択します。

      • テキスト・メッセージ: ペイロードが文字列の場合は、このオプションを使用します。

      • バイト・メッセージ: ペイロードがプリミティブ・バイトの配列の場合は、このオプションを使用します。

    • 配信モード: メッセージの配信モードを選択します(WebLogic JMSを選択した場合のみ)。

      • 永続: メッセージがファイル・システムまたはデータベースに永続的に保持されるようにするには、このオプションを使用します。

      • 非永続: メッセージが永続的でなく、通常はプロセス・メモリーにのみ保持されるようにするには、このオプションを使用します。

    • 優先度: 優先度の値を選択します。9は最上位の優先度、0は最下位の優先度を表します。

    • 存続時間: メッセージの存続時間を示す値を入力します。指定した時間内でメッセージを消費するサブスクライバがない場合、メッセージは配信されません。指定する値には制限がありません。値を0に指定した場合、有効期限はありません。

    • JNDI名: 「接続先名」フィールドでの選択内容に基づいてJNDI名が表示されます(WebLogic JMSまたはAdvanced Queuingを選択した場合のみ)。

    「消費操作のパラメータ」ページでは、次の情報を指定し、「次」をクリックします。

    • 接続先名: メッセージを消費するキューまたはトピックのJNDI名を入力するか、「参照」をクリックして名前を選択します。

    • メッセージ本文のタイプ: メッセージ本文(ペイロード)のタイプを選択します。

      • テキスト・メッセージ: ペイロードが文字列の場合は、このオプションを使用します。

      • バイト・メッセージ: ペイロードがプリミティブ・バイトの配列の場合は、このオプションを使用します。

    • メッセージ・セレクタ: 特定の基準と一致するメッセージを受信可能にするフィルタ・ロジックを指定します。1文字から255文字の範囲内で式を入力します。このフィールドではSQL92構文を使用します。JMSサーバーは、この基準を使用して、このコンシューマが受信したメッセージをフィルタします。メッセージ・セレクタは、標準JMSヘッダーとユーザー定義プロパティに定義されている変数を操作します。メッセージのペイロードにある変数や要素は使用できません。

    • MessageListenerを使用: 「JMSプロバイダ」ページで「Oracle Weblogic JMS」を選択した場合、このオプションはデフォルトで「false」に設定されます。オプションは変更できません。「JMSプロバイダ」ページで「Oracle Advanced Queueing」を選択した場合は、「true」または「false」を選択します(「Oracle Advanced Queueing」またはサード・パーティを選択した場合のみ)。

    • 永続サブスクライバID: JMSトピックからメッセージを受信するためのIDを入力します。IDを指定しないと、メッセージを受信するのにアクティブ・サブスクリプション・セッションが必要になります。このトピックにIDを指定すると、現時点でアクティブ・サブスクリプション・セッションがない場合もメッセージが届きます。永続サブスクライバがJMSサーバーから切断されている場合、メッセージはサーバーで保管されます。永続サブスクライバが再接続すると、期限の切れていない累積したメッセージがサーバーによって送信されます(サード・パーティを選択した場合のみ)。

    • JNDI名: 「接続先名」フィールドでの選択内容に基づいてJNDI名が表示されます(WebLogic JMSまたはAdvanced Queuing を選択した場合のみ)。

    • ストリーミングの有効化: この機能を有効にすると、ペイロードはデータベースにストリーミングされます。この機能は大きなペイロードに使用します。ストリーミングを有効にすると、対応するBooleanプロパティStreamPayloadが、各.jcaファイルに定義されているActivationSpecプロパティに追加されます。StreamPayloadプロパティがない場合は、デフォルト値のfalseに判断されます。このプロパティは、Rawメッセージ、XMLTypeメッセージおよびADT属性を介してペイロードが指定されるADTタイプのメッセージを処理する際に適用可能です。

  18. 「終了」をクリックします。

バインディング・コンポーネントの詳細は、『Oracle SOA SuiteでのSOAアプリケーションの開発』の次のトピックを参照してください。

2.5.2 B2B構成ウィザードでのJMS統合タイプの使用について

JMS統合タイプを選択した場合は、jca.jms.JMSProperty接頭辞が付いたJMSプロパティ(jca.jms.JMSProperty.property_nameなど)を使用する必要があります。(一方、B2B構成ウィザードでデフォルトまたはAQ統合タイプを選択した場合は、MSG_IDINREPLYTO_MSG_IDFROM_PARTYTO_PARTYACTION_NAMEMSG_TYPEDOCTYPE_NAMEDOCTYPE_REVISIONなどのメッセージ・プロパティをそのままSOAコンポジット・アプリケーションで使用できます)。

表2-7に、Oracle JCAアダプタでJMSに対して使用できるJMSプロパティを示します。

表2-7 JMSアダプタのプロパティ

プロパティ名 Oracle JCAアダプタでJMSに対して使用する場合のプロパティ名
MSG_ID jca.jms.JMSProperty.MSG_ID
INREPLYTO_MSG_ID jca.jms.JMSProperty.INREPLYTO_MSG_ID
FROM_PARTY jca.jms.JMSProperty.FROM_PARTY
TO_PARTY jca.jms.JMSProperty.TO_PARTY
ACTION_NAME jca.jms.JMSProperty.ACTION_NAME
MSG_TYPE jca.jms.JMSProperty.MSG_TYPE
DOCTYPE_NAME jca.jms.JMSProperty.DOCTYPE_NAME
DOCTYPE_REVISION jca.jms.JMSProperty.DOCTYPE_REVISION
ATTACHMENT jca.jms.JMSProperty.ATTACHMENT
A2A jca.jms.JMSProperty.A2A

JMSメッセージ相関の場合は、プロパティA2A=trueを設定します。バックエンド・アプリケーションからMSG_IDが提供される場合、そのMSG_IDがB2B出力のJMS相関IDとして設定されます。

たとえば、これらの送信者プロパティと値は、図2-13に示すように、アウトバウンド・コンポジットに対するメディエータ・コンポーネントの「値の割当て」ダイアログで追加されます。

図2-13 「値の割当て」ダイアログでのJCA JMSプロパティの追加

図2-13の説明が続きます
「図2-13 「値の割当て」ダイアログでのJCA JMSプロパティの追加」の説明