35 バインディング・コンポーネントのスタート・ガイド
この章の内容は次のとおりです。
詳細は、「サービス・バインディング・コンポーネントの追加」および「参照バインディング・コンポーネントの追加」を参照してください。
35.1 バインディング・コンポーネントの概要
バインディング・コンポーネントは、SOAコンポジット・アプリケーションと外部との接続を確立します。バインディング・コンポーネントには、次の2種類があります。
-
サービス
外部に対してSOAコンポジット・アプリケーションへのエントリ・ポイントを提供します。サービスのWSDLファイルによって、そのサービスの機能が外部のアプリケーションに通知されます。これらの機能は、SOAコンポジット・アプリケーション・コンポーネントとの接続に使用されます。サービスのバインディング接続性には、サービス(SOAP/HTTPやRESTバインディングなど)と通信できるプロトコルが記述されています。
-
参照
SOAコンポジット・アプリケーションから外部にある外部サービスに送信するメッセージを有効にします。RESTバインディングでは、Web Application Description Language (WADL)ファイルによって機能を外部アプリケーションに通知します。
図35-1は、OrderBookingCompositeプロジェクトを示しており、ここでは「公開されたサービス」スイムレーンのサービス(UpdateOrderStatus)がコンポジットへのエントリ・ポイントを提供し、「外部参照」スイムレーンの参照(BAM_OrderDO)によって、外部のOracle BAMサーバーへ情報を送信できます。
バインディング・コンポーネントを使用すると、次のタイプのテクノロジをSOAコンポジット・アプリケーションに統合できます。
-
SOAP Webサービス
-
HTTPバインディング
-
JCAアダプタ
-
Oracle E-Business Suite
-
Oracle BAM 11g (このアダプタはOracle BAM 11gサーバーにのみ接続できます。)
-
Oracle B2B
-
Oracle Healthcare
-
Oracle Managed File Transfer (MFT)
-
ADF-BCサービス
-
EJBサービス
-
直接バインディング・サービス
-
RESTバインディング
-
クラウド・アダプタ
次の各項では、これらのテクノロジについて説明します。
35.1.1 SOAP Webサービス
このサービスを使用すると、Simple Object Access Protocol (SOAP) over HTTPを使用した標準ベースWebサービスにアプリケーションを統合できます。WSDLファイルには、複数のWebサービスが記述されています。
WebサービスをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するための「Webサービスの作成」ダイアログが表示されます。
Webサービスの詳細は、「Webサービスのインタフェース(WSDL)の定義方法」を参照してください。
メッセージ転送最適化メカニズム(MTOM)添付をWebサービスに追加する方法の詳細は、「SOAコンポジット・アプリケーションとのMTOM最適化メッセージの送受信」を参照してください。
35.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サービス環境での複数ノード間の分散トランザクション処理が可能になります。
図35-2に、「Webサービスの作成」ダイアログの下部にあるWS-ATのサポートを示します。
表35-1では、WS-ATフィールドについて説明しています。「Webサービスの作成」ダイアログの残りのフィールドの詳細は、「Webサービスのインタフェース(WSDL)の定義方法」を参照してください。
表35-1 「Webサービスの作成」ダイアログのWS-ATのフィールド
プロパティ | 説明 |
---|---|
トランザクション参加 |
値を選択します。Webサービスを「公開されたサービス」スイムレーンに追加すると、外部トランザクション・マネージャでは、Oracle WebLogic ServerでホストされているリソースをWS-ATを使用して調整できます。また、Webサービスを「外部参照」スイムレーンに追加すると、Oracle WebLogic Serverのトランザクションでは、外部環境でホストされているリソースをWS-ATを使用して調整できます。
|
バージョン |
WS-ATでサポートされるバージョン(1.0、1,1、1,2またはデフォルト)が表示されます。デフォルトでは、このリストが有効になるのは、「トランザクション参加」リストから「サポート」または「必須」を選択した場合のみです。 |
完了すると、次の例に示すように、WS-ATの選択内容がcomposite.xml
ファイルに表示されます。
<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 SOA SuiteおよびOracle Business Process Management Suiteの管理』を参照してください。
WS-ATおよびWS-Coordinationの詳細は『Oracle Infrastructure Webサービスの開発』、WS-ATおよびWS-Coordinationの仕様は次のURLを参照してください。
http://www.oasis-open.org
35.1.1.1.1 WS-ATでのBPELプロセスの参加確認
WS-AT参加プロパティの設定に加え、クライアントが、BPELプロセスであるWebサービスを呼出し、そのWebサービスが呼出し側のトランザクションに登録される場合、呼出し対象のBPELプロセスは、対応するcomposite.xml
ファイルでtransaction
プロパティが設定されている必要があります。
<property name="bpel.config.transaction">required</property>
この設定によって、エラーが発生(整合性制限違反によるデータベース・アダプタ呼出しの失敗など)しても、トランザクション・ロールバックは正常に完了することが保証されます。
transaction
プロパティの設定方法の詳細は、「BPELプロセス・サービス・コンポーネントの追加方法」、「プロパティ・インスペクタでデプロイメント・ディスクリプタのプロパティを定義する方法」および「トランザクション・セマンティクス」を参照してください。
35.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 SOA SuiteおよびOracle Business Process Management Suiteの管理』を参照してください。
35.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で変更できません。
35.1.2.1 サポートされている相互作用
表35-2に、インバウンド方向およびアウトバウンド方向でサポートされている動詞、ペイロードおよび操作を示します。
表35-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 |
リクエスト/レスポンス |
はい |
表35-3に、インバウンド方向およびアウトバウンド方向でサポートされているXSDタイプを示します。
表35-3 サポートされているXSD
方向 | XSDタイプ | サポート対象か |
---|---|---|
インバウンド |
単純 |
はい |
インバウンド |
複合 |
いいえ |
インバウンド |
ネイティブ |
いいえ |
アウトバウンド |
単純 |
はい |
アウトバウンド |
複合 |
いいえ |
アウトバウンド |
ネイティブ |
いいえ |
次のHTTPヘッダーは、インバウンド方向またはアウトバウンド方向のいずれかでサポートされていません(つまり、コンポジットでHTTPヘッダーにアクセスした場合、そのヘッダーはコンポジットで設定できません)。
-
User-agent
-
Content-type
-
Content-length
-
Server
-
Server-port
-
Referrer
-
Authorization
-
MIME-Version
-
Location
35.1.2.3 HTTPバインディングに対して基本認証を有効にする方法
インバウンドおよびアウトバウンドのHTTPバインディングでは、基本認証がサポートされています。インバウンドのHTTPバインディングに対して基本認証を有効にするには、セキュリティ・ポリシーを添付する必要があります。インバウンドHTTPバインディングは、基本認証が有効でなくても使用できます。
基本認証を有効化するには:
- 「公開されたサービス」スイムレーンで作成済のHTTPバインディング・サービスを右クリックし、「WSポリシーの構成」を選択します。
- 「SOA WSポリシーの構成」ダイアログで、「セキュリティ」セクションにある「追加」アイコンをクリックします。
- 「oracle/wss_http_token_service_policy」ポリシーを選択し、「OK」をクリックします。
- 「SOA WSポリシーの構成」ダイアログで「OK」をクリックします。
35.1.3 JCAアダプタ
JCAアダプタを使用すると、サービスおよび参照を次のテクノロジと統合できます。
-
メッセージ・システム(Advanced Queueing (AQ)、Java Messaging Systems (JMS)など)
JCAアダプタをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するためのアダプタ構成ウィザードが起動します。
35.1.3.1 データベース・アダプタ
データベース・アダプタを使用すると、BPELプロセス、Oracle MediatorまたはOracle Service BusでJDBCを介してOracle Databaseやサード・パーティ・データベースと通信できます。
詳細は、『テクノロジ・アダプタの理解』のOracle JCA Adapter for Databaseに関する項を参照してください。
35.1.3.2 ファイル・アダプタ
ファイル・アダプタを使用すると、BPELプロセスまたはOracle Mediatorでローカル・ファイル・システムのファイルを交換(読取りおよび書込み)できます。ファイル・コンテンツは、XMLデータ・フォーマットと非XMLデータ・フォーマットのどちらでも構いません。
ノート:
ファイル・アダプタをコールすると、Oracle Real Application Clustersの計画的停止に対して実行する際にOracle BPEL Process Managerが同じファイルを2回処理する可能性があります。これは、ファイル・アダプタがXAに準拠していないアダプタであるためです。したがって、グローバル・トランザクションに組み入れると、各ファイルを1回のみ処理するXAインタフェース仕様に逸脱する可能性があります。
詳細は、『テクノロジ・アダプタの理解』のOracle JCA Adapter for Files/FTPに関する項を参照してください。
35.1.3.3 FTPアダプタ
FTPアダプタを使用すると、BPELプロセスまたはOracle Mediatorでファイル転送プロトコル(FTP)を使用してリモート・ファイル・システムのファイルを交換(読取りおよび書込み)できます。ファイル・コンテンツは、XMLデータ・フォーマットと非XMLデータ・フォーマットのどちらでも構いません。
詳細は、『テクノロジ・アダプタの理解』のOracle JCA Adapter for Files/FTPに関する項を参照してください。
35.1.3.4 AQアダプタ
AQアダプタを使用すると、シングル・コンシューマ・キューまたはマルチ・コンシューマ・キューと相互作用できます。
Oracle Streams AQは、関連アプリケーション間での双方向の非同期通信を実現する柔軟なメカニズムを提供します。アドバンスト・キューはOracleデータベースの機能であるため、高いスケーラビリティと信頼性を備えています。また、単一のアプリケーションを複数のキューで処理できるため、メッセージを様々な方法で分割したり、ロード・バランシングを介して別のレベルのスケーラビリティを提供したりできます。
詳細は、『テクノロジ・アダプタの理解』のOracle JCA Adapter for AQに関する項を参照してください。
35.1.3.5 JMSアダプタ
JMSアダプタを使用すると、Oracle BPELプロセスまたはOracle MediatorでJava Messaging System (JMS)と相互作用できます。
JMSアーキテクチャでは、多数のメッセージング・サーバーに対して1つのクライアント・インタフェースを使用します。JMSモデルには、2つのメッセージング・ドメインがあります。
-
ポイント・ツー・ポイント: メッセージはキュー経由で交換され、各メッセージは1人の受信者にのみ配信されます。
-
パブリッシュ・サブスクライブ: メッセージはトピックに送信され、多数のサブスクライブ・クライアントで読み取ることができます。
詳細は、『テクノロジ・アダプタの理解』のOracle JCA Adapter for JMSに関する項を参照してください。
35.1.3.6 MQアダプタ
MQアダプタは、BPELプロセス、Oracle MediatorおよびWebSphere MQキューイングの各システム間のメッセージ交換機能を提供します。
Messaging and Queuing Series (MQ Series)は、IBMによって開発された製品および標準のセットです。MQ Seriesは、保証されたメッセージ配信、セキュリティおよび優先度ベースのメッセージングを提供するキューイング・インフラストラクチャを備えています。
詳細は、『テクノロジ・アダプタの理解』のOracle JCA Adapter for MQ Seriesに関する項を参照してください。
35.1.3.7 ソケット・アダプタ
ソケット・アダプタを使用すると、クライアントまたはサーバーのソケットを作成し、接続を確立できます。このアダプタを使用すると、TCP/IPソケットを介した通信用の標準または非標準プロトコルをモデル化できます。転送されるデータのフォーマットはテキストまたはバイナリです。
詳細は、『テクノロジ・アダプタの理解』のOracle JCA Adapter for Socketsに関する項を参照してください。
35.1.3.8 サード・パーティ・アダプタ
サード・パーティ・アダプタを使用すると、PeopleSoft、SAPなどのサード・パーティ・アダプタをSOAコンポジット・アプリケーションに統合できます。これらのサード・パーティ・アダプタによって、JCAアダプタを構成できるアーティファクト(WSDLおよびJCAファイル)が生成されます。
詳細は、『テクノロジ・アダプタの理解』のサード・パーティのサービス・プロバイダとの接続に関する項を参照してください。
35.1.3.9 Oracle User Messaging Serviceアダプタ
Oracle User Messaging Serviceは、電子メール、セキュア・メッセージング・サービス(SMS)およびインスタント・メッセージング(IM)などのメッセージング・チャネルをサポートしています。Oracle User Messaging Serviceは、BPELプロセスまたはOracle Mediatorサービス・コンポーネントと外部との間のメッセージング・プロキシを提供します。Oracle User Messaging Serviceには、2つのメッセージング方法(インバウンドおよびアウトバウンド)があります。
詳細は、『テクノロジ・アダプタの理解』のOracle JCA Adapter for UMSに関する項を参照してください。
35.1.3.10 LDAPアダプタ
LDAPアダプタは、非同期および同期の両方のインタフェースを定義して、LDAPディレクトリ・サーバーとの間でリクエストとレスポンスを送受信します。LDAPアダプタを使用すると、プロセスは、LDAPプロトコルを使用してLDAPディレクトリを検索、比較および変更できます。
詳細は、『テクノロジ・アダプタの理解』のOracle JCA Adapter for LDAPに関する項を参照してください。
35.1.3.11 コヒーレンス・アダプタ
Coherenceキャッシュは、データベースとクライアント・アプリケーションの間の仲介として機能するデータ・オブジェクトの集合です。データベース・データをキャッシュにロードして、異なるアプリケーションで使用できます。Coherenceキャッシュは、データベースの負荷を削減し、データベース・データへのより高速なアクセスを提供します。キャッシュ内のオブジェクトは、XMLまたはPlain Old Java Object (POJO)のいずれかになります。Coherenceアダプタを使用すると、Coherenceキャッシュに対して次の操作を実行できます。
-
項目の追加
-
項目の取得
-
項目の削除
-
項目の問合せ
詳細は、『テクノロジ・アダプタの理解』のコヒーレンスのためのOracle JCAアダプタに関する項および『Oracle SOA Suiteの理解』のコヒーレンス・アダプタを使用したキャッシュからのプロバイダの読取りに関する項を参照してください。
35.1.4 Oracle E-Business Suiteアダプタ
Oracle Applicationsアダプタは、Oracle Applicationsへの接続性を提供します。このアダプタはOracle Applicationsリリース12およびリリース11iのモジュールをすべてサポートしています。このサポートには、Oracle E-Business Suiteのバージョンに基づいたカスタム統合インタフェース・タイプの選択も含まれます。
35.1.5 Oracle BAM 11gアダプタ
Oracle BAM 11gアダプタを使用すると、Java EEアプリケーションをOracle BAM 11gサーバーと統合してデータを送信できます。このアダプタはOracle BAM 11gサーバーにのみ接続できます。
BAM 11gアイコンをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するためのアダプタ構成ウィザードが起動します。
35.1.6 Oracle B2B
Oracle B2Bサービスを使用すると、MDSリポジトリのB2Bメタデータを参照したり、ドキュメント定義を選択することができます。
Oracle B2Bは、組織と外部取引パートナ間における安全で信頼できるトランザクション交換を提供するE-Commerceゲートウェイです。Oracle B2BおよびOracle SOA Suiteは、セキュリティ、準拠、可視性および管理の問題に対処するインフラストラクチャ内でプロセス・オーケストレーション、エラー低減、データ・トランスレーションとデータ・トランスフォーメーションを必要とするE-Commerceビジネス・プロセス用に設計されています。
「B2B」アイコンをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するためのB2B構成ウィザードが起動します。
35.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を起動してドキュメント定義を作成できます。これは、外部システムとの間でユーザーが送受信するペイロード、つまりメッセージです。
35.1.8 Oracle MFT
Oracle MFTにより、次などの多くのエンドポイント・タイプにおけるファイルの転送ができます。
-
組み込まれたFTPサーバーやsFTPサーバー
-
リモートのFTPサーバーやsFTPサーバー
-
ディレクトリ
-
SOAP Webサービス・エンドポイント
-
Oracle SOA Suite SOAP Webサービス・エンドポイント
-
Oracle Service Bus Webサービス・エンドポイント
-
Oracle B2BパートナとOracle Healthcareエンドポイント
-
Oracle Data Integrator Webサービス・エンドポイント
35.1.9 ADF-BCサービス
ADF-BCサービスを使用すると、サービス・データ・オブジェクト(SDO)を使用してOracle Application Development Framework (ADF)アプリケーションをSOAコンポジット・アプリケーションに統合できます。
「ADF-BC」アイコンをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するための「ADF-BCサービスの作成」ダイアログが表示されます。
Oracle ADFの詳細は、次のものを参照してください。
35.1.10 EJBアダプタ
EJBアダプタを使用すると、Javaインタフェース(インタフェースの定義にWSDLファイルを使用しない)またはSDOパラメータ(インタフェースの定義にWSDLファイルを使用)を渡すことによって、Enterprise JavaBeansとSOAコンポジット・アプリケーションの相互作用が可能になります。
SDOを使用すると、物理的にどのようにアクセスされているかに関係なくビジネス・データを修正できます。SOAコンポジット・アプリケーションでSDOを使用する場合、特定のバックエンド・データ・ソースへのアクセス方法についての知識は不要です。つまり、静的または動的なプログラミング・スタイルを使用して、接続および切断されたアクセスを取得できます。
Enterprise JavaBeansは、Javaでエンタープライズ・アプリケーションを作成するためのコンポーネントベースの標準アーキテクチャに適合する、サーバー側ドメイン・オブジェクトです。これらのオブジェクトは、分散化されたセキュアなトランザクション・コンポーネントになります。
Javaインタフェースの場合、WSDLファイルの定義は不要です。このタイプの統合は、次のオブジェクトをサポートします。
-
ネイティブJavaオブジェクト
-
Java Architecture for XML Binding
「EJB」アイコンをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するための「EJBサービスの作成」ダイアログが表示されます。
詳細は、「Enterprise JavaBeansとコンポジット・アプリケーションの統合」を参照してください。
35.1.11 直接バインディング・アダプタ
直接バインディング・アダプタは、インバウンド方向では、直接バインディング起動APIを使用してSOAコンポジット・アプリケーションを起動し、Remote Method Invocation (RMI)を介してメッセージを交換します。このオプションでは、複数のJVM間のアイデンティティおよびトランザクションの両方の伝播がサポートされ、T3の最適化されたパスが使用されます。同期および非同期の両方の起動パターンがサポートされます。
アウトバウンド方向では、Oracle Service Busフローまたは別のSOAコンポジット・アプリケーションも起動できます。
「直接」アイコンをSOAコンポジット・エディタのスイムレーンにドラッグすると、構成プロパティを指定するための「直接バインディングの作成」ダイアログが表示されます。
直接バインディングの詳細は、「コンポジット・サービスの起動に直接バインディングを使用」を参照してください。
直接バインディング起動APIの詳細は、Oracle SOA Suiteインフラストラクチャ管理のためのJava APIリファレンスを参照してください。
Oracle Service Busの詳細は、『Oracle Service Busでのサービスの開発』を参照してください。
35.1.12 RESTバインディング
RESTは、ネットワーク・アプリケーションの設計用のアーキテクチャです。RESTfulアプリケーションでは、HTTPリクエストを使用してデータのポスト(作成および更新)、データの取得(問合せの作成など)およびデータの削除を行います。RESTは、Webサービスを使用するかわりの方法となります。SOAコンポジットは、REST対応可能、またはRESTアダプタを介して既存のRESTサービスを起動できます。
詳細は、「REST操作とSOAコンポジット・アプリケーションとの統合」を参照してください。
35.2 バインディング・コンポーネントとSOAコンポジット・アプリケーションの統合の概要
バインディング・コンポーネントをSOAコンポジット・アプリケーションに統合するには、対象のバインディング・コンポーネントを「コンポーネント」ウィンドウからドラッグします。
35.2.1 バインディング・コンポーネントとSOAコンポジット・アプリケーションの統合方法
SOAコンポジット・アプリケーションにバインディング・コンポーネントを統合するには:
バインディング・コンポーネントの追加方法の詳細は、「サービス・バインディング・コンポーネントの追加」および「参照バインディング・コンポーネントの追加」を参照してください。
35.2.2 ADFバインディングを使用してJSP/Javaクラスからコンポジット・アプリケーションを起動する方法
SOAコンポジット・アプリケーションでWebサービス・バインディングを使用してエンドポイント参照を定義すると、JSP/Javaクラスからコンポジットを起動できません。Webサービス・バインディングは、binding.ws port="" location=""
タグを使用してcomposite.xml
ファイルに定義されます。次の例に詳細を示します。
<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>
かわりに、SOAコンポジットとADF-BC Webアプリケーションの相互作用にADFバインディングを使用します。ADFバインディングを使用してコンポジットをデプロイすると、JSP/Javaクラスからコンポジットを正常に起動できます。次の例に詳細を示します。
<reference name="ADFWebService" ui:wsdlLocation="ADFWebService.wsdl"> <interface.wsdl interface="http://example.com/hr/#wsdl.interface(HRAppService)"/> <binding.adf serviceName="{http://example.com/hr/}HRAppService" registryName="hrapp_JBOServiceRegistry"/> </reference>
この例では、hrapp
はADF-BC Webアプリケーション名です。
35.3 外部参照のバインディングURLで使用するためのトークンの作成
Oracle JDeveloperで、外部参照のバインディングURL内のHTTPプロトコル、ホスト、およびポート値に対してトークンを作成できます。その後、トークンに割り当てられた値によって、composite.xml
ファイルのbinding.ws
要素のlocation
属性内のハードコードされたHTTPホストおよびポート値が置き換えられます。
たとえば、次の例は、プロトコル(http
)、ホスト(host.us.example
)およびポート(80
)のハードコードされた値を持つ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">
次の例は、トークン作成後の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 SOA SuiteおよびOracle Business Process Management Suiteの管理』を参照してください。