ヘッダーをスキップ
Oracle® Fusion Middleware Oracle SOA Suite開発者ガイド
11g リリース1 (11.1.1.7)
B56238-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

37 バインディング・コンポーネントの開始

この章では、SOAコンポジット・アプリケーションに統合できる、サポートされているサービスおよび参照バインディング・コンポーネントのタイプとテクノロジについて説明します。サポートされているバインディング・コンポーネントには、Webサービス、HTTPバインディング、JCAアダプタ、Oracle Business Activity Monitoring(BAM)、Oracle B2B、Oracle Healthcare、ADF-BCサービス、EJBサービスおよび直接バインディング・サービスがあります。外部参照のバインディングURLで使用するトークンの作成についても説明します。

この章には次の項が含まれます:

詳細は、第2.3項「サービス・バインディング・コンポーネントの追加」および第2.4項「参照バインディング・コンポーネントの追加」を参照してください。

37.1 バインディング・コンポーネントの概要

バインディング・コンポーネントは、SOAコンポジット・アプリケーションと外部との接続を確立します。バインディング・コンポーネントには、次の2種類があります。

図37-1は、Fusion Order DemoのOrderBookingCompositeプロジェクトを示しており、ここでは「公開されたサービス」スイムレーンのサービス(UpdateOrderStatus)がコンポジットへのエントリ・ポイントを提供し、「外部参照」スイムレーンの参照(BAM_OrderDO)によって、外部のOracle Business Activity Monitoring (BAM)サーバーへ情報を送信できます。

図37-1 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネント

図37-1の説明が続きます
「図37-1 サービス・バインディング・コンポーネントおよび参照バインディング・コンポーネント」の説明

バインディング・コンポーネントを使用すると、次のタイプのテクノロジをSOAコンポジット・アプリケーションに統合できます。

次の各項では、これらのテクノロジについて説明します。

37.1.1 Webサービス

このサービスを使用すると、アプリケーションをSOAP over HTTPを使用した標準ベースWebサービスに統合できます。WSDLファイルには、複数のWebサービスが記述されています。

WebサービスをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するための「Webサービスの作成」ダイアログが表示されます。

Webサービスの詳細は、第2.3.2項「Webサービスのインタフェース(WSDL)の定義方法」を参照してください。

メッセージ転送最適化メカニズム(MTOM)添付をWebサービスに追加する方法の詳細は、第45.1.1.3項「SOAコンポジット・アプリケーションとのMTOM最適化メッセージの送受信」を参照してください。

37.1.1.1 WS-AtomicTransactionのサポート

「Webサービスの作成」ダイアログでは、WS-CoordinationおよびWS-AtomicTransaction(WS-AT)トランザクションのサポートも構成できます。WS-ATにより、Oracle WebLogic Serverと他のベンダーのトランザクション・サービス間でトランザクションの相互運用を行うことができます。相互運用は次の2レベルで行われます。

  • ローカルJava Transaction API(JTA)環境からWebサービス・リクエストへのトランザクションのエクスポート。

  • Webサービス・リクエストからローカルJTA環境へのトランザクションのインポート。これによって、Webサービス環境での複数ノード間の分散トランザクション処理が可能になります。

図37-2に、「Webサービスの作成」ダイアログの下部にあるWS-ATのサポートを示します。

図37-2 「Webサービスの作成」ダイアログでのWS-ATのサポート

図37-2の説明が続きます
「図37-2 「Webサービスの作成」ダイアログでのWS-ATのサポート」の説明

表37-1では、WS-ATフィールドについて説明しています。「Webサービスの作成」ダイアログの残りのフィールドの詳細は、第2.3.2項「Webサービスのインタフェース(WSDL)の定義方法」を参照してください。

表37-1 「Webサービスの作成」ダイアログのWS-ATのフィールド

プロパティ 説明

トランザクション参加

値を選択します。Webサービスを「公開されたサービス」スイムレーンに追加すると、外部トランザクション・マネージャでは、Oracle WebLogic ServerでホストされているリソースをWS-ATを使用して調整できます。また、Webサービスを「外部参照」スイムレーンに追加すると、Oracle WebLogic Serverのトランザクションでは、外部環境でホストされているリソースをWS-ATを使用して調整できます。

  • なし

    トランザクション・コンテキストはインポート(サービスの場合)またはエクスポート(参照の場合)されません。Webサービスをサービス・バインディング・コンポーネントとして「公開されたサービス」スイムレーンに追加した場合は、これがデフォルトです。

  • サポート

    トランザクションが存在する場合は、トランザクション・コンテキストがインポート(サービスの場合)またはエクスポート(参照の場合)されます。この情報はcomposite.xmlファイルに追加されます。

  • 必須

    トランザクション・コンテキストはインポート(サービスの場合)またはエクスポート(参照の場合)されます。この情報はcomposite.xmlファイルに追加されます。エクスポートの場合、アクティブなトランザクションが存在しない場合はWebサービス例外メッセージがスローされます。インポートの場合、リクエストにトランザクション・コンテキストが存在しない場合はフォルトがクライアントに戻されます。

  • WSDLDriven

    このプロパティが表示されるのは、Webサービスを参照バインディング・コンポーネントとして「外部参照」スイムレーンに追加した場合のみです。これがデフォルト値です。

バージョン

WS-ATでサポートされるバージョン(1.0、1,1、1,2またはデフォルト)が表示されます。デフォルトでは、このリストが有効になるのは、「トランザクション参加」リストから「サポート」または「必須」を選択した場合のみです。


完了すると、例37-1に示すように、WS-ATの選択内容がcomposite.xmlファイルに表示されます。

例37-1 composite.xmlファイルのWS-AT構文

  <service name="Service1" ui:wsdlLocation="BPELProcess1.wsdl">
    <interface.wsdl interface="http://xmlns.oracle.com/Application5_
jws/Project1/BPELProcess1#wsdl.interface(BPELProcess1)"
                    callbackInterface="http://xmlns.oracle.com/Application5_
jws/Project1/BPELProcess1#wsdl.interface(BPELProcess1Callback)"/>
    <binding.ws port="http://xmlns.oracle.com/Application5_
jws/Project1/BPELProcess1#wsdl.endpoint(Service1/BPELProcess1_pt)">
      <property name="weblogic.wsee.wsat.transaction.flowOption"
                type="xs:string" many="false">SUPPORTS</property>
      <property name="weblogic.wsee.wsat.transaction.version" type="xs:string"
                many="false">WSAT11</property>
    </binding.ws>

変更内容を編集するには、サービスを右クリックして「編集」を選択するか、SOAコンポジット・エディタでサービスをダブルクリックします。

デプロイメント後は、システムMBeanブラウザを使用して、トランザクション参加およびバージョンの値を変更できます。詳細は、Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイドを参照してください。

WS-ATおよびWS-Coordinationの詳細は、Oracle Fusion Middleware Oracle Infrastructure Webサービス開発者ガイドを、WS-ATおよびWS-Coordinationの仕様については次のURLを参照してください。

http://www.oasis-open.org
37.1.1.1.1 WS-ATでのBPELプロセスの参加確認

WS-AT参加プロパティの設定に加え、クライアントが、BPELプロセスであるWebサービスを呼出し、そのWebサービスが呼出し側のトランザクションに登録される場合、呼出し対象のBPELプロセスは、対応するcomposite.xmlファイルでtransactionプロパティが設定されている必要があります。

<property name="bpel.config.transaction">required</property>

この設定によって、エラーが発生(整合性制限違反によるデータベース・アダプタ呼出しの失敗など)しても、トランザクション・ロールバックは正常に完了することが保証されます。

transactionプロパティの設定方法の詳細は、第4.1.1項「BPELプロセス・サービス・コンポーネントの追加方法」C.1.1項「プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法」および第13.1.1項「Oracle BPEL Process Managerのトランザクション・セマンティクス」を参照してください。

37.1.1.1.2 最適化が有効な場合にWS-ATトランザクションがサポートされない

「Webサービスの作成」ダイアログの「トランザクション参加」ドロップダウン・リストから、WS-ATトランザクションをサポートするためにサービスまたは参照のいずれかとしてWebサービス・バインディング・コンポーネントを構成できます。WS-ATトランザクションは、oracle.webservices.local.optimizationプロパティをfalseに設定すると、コンポジットからWebサービスへの呼出し環境またはWebサービスからコンポジットへの呼出し環境でサポートされます。

WS-ATトランザクションは、oracle.webservices.local.optimizationプロパティがfalseに設定されていても、コンポジットからコンポジットへの呼出しではサポートされません。

oracle.webservices.local.optimizationプロパティの詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。

37.1.2 HTTPバインディング・サービス

HTTPバインディング・サービスを使用すると、SOAコンポジット・アプリケーションとHTTPバインディングを統合できます。

「HTTPバインディング」サービスを「コンポーネント・パレット」からSOAコンポジット・エディタのスイムレーンにドラッグして、「HTTPバインディング・ウィザード」を起動します。この追加によって、HTTPバインディングを次のように構成できます。

  • HTTPのPOSTおよびGET操作からSOAコンポジット・アプリケーションを起動するサービス・バインディング・コンポーネントとして「公開されたサービス」スイムレーンに構成します。

  • HTTPのPOSTおよびGET操作からHTTPエンドポイントを起動する参照バインディング・コンポーネントとして「外部参照」スイムレーンに構成します。


注意:

SOAコンポジット・アプリケーションでHTTPバインディングを使用する際は、次の点に注意してください。

  • アウトバウンドHTTPバインディング参照でサポートされているのは、外部HTTPエンドポイントからのレスポンスとしてのXMLのみです。レスポンスには、アウトバウンド予測に従った正しいXMLパート名が含まれている必要があります。

  • HTTPバインディング・コンポーネントのhttpBindingプロパティは、実行時にOracle Enterprise Manager Fusion Middleware Controlで変更できません。


37.1.2.1 サポートされている相互作用

表37-2に、インバウンド方向およびアウトバウンド方向でサポートされている動詞、ペイロードおよび操作を示します。

表37-2 サポートされている動詞、ペイロードおよび操作

方向 動詞 ペイロード・タイプ 操作 サポート対象か

インバウンド

GET

URLエンコード

一方向

はい

インバウンド

GET

URLエンコード

リクエスト/レスポンス

はい

インバウンド

GET

XML

一方向

いいえ

インバウンド

GET

XML

リクエスト/レスポンス

いいえ

インバウンド

POST

URLエンコード

一方向

はい

インバウンド

POST

URLエンコード

リクエスト/レスポンス

はい

インバウンド

POST

XML

一方向

はい

インバウンド

POST

XML

リクエスト/レスポンス

はい

アウトバウンド

GET

URLエンコード

一方向

いいえ

アウトバウンド

GET

URLエンコード

リクエスト/レスポンス

はい

アウトバウンド

GET

XML

一方向

いいえ

アウトバウンド

GET

XML

リクエスト/レスポンス

はい

アウトバウンド

POST

URLエンコード

一方向

いいえ

アウトバウンド

POST

URLエンコード

リクエスト/レスポンス

はい

アウトバウンド

POST

XML

一方向

いいえ

アウトバウンド

POST

XML

リクエスト/レスポンス

はい


表37-3に、インバウンド方向およびアウトバウンド方向に対してXSDでサポートされているタイプを示します。

表37-3 XSDでサポートされているタイプ

方向 XSDでのタイプ タイプがサポートされているか

インバウンド

単純

はい

インバウンド

複合

POSTリクエストはサポートされています

GETリクエストはサポートされていません

インバウンド

ネイティブ

いいえ

アウトバウンド

単純

はい

アウトバウンド

複合

POSTリクエストはサポートされています

GETリクエストはサポートされていません

アウトバウンド

ネイティブ

いいえ


次のHTTPヘッダーは、インバウンド方向またはアウトバウンド方向のいずれかでサポートされていません(つまり、コンポジットでHTTPヘッダーにアクセスした場合、そのヘッダーはコンポジットで設定できません)。

  • User-agent

  • Content-type

  • Content-length

  • Server

  • Server-port

  • Referrer

  • Authorization

  • MIME-Version

  • Location

37.1.2.2 HTTPバインディング・サービスの構成方法

HTTPバインディング・サービスを構成する手順は、次のとおりです。

  1. 「HTTPバインディング」アイコンを「コンポーネント・パレット」からドラッグして、HTTPバインディングを構成するには、HTTPバインディング・ウィザードを起動します。

  2. 「ようこそ」、「サービス名」および「アダプタ・インタフェース」ページに対する適切なレスポンスを提供します。

    ウィザードのHTTPバインディング・コンポーネント・ページを使用すると、操作タイプ、動詞およびペイロード・タイプを指定できます。図37-3に詳細を示します。

    図37-3 HTTPバインディングの作成ウィザード - 「HTTPバインディング構成」ページ

    図37-3の説明が続きます
    「図37-3 HTTPバインディングの作成ウィザード - 「HTTPバインディング構成」ページ」の説明

  3. インバウンドHTTPバインディングに対して次の操作タイプを選択します。

    • 一方向操作: HTTPエンドポイントとの間でメッセージを送信または受信します。

    • 同期リクエスト/レスポンス操作: HTTPエンドポイントとの間で入力メッセージと出力メッセージを送受信します。

    HTTP POSTリクエスト・メソッドの場合は、URLエンコード(アンパサンドで区切られた名前/値ペア)またはXMLのいずれかのペイロード・タイプを選択できます。

    HTTP GETリクエスト・メソッドの場合、ペイロード・タイプはURLエンコードです。

    参照バインディング・コンポーネントのHTTP GETまたはPOSTリクエスト・メソッドの場合は、エンドポイントURLも指定するように求められます。HTTP認証およびSecure Socket Layer(SSL)もサポートされています。


    注意:

    セキュアなHTTP(HTTPS)は、インバウンド方向およびアウトバウンド方向の両方でサポートされています。


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

  5. 既存のリクエスト・メッセージ・スキーマを参照するか、「メッセージ」ページの「URL」フィールドの右にあるリンクを使用して独自のスキーマを定義します。図37-4に詳細を示します。

    図37-4 HTTPバインディングの作成ウィザード - 「メッセージ」ページ

    図37-4の説明が続きます
    「図37-4 HTTPバインディングの作成ウィザード - 「メッセージ」ページ」の説明

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

  7. 独自のスキーマを定義する場合は、要素名、データ型、最小発生数値および最大発生数値を「スキーマの作成」ダイアログで指定するように求められます。図37-5に詳細を示します。

    図37-5 HTTPバインディングの作成ウィザード - 「スキーマの作成」ページ

    図37-5の説明が続きます
    「図37-5 HTTPバインディングの作成ウィザード - 「スキーマの作成」ページ」の説明

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

    実行時には、HTTPバインディングとSOAPバインディングを使用して具体的なWSDLファイルが生成されます。これは、HTTPサポートの提供にSOAPエンドポイントが使用されているためです。

37.1.2.3 HTTPバインディングに対して基本認証を有効にする方法

インバウンドおよびアウトバウンドのHTTPバインディングでは、基本認証がサポートされています。インバウンドのHTTPバインディングに対して基本認証を有効にするには、セキュリティ・ポリシーを添付する必要があります。インバウンドHTTPバインディングは、基本認証が有効でなくても使用できます。

基本認証を有効化する手順は、次のとおりです。

  1. 「公開されたサービス」スイムレーンで作成済のHTTPバインディング・サービスを右クリックし、「WSポリシーの構成」を選択します。

  2. 「SOA WSポリシーの構成」ダイアログで、「セキュリティ」セクションにある「追加」アイコンをクリックします。

  3. 「oracle/wss_http_token_service_policy」ポリシーを選択し、「OK」をクリックします。

  4. 「SOA WSポリシーの構成」ダイアログで「OK」をクリックします。

37.1.3 JCAアダプタ

JCAアダプタを使用すると、サービスおよび参照を次のテクノロジと統合できます。

  • データベース

  • ファイル・システム

  • FTPサーバー

  • メッセージ・システム(Advanced Queueing(AQ)、Java Messaging Systems(JMS)など)

  • IBM WebSphere MQ

  • TCP/IPソケット

  • Oracle User Messaging Service

  • サード・パーティ・アダプタ(SAP、PeopleSoftなど)

JCAアダプタをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するためのアダプタ構成ウィザードが起動します。

37.1.3.1 AQアダプタ

AQアダプタを使用すると、シングル・コンシューマ・キューまたはマルチ・コンシューマ・キューと相互作用できます。

Oracle Streams AQでは、使用するアプリケーション間における双方向通信および非同期通信を行うための柔軟なメカニズムが提供されます。アドバンスト・キューはOracleデータベースの機能であるため、スケーラブルで信頼性があります。複数のキューで単一のアプリケーションに対応することも可能です。メッセージを様々な方法でパーティション化し、ロード・バランシングで別のレベルのスケーラビリティを実現します。

詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

37.1.3.2 データベース・アダプタ

データベース・アダプタを使用すると、BPELプロセスでJDBCを介してOracleデータベースやサード・パーティ・データベースと通信できます。

詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

37.1.3.3 ファイル・アダプタ

ファイル・アダプタを使用すると、BPELプロセスまたはOracle Mediatorでローカル・ファイル・システムのファイルを交換(読取りおよび書込み)できます。ファイルの内容は、XMLとXML以外のデータ形式のいずれかです。


注意:

ファイル・アダプタをコールすると、Oracle Real Application Clustersの計画的停止に対して実行する際にOracle BPEL Process Managerが同じファイルを2回処理する可能性があります。これは、ファイル・アダプタがXAに準拠していないアダプタであるためです。したがって、グローバル・トランザクションに組み入れると、各ファイルを1回のみ処理するXAインタフェース仕様に逸脱する可能性があります。


詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

37.1.3.4 FTPアダプタ

FTPアダプタを使用すると、BPELプロセスまたはOracle Mediatorでファイル転送プロトコル(FTP)を使用してリモート・ファイル・システムのファイルを交換(読取りおよび書込み)できます。ファイルの内容は、XMLとXML以外のデータ形式のいずれかです。

詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

37.1.3.5 JMSアダプタ

JMSアダプタを使用すると、Oracle BPELプロセスまたはOracle MediatorでJava Messaging System(JMS)と相互作用できます。

JMSアーキテクチャは、多数のメッセージング・サーバーに対して1つのクライアント・インタフェースを使用します。JMSモデルには次の2つのメッセージング・ドメインがあります。

  • Point-to-point: メッセージはキューを介して交換され、各メッセージは1つのレシーバにのみ送信されます。

  • Publish-subscribe: メッセージはトピックに送信され、多数のサブスクライブ対象クライアントによる読取りが可能です。

詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

37.1.3.6 MQアダプタ

MQアダプタは、BPELプロセス、Oracle MediatorおよびWebSphere MQキューイングの各システム間のメッセージ交換機能を提供します。

Messaging and Queuing Series(MQ Series)は、IBM社が開発した製品および規格の集合です。MQ Seriesは、保証付きのメッセージ配信、セキュリティおよび優先度ベースのメッセージングを備えたキューイング・インフラストラクチャを提供します。

詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

37.1.3.7 ソケット・アダプタ

ソケット・アダプタを使用すると、クライアントまたはサーバーのソケットを作成し、接続を確立できます。このアダプタを使用すると、TCP/IPソケットを介した通信用の標準または非標準プロトコルをモデル化できます。転送するデータの形式はテキストまたはバイナリのいずれかです。

詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

37.1.3.8 サード・パーティ・アダプタ

サード・パーティ・アダプタを使用すると、PeopleSoft、SAPなどのサード・パーティ・アダプタをSOAコンポジット・アプリケーションに統合できます。これらのサード・パーティ・アダプタによって、JCAアダプタを構成できるアーティファクト(WSDLおよびJCAファイル)が生成されます。

詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

37.1.3.9Oracle User Messaging Serviceアダプタ

Oracle User Messaging Serviceは、電子メール、セキュア・メッセージング・サービス(SMS)、インスタント・メッセージ、ボイスなどのメッセージング・チャネルをサポートします。Oracle User Messaging Serviceは、BPELプロセスまたはOracle Mediatorサービス・コンポーネントと外部との間のメッセージング・プロキシを提供します。Oracle User Messaging Serviceは、双方向メッセージング(インバウンドおよびアウトバウンド)を提供します。

詳細は、『Oracle Fusion Middlewareテクノロジ・アダプタ・ユーザーズ・ガイド』を参照してください。

37.1.4 Oracle Applicationsアダプタ

Oracle Applicationsアダプタは、Oracle Applicationsへの接続性を提供します。このアダプタはOracle Applicationsリリース12およびリリース11iのモジュールをすべてサポートしています。このサポートには、Oracle E-Business Suiteのバージョンに基づいたカスタム統合インタフェース・タイプの選択も含まれます。

詳細は、『Oracle Fusion Middleware Adapter for Oracle Applicationsユーザーズ・ガイド』を参照してください。

37.1.5 Oracle BAMアダプタ

Oracle BAMアダプタを使用すると、Java EEアプリケーションをOracle BAMサーバーと統合してデータを送信できます。

Oracle BAMアダプタをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するためのアダプタ構成ウィザードが起動します。

詳細は、第X部「Oracle Business Activity Monitoringの使用」、および『Oracle Fusion Middleware Oracle Business Activity Monitoringユーザーズ・ガイド』を参照してください。

37.1.6 Oracle B2B

Oracle B2Bサービスを使用すると、MDSリポジトリのB2Bメタデータを参照したり、ドキュメント定義を選択することができます。

Oracle B2Bは、組織と外部取引パートナ間における安全で信頼できるトランザクション交換を可能にするE-Commerceゲートウェイです。Oracle B2BおよびOracle SOA Suiteは、セキュリティ、準拠、可視性および管理の問題に対処するインフラストラクチャ内でプロセス・オーケストレーション、エラー低減、データ・トランスレーションとデータ・トランスフォーメーションを必要とするE-Commerceビジネス・プロセス用に設計されています。

Oracle B2BをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するためのB2B構成ウィザードが起動します。

詳細は、『Oracle Fusion Middleware Oracle B2Bユーザーズ・ガイド』を参照してください。

37.1.7 Oracle Healthcare Adapter

Oracle Healthcare Adapterを使用すると、SOAコンポジット・アプリケーションにエンドツーエンドHealthcare統合プロセスを作成できます。Healthcareアダプタにより、SOAコンポジット・アプリケーションと、データを共有する外部ヘルスケア・アプリケーションとの間の接続、あるいは内部トピックまたはキューとの接続が確立され、データを内部または他のシステムで使用できるようになります。自身のコンポジット・アプリケーションで、BPELプロセス、Oracle Mediatorコンポーネント、様々なアダプタなど他のOracle SOA Suiteコンポーネントを使用できます。

次のように、Oracle JDeveloperのHealthcare構成ウィザードで、ヘルスケア統合バインディング・コンポーネントをSOAコンポジット・アプリケーションに追加できます。

  • このコンポーネントは、外部システムからメッセージを受信してそれらをSOAコンポジット・アプリケーションに配信するためのサービス(インバウンド)として使用されます。Oracle SOA Suite for health care integrationは、SOAコンポジット・アプリケーションへのエントリ・ポイントです。

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

Healthcare構成ウィザードの手順に従うと、Oracle SOA Suite for health care integrationで作成されたドキュメント定義を選択するプロンプトが表示されます。

適切なものが存在しない場合は、そのウィザードからOracle SOA Suite for health care integrationを起動してドキュメント定義を作成できます。これは、外部システムとの間でユーザーが送受信するペイロード、つまりメッセージです。

詳細は、Oracle Fusion Middleware Oracle SOA Suite Healthcare統合ユーザーズ・ガイドを参照してください。

37.1.8 ADF-BCサービス

ADF-BCサービスを使用すると、サービス・データ・オブジェクト(SDO)を使用してOracle Application Development Framework(ADF)アプリケーションをSOAコンポジット・アプリケーションに統合できます。

ADF-BCサービスをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するための「ADF-BCサービスの作成」ダイアログが表示されます。

Oracle ADFの詳細は、次のものを参照してください。

37.1.9 EJBサービス

EJBサービスを使用すると、SDOパラメータ(インタフェースの定義にWSDLファイルを使用)またはJavaインタフェース(インタフェースの定義にWSDLファイルを使用しない)を渡すことによって、Enterprise JavaBeansとSOAコンポジット・アプリケーションが相互作用できます。

SDOを使用すると、物理的にどのようにアクセスされているかに関係なくビジネス・データを修正できます。SOAコンポジット・アプリケーションでSDOを使用する場合、特定のバックエンド・データ・ソースへのアクセス方法についての知識は不要です。つまり、静的または動的なプログラミング・スタイルを使用して、接続および切断されたアクセスを取得できます。

Enterprise JavaBeansは、Javaでエンタープライズ・アプリケーションを作成するためのコンポーネントベースの標準アーキテクチャに適合する、サーバー側ドメイン・オブジェクトです。これらのオブジェクトは、分散化されたセキュアなトランザクション・コンポーネントになります。

Javaインタフェースの場合、WSDLファイルの定義は不要です。このタイプの統合は、次のオブジェクトをサポートします。

  • ネイティブJavaオブジェクト

  • Java Architecture for XML Binding(JAXB)

EJBサービスをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するための「EJBサービスの作成」ダイアログが表示されます。

詳細は、第38章「Enterprise JavaBeansとSOAコンポジット・アプリケーションの統合」を参照してください。

37.1.10 直接バインディング・サービス

直接バインディング・サービスは、インバウンド方向では、直接バインディング起動APIを使用してSOAコンポジット・アプリケーションを起動し、Remote Method Invocation(RMI)を介してメッセージを交換します。このオプションでは、複数のJVM間のアイデンティティおよびトランザクションの両方の伝播がサポートされ、T3の最適化されたパスが使用されます。同期および非同期の両方の起動パターンがサポートされます。

アウトバウンド方向では、Oracle Service Bus(OSB)フローまたは別のSOAコンポジット・アプリケーションも起動できます。

直接バインディング・サービスをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するための「直接バインディング・サービスの作成」ダイアログが表示されます。

直接バインディングの詳細は、第39章「直接バインディング起動APIの使用」を参照してください。

直接バインディング起動APIの詳細は、Oracle Fusion Middleware Oracle SOA Suiteインフラストラクチャ管理Java APIリファレンスを参照してください。

OSBの詳細は、『Oracle Fusion Middleware Oracle Service Bus開発者ガイド』を参照してください。

37.2 バインディング・コンポーネントとSOAコンポジット・アプリケーションの統合の概要

バインディング・コンポーネントをSOAコンポジット・アプリケーションに統合するには、対象のバインディング・コンポーネントを「コンポーネント・パレット」からドラッグします。

37.2.1 バインディング・コンポーネントとSOAコンポジット・アプリケーションの統合方法

SOAコンポジット・アプリケーションにバインディング・コンポーネントを統合する手順は、次のとおりです。

  1. 「コンポーネント・パレット」の「サービス・アダプタ」セクションから、バインディング・コンポーネントを適切なスイムレーンにドラッグします。コンポーネントをドラッグするスイムレーンは、実行するアクションによって決まります。

    • SOAコンポジット・アプリケーションへのエントリ・ポイントを外部に提供する場合は、バインディング・コンポーネントを「公開されたサービス」スイムレーンにドラッグします。

    • SOAコンポジット・アプリケーションから外部にある外部サービスにメッセージを送信できるようにする場合は、バインディング・コンポーネントを「外部参照」スイムレーンにドラッグします。

    図37-6に、コンポジットにドラッグされるWebサービスを示します。これによって、様々な構成プロパティを指定するためのダイアログが表示されます。

図37-6 Webサービス・バインディング・コンポーネントとコンポジットの統合

図37-6の説明が続きます
「図37-6 Webサービス・バインディング・コンポーネントとコンポジットの統合」の説明

バインディング・コンポーネントの追加方法の詳細は、第2.3項「サービス・バインディング・コンポーネントの追加」および第2.4項「参照バインディング・コンポーネントの追加」を参照してください。

37.2.2 ADFバインディングを使用してJSP/Javaクラスからコンポジット・アプリケーションを起動する方法

SOAコンポジット・アプリケーションでWebサービス・バインディングを使用してエンドポイント参照を定義すると、JSP/Javaクラスからコンポジットを起動できません。Webサービス・バインディングは、binding.ws port="" location=""タグを使用してcomposite.xmlファイルに定義されます。例37-2に詳細を示します。

例37-2 WSバインディング定義

<service name="client_ep" ui:wsdlLocation="BPEL.wsdl"> 
    <interface.wsdl interface="http://xmlns.oracle.com/Application/Project/ 
      BPEL#wsdl.interface(BPEL)"/> 
    <binding.ws port="http://xmlns.oracle.com/App/BPELProj/ 
      BPELProcess#wsdl.endpoint(bpel_client_ep/BPELProcess_pt)"/> 
  </service> 

かわりに、ADFバインディングを使用してください。ADFバインディングを使用してコンポジットをデプロイすると、JSP/Javaクラスからコンポジットを正常に起動できます。例37-3に詳細を示します。

例37-3 ADFバインディング定義

<service name="client_ep" ui:wsdlLocation="BPEL.wsdl"> 
    <interface.wsdl interface="http://xmlns.oracle.com/Application/Project/ 
     BPEL#wsdl.interface(BPEL)"/> 
    <binding.adf serviceName="bpel_client" registryName=""/>   
  </service> 

37.3 外部参照のバインディングURLで使用するためのトークンの作成

Oracle JDeveloperで、外部参照のバインディングURL内のHTTPプロトコル、ホスト、およびポート値に対してトークンを作成できます。その後、トークンに割り当てられた値によって、composite.xmlファイルのbinding.ws要素のlocation属性内のハードコードされたHTTPホストおよびポート値が置き換えられます。

たとえば、例37-4は、プロトコル(http)、ホスト(host.us.example)およびポート(80)のハードコードされた値を持つlocation属性を示しています。

例37-4 location属性のハードコードされた値

<binding.ws
port="http://www.globalcompany.example.com/ns/CreditAuthorizationService#wsdl.
endpoint(CreditAuthorizationService/CreditAuthorizationPort)"
location="http://host.us.example:80/apps/FusionOrderDemoShared/services/
creditAuthorization/CreditAuthorizationService.wsdl">

例37-5は、トークン作成後のlocation属性を示しています。

例37-5 location属性でのトークンの使用

<binding.ws
port="http://www.globalcompany.example.com/ns/CreditAuthorizationService#wsdl.
endpoint(CreditAuthorizationService/CreditAuthorizationPort)"
location="${protocol}://${host1}:${port1}/apps/FusionOrderDemoShared/services/
creditAuthorization/CreditAuthorizationService.wsdl">

注意:

  • トークンは、composite.xmlファイルのbinding.ws要素のlocation属性でのみ使用できます。

  • WSDLファイル、スキーマ・ファイルなど他のファイルでプロトコル、ホストおよびポート値に対してトークンを使用することはできません。

  • Oracle JDeveloperでは、ローカル・ファイル・システム上の、トークン値を含むトークン・ファイルのみが更新されます。設計時にローカル・トークン・ファイルを使用する場合、実行時にそれらのトークンをSOAサーバーに移動する必要があります。実行中のトークンの作成の詳細は、『Oracle Fusion Middleware Oracle SOA SuiteおよびOracle Business Process Management Suite管理者ガイド』を参照してください。


37.3.1 外部参照のバインディングURLで使用するためのトークンの作成方法

この項の手順に従って、外部参照のバインディングURLで使用するためのトークンを作成します。

外部参照のバインディングURLで使用するためのトークンを作成する手順は、次のとおりです。

  1. Oracle JDeveloperで、トークンを作成するSOAコンポジット・アプリケーションにアクセスします。

  2. 「SOAコンポジット・エディタ」の上で、「バインディングURLのトークン化機能」アイコンをクリックします。図37-7に詳細を示します。

    図37-7 「バインディングURLのトークン化機能」アイコン

    図37-7の説明が続きます
    「図37-7 「バインディングURLのトークン化機能」アイコン」の説明

    図37-8のように、「バインディングURL」ダイアログが表示されます。

    次のエントリで始まるcomposite.xmlファイルでlocation属性を持つbinding.ws要素が設定されている各外部参照のバインディングURLが、自動的に表示されます。

    • http

    • https

    • ${ (ハードコードされたHTTPプロトコル、ホスト、またはポート値のかわりにトークンを使用するURLの場合)

    • callbackServerURL

    図37-8 「バインディングURL」ダイアログ

    図37-8の説明が続きます
    「図37-8 「バインディングURL」ダイアログ」の説明

    図37-8Service2参照には、callbackServerURLなど参照プロパティを使用したコールバック場所のオーバーライドも含まれています。

    <property name="callbackServerURL" type="xs:string" many="false">
    ${protocol}://${myhost1}:${myport1}/soa-infra/services/default/service/
    bpelprocess1_client_ep</property>
    

    図37-8のようにcallbackServerURLプロパティもトークン化できます。

  3. 行をダブルクリックするか、行を選択して「編集」アイコンをクリックし、外部参照のバインディングURLのHTTPプロトコル、ホスト、ポート値のトークンを作成します。

    図37-9のように、「バインディングURLのトークン化」ダイアログが表示されます。

    図37-9 「バインディングURLのトークン化」ダイアログ

    図37-9の説明が続きます
    「図37-9 「バインディングURLのトークン化」ダイアログ」の説明

  4. 表37-4の説明に従って、環境に適した値を指定し、「OK」をクリックします。

    表37-4 「バインディングURLのトークン化」ダイアログ

    フィールド 説明

    トークン・ファイル

    次のオプションのいずれかを実行します。

    • 「参照」ボタンをクリックし、トークン名および値が含まれているトークン・ファイルを選択するためのリソース・ブラウザダイアログにアクセスします。ファイルは、ローカル・ファイル・システム上に配置されていてもかまいません。このファイルに指定した名前および値によって、binding.ws要素内のプロトコル、ホストおよびポートに対してハードコードされた名前および値が置き換えられます。このフィールドは、後続のこのダイアログの起動時に、ファイルの選択によって自動的に移入されます。ファイル・システムのトークン・ファイルを指定する場合、それは、次の形式のXMLファイルである必要があります。

      <?xml version="1.0" encoding="UTF-8"?>
      <!DOCTYPE properties SYSTEM
       "http://java.sun.com/dtd/properties.dtd">
      <properties>
         <comment>
            URL Resolver file used by the Metadata
            manager to resolve $<variable> in URLs
          </comment>
          <entry key="protocol">oramds</entry>
          <entry key="host">MyHost</entry>
          <entry key="port">80</entry>
      </properties>
      
    • 新しいトークン名と値をそれぞれ「トークン」「現在の値」のフィールドに手動で入力する場合、このフィールド全体をスキップします。

      ファイルに保存されていないトークンは、コンポジットのbinding.ws要素のlocation属性にのみ配置されます。設計時に手動で入力されたものと一致するトークンを持つトークン・ファイルを実行時に指定することが予期されています。

    参照

    手順3で選択した外部参照を表示します。

    プロトコル

    プロトコル・トークン名を指定するフィールドを表示します。

    • 「参照」アイコンをクリックし、「トークン・ピッカー」ダイアログから使用するトークン名を選択します。「トークン・ピッカー」ダイアログに、「トークン・ファイル」フィールドでインポートしたトークン・ファイルに含まれているトークン名が移入されます。選択したトークン名(たとえば、port1)およびそのデフォルト値(たとえば、80)が、それぞれ「トークン」「現在の値」のフィールドに追加されます。トークン・ファイルが書込み可能(つまり、ファイル・システム内の保護されていないファイル)である場合、トークン名の現在の値を変更できます。「トークン・ピッカー」ダイアログへのアクセスの詳細は、手順5を参照してください。そのファイルが読取り専用である場合、メッセージによって警告され、その操作を取り消して続行できます。

    • 使用するトークン名および値を手動で入力します。「トークン・ファイル」フィールドでファイルをインポートしたかどうかに関係なく、これらのフィールドに手動で情報を入力できます。「トークン・ファイル」フィールドで、書込み可能なファイルをインポートしてあり、トークン名を手動で入力すると、それがすでに存在していない場合は、それがそのファイルに追加されます。新しいトークン名の現在の値は、デフォルトで、トークン化中のURL内の値になります。

    ホスト

    ホスト・トークン名を指定するフィールドを表示します。情報の指定方法の詳細は、「プロトコル」フィールドの説明を参照してください。

    ポート

    ポート・トークン名を指定するフィールドを表示します。情報の指定方法の詳細は、「プロトコル」フィールドの説明を参照してください。

    他の参照の同じ現在値にこれらのトークンを適用

    同じプロトコル、ホストおよびポート値を持つ他の外部参照を、同じトークンで置き換えないようにするには、このチェック・ボックスの選択を解除します。

    このチェック・ボックスが選択されており、URLオブジェクトの1つか2つのみをトークン化する場合は、それらのオブジェクトに対してのみ参照が変更されます。たとえば、ホスト(host1.us.oracleの現在値を持つ)のみをトークン化する場合、同じホスト値を持つすべての参照が更新されます。


  5. 「プロトコル」「ホスト」または「ポート」のフィールドで「参照」ボタンを選択した場合、図37-10のように「トークン・ピッカー」が表示されます。このダイアログには、「バインディングURLのトークン化」ダイアログの「トークン・ファイル」フィールドでインポートしたファイルで定義されているすべてのトークンがリストされます。

    図37-10 「トークン・ピッカー」ダイアログ

    図37-10の説明が続きます
    「図37-10 「トークン・ピッカー」ダイアログ」の説明

  6. 次のオプションの1つを介して、使用するトークン名を選択します。

    • リストをスクロールして、トークンを選択します。

    • 「トークン」フィールドに名前を入力を開始して、名前が自動的に完成され、リスト内のトークンが選択されるまで続けます。

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

    選択したトークン名と値がそれぞれ、「トークン」「現在の値」のフィールドに表示された「バインディングURLのトークン化」ダイアログに戻ります。