この章では、Oracle B2Bで提供されるB2Bトランザクションを作成するためのWebベースのインタフェースについて説明します。また、Oracle B2Bトランザクションを作成するためのプロセス・フローと、Oracle JDeveloper環境でOracle B2Bを使用する方法についても説明します。
この章には次のトピックが含まれます:
Oracle SOA Suite (Oracle B2Bも含めて)のインストールに加え、次の機能もインストールする必要があります。
Oracle Document Editorの規格に基づいたテンプレートを使用して、ガイドライン・ファイルを作成します。次に、Oracle B2Bを使用して、トランザクションをB2Bアグリーメントの一環として作成し、デプロイします。SOAコンポジット・アプリケーションにB2Bトランザクションを組み込むには、図2-1に示すOracle JDeveloperを使用します。
図2-1 Oracle JDeveloper: SOAコンポジット・アプリケーションとB2Bバインディング・コンポーネント
詳細は、次を参照してください:
Oracle Fusion Middleware Oracle SOA Suiteインストレーション・ガイド。Oracle SOA Suiteの一部としてのOracle B2Bのインストールに関する情報が記載されています。
Oracle B2Bドキュメント・エディタの「ヘルプ」メニュー
Oracle JDeveloperの「ヘルプ」メニュー
この手順では、Oracle B2Bを含むOracle SOA Suiteがすでにインストールされていることを前提にしています。詳細は、Oracle Fusion Middleware Oracle SOA Suiteインストレーション・ガイドを参照してください。
サポートされている次のWebブラウザを使用できます。
Microsoft Internet Explorer 7.xおよび8.x
Mozilla Firefox 2.xおよび3.x
Apple Safari 4.x
Oracle B2Bへのログイン手順
サポートされているWebブラウザを開き、次の場所にアクセスします。
http://host_name:port_number/b2bconsole
ここで:
host_name
は、Oracle SOA Suiteがインストールされているホストの名前です。(クラスタ環境では、host_name
がフロントエンドのロード・バランサである場合があります)
port_number
は、管理対象サーバーによる通常のHTTP(非SSL)接続のリスニングに使用されるポート番号です。(クラスタ環境では、port_number
はルーター・ポートになります。)
詳細は、第2.2.1項 ポート情報の検索を参照してください。
/b2bconsole
(または/b2b
)によってB2Bインタフェースにアクセスします(/b2b
は/b2bconsole
にリダイレクトされます)。
/b2bconsoleおよび/b2b
設定をOracle HTTP Serverのmod_wl_ohs.conf
ファイルに追加してOracle B2Bユーザー・インタフェース・ページを保護する方法については、第2.2.2項 シングル・サインオン(SSO)を使用したOracle B2Bへのアクセス
を参照してください。
注意: SAMLが有効な場合またはWindowsのネイティブ認証環境でOracle B2Bにアクセスする場合は、次のいずれかの保護サーブレットURLを使用して自動認証します。http://host_name:port_number/b2b/ssologin http://host_name:port_number/b2bconsole/ssologin |
ログイン・ページで、次の情報を入力します。
フィールド名 | 指定する情報 |
---|---|
ユーザー名 | デフォルトの管理者ユーザー名を入力します。 |
パスワード | Oracle Fusion Middleware 11gインストールの管理者パスワードを使用します。 |
注意: B2Bユーザー・インタフェース(UI)・セッションのアイドル・タイムアウトのデフォルト値は5分です。 |
Oracle Weblogic Server管理コンソールから
コンソールにログインします。
「ドメイン構造」ペインで、図2-2に示すように、「環境」を開いて「サーバー」をクリックします。
サーバーの「リスニング・ポート」列を書き留めます。
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>
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>
Oracle Internet Directory (OID)のweblogic
ユーザーがOracle B2Bに管理者としてログインしてユーザーを検索するためには、OIDオーセンティケータに管理者グループを割り当て、weblogic
ユーザーをそのグループのメンバーにする必要があります。
weblogicユーザーを有効にするには:
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
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に示す「管理」ページのタブを使用して、インポートとエクスポート、ドキュメント・プロトコル、デプロイメント、タイプ、バッチ処理、コールアウト、パージ、リスニング・チャネルおよびB2B構成を管理します。
詳細は、第III部「Oracle B2Bの管理」を参照してください。
図2-4に示すように、「パートナ」ページのタブを使用して、取引パートナ情報の作成と更新、アグリーメント情報の作成と更新、ユーザー情報の追加、取引パートナへのドキュメントの関連付け、チャネルの設定、およびキー・ストアの構成を実行します。
詳細は、第II部「Oracle B2Bプロセス・フロー」を参照してください。
図2-5に示すように、「レポート」ページのタブを使用して、インスタンス(ランタイム)データに関するレポートの作成と表示を実行します。
詳細は、第18章 レポートの作成を参照してください。
図2-6に示すように、「メトリック」ページのタブを使用して、デプロイされたアグリーメント(アクティブなドキュメント・タイプや取引パートナのリストなど)および実行時の状況(エラー・メッセージやメッセージ件数など)に関する情報を表示します。
詳細は、第19章 B2Bメトリックの使用を参照してください。
図2-7にB2Bプロセス・フローを示します。このフローは、Oracle Document EditorでのB2Bガイドライン・ファイルの作成で始まり、次にOracle B2Bインタフェースを使用したドキュメント定義の作成、取引パートナの構成、アグリーメントの作成とデプロイが続きます。
手順1: Oracle Document Editorでのガイドライン・ファイル(ECSファイルおよび(必要な場合は) XSDファイル)の作成
図2-8に示すように、Oracle B2Bドキュメント・エディタでは、業界標準の何百ものプロトコルのテンプレートに基づいてトランザクション・ドキュメントを作成します。Oracle Document Editorは、変換が必要な場合にのみ必要です。このエディタはXMLドキュメントでは使用されません。
Oracle Document Editorの詳細は、次の情報を参照してください。
Oracle Document Editorの「ヘルプ」メニュー(図2-9を参照)。
手順2: ドキュメント定義の作成
Oracle B2Bの「管理」→「ドキュメント」タブを使用して、図2-10に示すように、ドキュメント・プロトコルのリストからプロトコルを選択し、ドキュメント・プロトコル・バージョン名、ドキュメント・タイプ名およびドキュメント定義名を指定します。(カスタム・ドキュメントの場合は、ドキュメント・プロトコルのリストから選択するのではなく、「ドキュメント・プロトコル」フォルダのリストにカスタム・プロトコル名を追加します。)
手順1で作成したECSファイルとXSDファイル(必要な場合)を選択した後、ドキュメント定義が作成されています。
詳細は、第4章 ドキュメント定義の作成を参照してください。
手順3: 取引パートナの構成
図2-11に示すように、Oracle B2Bの「パートナ」ページのタブを使用して、取引パートナ名の追加と更新、識別子や連絡先情報(必要な場合)の追加、パラメータの表示、ドキュメントやデリバリ・チャネルの追加、およびキー・ストア情報の追加を実行します。
詳細は、第5章 取引パートナの構成を参照してください。
手順4: アグリーメントの作成
図2-12に示すように、Oracle B2Bの「パートナ」→「アグリーメント」タブを使用して、必要な取引パートナを指定するアグリーメントを作成し、そのアグリーメントにドキュメント定義、チャネルおよび識別子を関連付けます。
詳細は、第6章 取引パートナ・アグリーメントの作成とデプロイを参照してください。
手順5: アグリーメントのデプロイ
図2-13に示すように、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接続を使用してドキュメント定義が取得されます。 |
B2Bバインディング・コンポーネントを使用してSOAコンポジット・アプリケーションを作成するには、次を行います:
SOAコンポジット・アプリケーションの作成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドの次に関する項を参照してください:
ワイヤの追加
セキュリティの追加
SOAコンポジット・アプリケーションのデプロイ
SOAコンポジット・アプリケーションの管理とテスト
Oracle JDeveloper Studio Editionバージョン11.1.1.2.0を起動します。
Oracle JDeveloperを初めて起動している場合は、Java JDKの場所を指定します。
表2-1の説明に従って、SOAコンポジット・アプリケーションを作成します。
表2-1 SOAコンポジット・アプリケーションの作成
Oracle JDeveloperの状態 | 操作 |
---|---|
アプリケーションがない 例: Oracle JDeveloperを初めて開いている場合。 |
左上部のアプリケーション・ナビゲータで、「新規アプリケーション」をクリックします。 |
既存のアプリケーションがある |
「ファイル」メイン・メニューまたは「アプリケーション」メニューを使用します。
|
SOAアプリケーションの作成ウィザードが起動します。
アプリケーション・ページの「名前」では、必要に応じてWebプロジェクトの名前および場所を変更できます。このアプリケーションが最初のアプリケーションである場合は、「アプリケーション・テンプレート」から「SOAアプリケーション」を選択します。パッケージ接頭辞のデフォルトをそのまま使用して、「次」をクリックします。
プロジェクト・ページの「名前」では、必要に応じてSOAプロジェクトの名前および場所を変更できます。デフォルトでは、SOAプロジェクト・テクノロジ、生成されるcomposite.xml
および必要なライブラリは、モデル・プロジェクトに追加されます。「次」をクリックします。
注意: コンポジット名およびコンポーネント名は、500文字以下にする必要があります。 |
同じインフラストラクチャにデプロイされるプロジェクトは、SOAコンポジット・アプリケーション全体で一意の名前である必要があります。コンポジットの一意性はプロジェクト名で判断されます。たとえば、表2-2で説明する操作は実行しないでください。デプロイ時に、2番目にデプロイされたプロジェクト(コンポジット)で最初にデプロイされたプロジェクト(コンポジット)が上書きされます。
表2-2 SOAプロジェクト名の指定に関する制約(注意: 実行すると最初にデプロイされたプロジェクトが上書きされます)
作成するアプリケーション名 | 作成するSOAプロジェクト名 |
---|---|
|
|
|
|
SOAアプリケーションの作成ウィザードのプロジェクトSOA設定ページが表示されます。
SOA設定の構成ページで、「空のコンポジット」をクリックし、「終了」をクリックします。
「ファイル」メイン・メニューから「すべて保存」を選択します。
SOAアプリケーションとプロジェクトの作成の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。
サービス・コンポーネントは、ビジネス・ロジックやアプリケーションの処理ルールを実装します。
コンポーネント・パレットで、「SOA」を選択します。
「サービス・コンポーネント」リストから、コンポーネントをデザイナにドラッグします。
図2-14に、デザイナに追加されるBPELプロセスを示します。
選択したサービス・コンポーネントに固有のダイアログが表示されます。表2-3に、使用可能なエディタを示します。
表2-3 サービス・コンポーネント・エディタの開始
ドラッグするサービス・コンポーネント | 起動されるダイアログ |
---|---|
BPELプロセス |
「BPELプロセスの作成」ダイアログが開きます。このダイアログで、一連のビジネス・アクティビティおよびサービスをエンドツーエンドのプロセス・フローに統合するBPELプロセスを作成します。 |
ビジネス・ルール |
「ビジネス・ルールの作成」ダイアログが開きます。このダイアログで、ルールに基づいてビジネス・デシジョンを作成します。 |
ヒューマン・タスク |
「ヒューマン・タスクの作成」ダイアログが開きます。このダイアログで、ユーザーまたはグループがエンドツーエンドのプロセス・フローの一環として実行するタスクを記述するワークフローを作成します。 |
メディエータ |
「メディエータの作成」ダイアログが開きます。このダイアログで、メッセージやイベントのルーティング、フィルタおよびトランスフォーメーションを実行するサービスを定義します。 |
サービス・コンポーネントの設定を構成します。サービス・コンポーネントのダイアログに関するヘルプは、「ヘルプ」をクリックするか、[F1]を押します。「終了」をクリックします。
「OK」をクリックします。
「ファイル」メイン・メニューから「すべて保存」を選択します。
サービス・コンポーネントの追加の詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。
サービスまたは参照バインディング・コンポーネントを追加します。
コンポーネント・パレットで、「SOA」を選択します。
「B2B」を「公開されたサービス」または「外部参照」スイムレーンにドラッグします。
インバウンド・メッセージを受信するには「公開されたサービス」を選択します。
アウトバウンド・メッセージを送信するには「外部参照」を選択します。
B2B構成ウィザードの「ようこそ」ページで、「次」をクリックします。
「サービス名」ページで、B2Bサービスの名前を指定して「次」をクリックします。
「B2B統合タイプ」ページで、表2-4の説明に従って統合タイプを選択します。
「アプリケーション・サーバー接続」ページで、次のいずれかを実行します。
「アプリケーション・サーバー接続」リストからアプリケーション・サーバー接続を選択し、「次」をクリックします。
または、「新規」をクリックし、アプリケーション・サーバー接続を作成します。「アプリケーション・サーバー接続の作成」ウィザードに従ってください。
アプリケーション・サーバー接続が確立されると、アプリケーション・サーバー接続用に作成されたユーザー名、サーバー・インスタンスのホスト名、およびSOAサーバー名が表示されます。アプリケーション・サーバー接続を選択すると、Weblogicで実行されている構成済のSOAサーバーが表示されます。SOAサーバーを選択すると、SSLまたはHTTPポートが取得され、ドキュメント定義を取得するためのB2B WebサービスURLが生成されます。
また、「B2Bテスト」をクリックすると、Oracle B2Bインストールに接続できることを検証できます。
「操作」ページで、表2-5の説明に従って、「送信」または「受信」を選択します。
「ドキュメント定義の処理」ページで、表2-6の説明に従って、「標準」タブのオプションまたは「詳細」タブのいずれかのオプションを選択します。
表2-6 ドキュメント定義の処理オプションの選択
オプション | 説明 |
---|---|
「標準」タブ |
- |
B2Bからのスキーマのインポート |
Oracle B2Bからスキーマをインポートします(「詳細」タブにあるオプションと同じ)。 |
「詳細」タブ |
- |
B2Bからのスキーマのインポート |
Oracle B2Bからスキーマをインポートします(「標準」タブにあるオプションと同じ)。 |
B2Bリポジトリでスキーマを参照します |
メタデータ・サービス(MDS)接続を選択します。または、このオプションを使用して、新しい接続を作成します。新しいMDS接続を作成する場合は、MDS接続ウィザードを使用して接続を作成します。この接続は、B2Bリポジトリのアクセスに必要です。ドキュメント定義を選択すると、MDSにリンクするURLが生成されます。 選択したアプリケーション・サーバー接続は、特定のB2Bインスタンスを参照します。特定のB2Bインスタンスによって使用されるMDS接続は、ドキュメント定義が矛盾しないように、選択したMDS接続と一致している必要があります。 B2Bリポジトリ内のスキーマを参照するとき、MDS接続はリモートMDS内のスキーマを参照する場合にのみ必要であり、ローカル共有MDSリポジトリ内でスキーマを参照する場合は必要ありません。 ローカル共有MDS内のB2Bスキーマ |
リソース・スキーマの参照 |
SOAリソース・ブラウザを使用してスキーマを参照します。このオプションを選択すると、「タイプ・チューザ」が開きます。タイプを選択し、「ドキュメント定義の処理」ページに戻ります。 |
不透明 |
コンテンツがbase-64エンコーディングで渡される場合に、あらゆるタイプのデータ(例: 位置指定フラット・ファイル)を処理します。スキーマは指定されません。 |
anyType |
あらゆるタイプのXMLデータを処理します。スキーマは指定されません。これは「デフォルト」の統合タイプに対してのみ有効および使用可能であり、AQやJMSでは無効です。 |
添付ファイルのメッセージ部分をB2B WSDLファイルに挿入できるように、「デフォルト」統合タイプに対して「添付サポート」を選択することもできます。
「ドキュメント定義」ページで、ツリーを展開してドキュメント定義を選択します。複数のルート要素があるドキュメント定義を選択した場合は、使用するルート要素を選択して「OK」をクリックします。
表2-7に、ページに属するその他のオプションを示します。
表2-7 ドキュメント定義ページのオプション
オプション | 説明 |
---|---|
検索 |
定義名を入力します。定義名の先頭部分を入力すると、部分的な文字列が照合されます。部分的な文字列にはワイルドカードを使用できません。 |
リフレッシュ |
B2Bサーバーからドキュメント定義リストを取得します。検索終了後は、すべてのドキュメント定義が表示されるようにリフレッシュします。 |
B2B構成 |
「アプリケーション・サーバー接続」ページで指定した接続を使用して、Oracle B2Bにブラウザを開きます。Oracle B2Bでは、ドキュメント定義を作成してアグリーメントに挿入し、そのアグリーメントをデプロイできます。次に、このダイアログに戻って「リフレッシュ」をクリックし、新しいドキュメント定義を選択します。 |
ルーティングIDの使用 |
ドキュメント・ルーティングIDを使用するドキュメント定義をすべて選択します。詳細は、第8.10項 ドキュメント・ルーティングIDの使用を参照してください。 |
選択したタイプに応じて手順が異なります。
「終了」ページで、「終了」をクリックします。
「サービス接続」ページで、次のいずれかを実行します。
「接続」リストからデータベース接続を選択し、「次」をクリックします。
または、「新規」をクリックし、アプリケーション・サーバー接続を作成します。「アプリケーション・サーバー接続の作成」ウィザードに従ってください。
表2-8に、データベース接続が確立されたときに表示される情報を示します。
表2-8 サービス接続
パラメータ | 説明 |
---|---|
ユーザー名 |
データベース接続用に作成されたユーザー名です。 |
ドライバ |
JDBCドライバが指定されます。 |
接続文字列 |
JDBC接続文字列が指定されます。 |
JNDI名 |
デフォルトのJava Naming and Directory Interface (JNDI)名を使用するか、カスタム名を指定します。この接続を使用して、設計時にアダプタを構成し、実行時にデータベース・サーバーに接続できます。 |
データソース |
data-sources.xml内のデータソースの検索に使用するJNDI名を入力します。data-sources.xmlを使用して接続を取得する場合、この名前は必須です。 |
XAデータ・ソース |
データソース名がXAデータソースの場合に、このオプションを選択します。XAデータソースは、複数のリソースにまたがることのできるXAグローバル・トランザクションに参加できます。このトランザクションで、アプリケーション・サーバーは、それぞれが1つのトランザクションに関係する複数のデータベース(またはJMSのような他のリソース)とのトランザクション調整マネージャとして機能します。このオプションを選択すると、アダプタはXAトランザクションの一部になります。それ以外の場合は、ローカル・トランザクションになります。 |
「キュー名」ページで、データベース・スキーマとキュー名を選択します。
B2Bに使用できるのは、IP_MESSAGE_TYPE
タイプのキューのみです。
「キュー・パラメータ」ページで、次の手順を実行します。
エンキュー操作には、受信者名またはカンマ区切りの受信者リストを入力します。受信者を未入力にすると、メッセージは該当するキューのすべてのサブスクライバに送信されます。このフィールドは、アウトバウンド・ヘッダーのRecipientListフィールドを設定することで、メッセージ別にオーバーライドできます。デフォルト値はb2buserです。
デキュー操作には、次の情報を入力します。
コンシューマ: キューをサブスクラブするエージェントの名前。このフィールドは必須で、30文字まで入力可能です。デフォルト値はb2buserです。
メッセージ・セレクタ・ルール: (オプション)メッセージ・プロパティまたはメッセージ・コンテンツに基づいてデキューするためのメッセージのフィルタ処理ロジック(たとえば、priority < 5またはtab.user_data.amount > 10000)。ルールを指定すると、コンシューマ名とメッセージ・セレクタ・ルールを使用するエージェントがキュー内に作成されます。アダプタでは、以前に作成したエージェントのメッセージ・セレクタ・ルールは変更されないため、コンシューマ名は新しいエージェント名にする必要があります。入力したロジックに関して検証処理は実行されません。
デキュー条件: SQL問合せのWHERE
句に似たブール式。この式には、メッセージ・プロパティ、ユーザー・データ・プロパティ(オブジェクト・ペイロードのみ)およびPL/SQLまたはSQL関数に関する条件を含めることができます。複数のメッセージがデキュー条件を満たす場合、デキュー順序は不定になり、キューのソート順は考慮されません。
「終了」をクリックします。
「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プロバイダに保持します。
「Oracle WebLogic JMS」または「Oracle Advanced Queuing」を選択した場合は、「サービス接続」ページが表示されます。「サービス接続」ページで、次のいずれかを実行します。
「アプリケーション・サーバー接続」リストから既存のアプリケーション・サーバー接続を選択し、「次」をクリックします。
または、「新規」をクリックし、アプリケーション・サーバー接続を作成します。「アプリケーション・サーバー接続の作成」ウィザードに従ってください。
サード・パーティを選択した場合は、「JMS接続」ページが表示されます。「JMS接続」ページで、JMS接続のJNDI名を指定し、「次」をクリックします。
手順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
タイプのメッセージを処理する場合に適用できます。
「終了」をクリックします。
バインディング・コンポーネントの詳細は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドの次に関する項を参照してください:
サービス・バインディング・コンポーネントの追加
参照バインディング・コンポーネントの追加
バインディング・コンポーネントのスタート・ガイド
JMS統合タイプを選択した場合は、jca.jms.JMSProperty
接頭辞が付いたJMSプロパティ(jca.jms.JMSProperty.
property_name
など)を使用する必要があります(一方、B2B構成ウィザードでデフォルトまたはAQ統合タイプを選択した場合は、MSG_ID
、INREPLYTO_MSG_ID
、FROM_PARTY
、TO_PARTY
、ACTION_NAME
、MSG_TYPE
、DOCTYPE_NAME
、DOCTYPE_REVISION
などのメッセージ・プロパティをそのままSOAコンポジット・アプリケーションで使用できます)。
表2-9に、Oracle JCAアダプタでJMSに対して使用できるJMSプロパティを示します。
表2-9 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-15に示すように、アウトバウンド・コンポジットに対するメディエータ・コンポーネントの「値の割当て」ダイアログで追加されます。
SOAサンプル・アプリケーションFusion Order Demoには、B2BX12OrderGatewayというB2Bコンポジットが含まれています。このデモでは、取引パートナがEDI発注リクエスト(850)をB2Bに送信します。取引パートナは、B2Bがリスニング・チャネルを介してリスニングしているディレクトリにファイルをドロップすることで、このリクエストを送信します。B2Bは、標準のEDI 850を取得し、正規の形式に変換します。これは、Store Front Service(顧客、注文および製品のデータを更新するためにストアフロント・データ・トランザクション・サポートへのアクセスを提供するコンポジット)を起動するための一般的なデータ表現です。
発注額が(ビジネス・ルールの判断に従って)$2,000を超える場合は、手作業での承認を受けるために発注はHuman Workflowにルーティングされます。$2,000以下の注文は承認不要です。注文が承認されると、発注レスポンス(855)が生成され、取引パートナに送られます。
図2-16に、Oracle JDeveloperで表示したB2BX12OrderGatewayコンポジットを示します。
Fusion Order DemoアプリケーションのZIPファイル(FusionOrderDemo_R1PS3.zip
)を次の場所からダウンロードします。
http://www.oracle.com/technetwork/developer-tools/jdev/index-095536.html
SOAサンプル・アプリケーションの説明は、Oracle Fusion Middleware Oracle SOA Suite開発者ガイドを参照してください。
この項には、トラブルシューティングに役立つトピックが含まれています。
ロギングを有効にするには、Oracle Enterprise Manager Fusion Middleware Controlを使用します(「SOAインフラストラクチャ」→「ログ」→「ログ構成」)。詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドを参照してください。
あるいは、次の場所にあるlogging.xml
ファイルを編集します。
DOMAIN_HOME/config/fmwconfig/server/managed_server
URLに確実にアクセスでき、404エラーが発生しないように、web.xml
で、oracle.adf.share.security.authentication.AuthenticationServlet
のsuccess_url
パラメータをSSOログアウトURL (../access/oblix/lang/en-us/logout.html
など)に含める必要があります。
Oracle Single Sign-OnおよびOracle Access Managerの詳細は、Oracle Fusion Middlewareセキュリティ・ガイドを参照してください。