SOAコンポジット・アプリケーションのRESTバインディング・コンポーネントを構成する方法

この項では、RESTバインディング・コンポーネントをSOAコンポジット・アプリケーションに追加する方法について説明します。RESTバインディング・コンポーネントをサービスまたは参照バインディング・コンポーネントとして追加できます。

RESTアダプタをSOAコンポジット・アプリケーションのサービスまたは参照バインディング・コンポーネントとして構成するには:

  1. JDeveloperで、RESTサービスまたは参照コンポーネントをコンポジット・ビューの適切なスイムレーンに追加します。「コンポーネント」ウィンドウからRESTコンポーネントをドラッグすることもできます。
    • RESTサービス・コンポーネントを追加するには、SOAコンポジット・エディタの「公開されたサービス」スイムレーンを右クリックし、「挿入」「REST」を選択します。この操作で、適切なサービス・コンポーネントと相互作用するサービス・バインディング・コンポーネントとしてRESTサポートを追加できます。

    • REST参照コンポーネントを追加するには、SOAコンポジット・エディタの「外部参照」スイムレーンを右クリックし、「挿入」「REST」を選択します。この操作で、外部RESTエンドポイントと相互作用する参照バインディング・コンポーネントとしてRESTサポートを追加できます。

    RESTバインディング構成ウィザードが表示されます。

    RESTバインディング構成ウィザード

  2. RESTサービスまたは参照の名前を入力します。

    タイプフィールドにRESTバインディングのタイプが表示されます。これは、RESTサービスの場合は「サービス」、REST参照の場合は「参照」です。

  3. オプションで「サービスはWSDLインタフェースを使用してコンポーネントを起動します」または「参照はWSDLインタフェースを使用してコンポーネントによって起動されます」オプションを選択します。

    • RESTサービスの場合、コンポジットで内部的にXMLスキーマとWSDL操作が使用される場合は、「サービスはWSDLインタフェースを使用してコンポーネントを起動します」を選択します。

    • REST参照の場合、コンポジットで内部的にXMLスキーマとWSDL操作が使用される場合は、「参照はWSDLインタフェースを使用してコンポーネントによって起動されます」を選択します。

    12.2.1から、SOAコンポジットでエンドツーエンドのJSONを使用できるようになりました。すなわち、RESTサービスはRESTリクエストを受信し、XMLに変換することなくBPELエンジンにルーティングすることができます。BPELコンポーネントはJavaScriptアクションを使用して、さらに条件付きおよび反復コンストラクトでJavaScriptを使用して、JSONオブジェクトで直接動作できます。REST参照はBPELエンジンからRESTメッセージを受信し、変換することなく外部RESTエンドポイントにルーティングできます。

    デフォルトでは、新しいRESTサービス/参照バインディングはWADLを使用します。ただし、RESTリソースと動詞をWSDL操作とXMLスキーマに内部的にマッピングして、着信ペイロードをXMLに変換する12.1.3スタイルのコンポジットを使用する必要がある場合は、このオプションを選択します。コンポジットでWSDLベースの操作のみをサポートするメディエータのようなコンポーネントが使用される場合も、このチェック・ボックスを選択できます。

    • このオプションを選択すると、XMLスキーマの順序付けを強制オプションが表示されます。

      「XMLSchemaの順序付けを強制」を選択すると、XMLスキーマの順序付けが強制されます。

      選択すると、XMLスキーマの要素の順序付けと一致するようにJSONペイロードを並べ替えます。これには、インバウンド・リクエスト・ペイロードおよびアウトバウンド・リクエストからのレスポンスが含まれます。このオプションによって、パフォーマンスのオーバーヘッドが追加される可能性があります。

      このチェック・ボックスを選択すると、RESTサービス・バインディングのプロパティreorderJsonAsPerXmlSchemacomposite.xmlファイルでtrueに設定されます。

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

    「リソース」ページが表示されます。

    表37-1 「リソース」ページ

    フィールド 説明
    構成ショートカット コンテキストに基づいて構成ショートカットを提供します。
    • RESTサービス・インタフェースの場合:

      • WADLベースのRESTサービスを作成する場合は、「WADLサービスからリソースとメソッドを追加」を選択できます。これにより、既存のWADLサービスを使用して、リソースとメソッドをRESTサービスに追加できます。

      • サービスがSDLインタフェースを使用してコンポーネントを起動する場合、「RESTコンポーネントや参照の有効化」および「REST外部Webサービスの有効化」オプションを選択できます。すなわち、選択したコンポーネントまたはサービスのフォルト・バインディングが、WSDLファイルで定義されたフォルトに基づいて自動的に生成されます。

        選択したWSDLが読み取られ、WSDL操作が、「リソース」ページの「操作バインディング」セクションのリソース・パスおよびHTTP動詞にマッピングされます。操作バインディングで追加の構成マッピングが必要な場合は、「完了」列の「いいえ」の値でそのことが示されます。

    • REST参照インタフェースの場合:

      「WADLサービスに基づいてリソースと操作のマッピングを追加」を使用して、WADLリソースからリソースと操作のマッピングを追加できます。WADLリソースは、ローカル・ファイル・システムまたはプロジェクト、デザインタイムOracle Metadata Servicesリポジトリ(MDSリポジトリ)あるいはアプリケーション・サーバーにあります。

    説明

    このフィールドは、RESTサービスに対して表示されます。

    RESTサービスの説明を入力します。この説明は、開発時に使用される読取り可能なAPIの一部として公開されます。

    ベースURI

    このフィールドは、REST参照に対して表示されます。

    インタフェースでサポートされているすべてのリソースのベースURI接続情報。たとえば: http://search.mydomain.com/search.format

    リソース・パス

    デフォルト・リソース・パス(/)をダブルクリックしてリソース・パスを更新するか、「追加」をクリックして新しいリソース・パスを追加します。

    「相対パス」フィールドで、リソース・パス(たとえば、/orders)を入力し、「OK」をクリックします。

    操作バインディング

    このセクションは、RESTリソースと動詞をWSDL操作とXMLスキーマに内部的にマッピングして、着信ペイロードをXMLに変換する12.1.3スタイルのコンポジットを作成している場合に表示されます。

    「追加」をクリックして、新しい操作バインディングを追加します。

    既存の操作バインディングを選択して「編集」をクリックすることもできます。

    「追加」または「編集」をクリックすると、「REST操作バインディング」ダイアログが表示されます。「REST操作バインディング」ダイアログを参照してください。

    メソッド このセクションは、タイプ付きでないペイロードをスキーマなしで使用するWADLベースのサービスまたは参照を作成している場合に表示されます。

    「追加」をクリックして新しいメソッドを追加します。

    既存のメソッドを選択して「編集」をクリックすることもできます。

    「追加」または「編集」をクリックすると、「RESTメソッド定義」ダイアログが表示されます。「「RESTメソッド定義」ダイアログ」を参照してください。

  5. 「終了」をクリックして、RESTバインディング構成を完了します。