RESTサポートの概要

RESTは、ネットワーク・アプリケーションの設計用のアーキテクチャです。RESTfulアプリケーションは、HTTPリクエストを使用してデータのポスト(作成と更新)、データの取得(たとえば問合せの作成)、データの更新およびデータの削除を実行します。RESTは、Webサービスを使用するかわりの方法となります。

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

ノート:

RESTインタフェースとBPELコンポーネントはエンドツーエンドのJSONをサポートしています。ただし、メディエータのような他のサービス・コンポーネントを使用している場合は、RESTリソースと動詞をWSDL操作とXMLスキーマに内部的にマッピングして着信ペイロードをXMLに変換する、12.1.3スタイルのコンポジットを使用する必要があります。

Oracle SOA Suiteでは次のRESTサポートを提供します。

  • SOAコンポジット・アプリケーションでのサポート:

    • エンドツーエンドのJSONの有効化

    • 新規または既存のサービスでのRESTサポートの有効化。

    • 外部REST APIとの統合。

    • RESTful状態遷移セットの編成 (RPC/HATEOAS (Hypermedia as the Engine of Application State)アプローチ)。

    • XML、JavaScript Object Notation (JSON) (XMLへおよびXMLからの自動翻訳を含む)、テキスト、不透明(Opaque)(バイナリ)およびURLエンコード・ペイロード・データのサポート。

    • RESTサービス操作用のサンプルURIの生成。

    • WADLサービスのサポート。WADLは、デプロイ済のOracle SOA SuiteまたはOracle Service Busサービス、あるいはJersey RESTサービスなど、Oracle SOA SuiteまたはOracle Service Bus以外のサービスでも提供できます。

  • 開発の容易さ:

    • Oracle JDeveloperウィザードには、RESTインタフェースおよびWSDL操作バインディングをモデル化するためのいくつかのオプションが用意されています。

      • REST定義からWSDLへのマッピングが含まれる基礎となるWSDLを生成するための、リソース・パスおよびREST操作の手動による定義。

      • WSDL操作をリソース・パスおよびHTTP動詞にマッピングするサービス・コンポーネントまたは外部参照のWSDLの選択。

      • RESTアダプタに操作マッピングを自動的に移入する多数のソース(たとえば、アプリケーション・サーバーやSOA-MDS)からのWSDLの選択。

    • 開発時に使用する各メソッドを公開する読取り可能API。

    • Oracle JDeveloperからOracle RESTエンドポイント(Oracle Service Busなど)をブラウズおよび消費可能。

  • Oracle Web Service Manager (OWSM)ポリシーのRESTセキュリティのサポート。

  • 次のユースケースをサポートします。

    • 顧客リストの取得

    • 新規顧客の作成

    • 顧客の詳細情報の取得

    • 顧客の詳細情報の更新

    • 顧客の削除

    • 顧客の新住所の作成

    • 顧客の住所の取得

    • 顧客の住所の更新