プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle WebCenter Sitesでの開発
12c (12.2.1.1)
E77292-01
目次へ移動
目次

前
次

61 WEMフレームワークを使用したカスタムRESTリソースの開発

カスタムRESTリソースはWEMフレームワーク内で開発できます。

WEMフレームワークを使用したカスタムRESTリソースの開発の詳細は、次の項を参照してください。

61.1 WebCenter SitesおよびSatellite Server用のRESTリソースの作成: 例

Recommendationsサンプル・アプリケーションは、WebCenter SitesおよびSatellite ServerのRESTリソースを作成する方法を示しています。アプリケーションは、GETおよびPOST操作で、新しいRESTリソースsample/recommendations/<id>を登録します。これによって、静的リスト推奨を取得し変更できます。また、アプリケーションは、Satellite Serverキャッシング・システムをどのように活用できるかについても示しています。

この項には次のトピックが含まれます:

61.1.1 Recommendationsサンプル・アプリケーションのビルドおよびデプロイ

  1. Recommendationsサンプル・アプリケーションは、WebCenter Sitesインストール・ディレクトリ内のMisc/Samplesフォルダにあります。recommendationsに移動し、build.propertiesファイルを編集します。cs.webapp.dirおよびss.webapp.dir プロパティに適切なパスを指定します。
  2. recommendationsフォルダでApache antを実行します。

    これにより、サンプル・アプリケーションのビルドとデプロイが行われます。

  3. catalogmoverアプリケーションを起動します。「サーバー」→「接続」メニューを使用して、WebCenter Sitesに接続します。「カタログ」→「カタログの自動インポート」に移動し、src\main\schema\elements.zipファイルを選択します。ACLのリストを指定する場合は、xceladminxceleditorを追加します。
  4. WebCenter Sites Webアプリケーション・フォルダに移動します。WEB-INF/classes/custom/RestResource.xmlファイルを編集します。recommendationServicerecommendationConfigおよびresourceConfigsの各Beanを非コメント化します。
  5. Satellite Server Webアプリケーション・フォルダに移動します。WEB-INF/classes/custom/RestResource.xmlファイルを編集します。recommendationServicerecommendationConfigおよびresourceConfigsの各Beanを非コメント化します。
  6. WebCenter SitesとSatellite Serverの両方を再起動します。

61.1.2 Recommendationsサンプル・アプリケーションのテスト

Recommendationsサンプル・アプリケーションは、次の方法でテストできます。

  • URL http://<hostname>:<port>/<contextpath>/REST/sample/recommendations/<recommendationid>に対する既存の静的リスト推奨IDを使用します(または新しい推奨を作成します)。

  • WebCenter SitesおよびSatellite Serverの各インストールで同じURLを使用します。たとえば、http://localhost:8080/cs/REST/sample/recommendations/1266874492697を使用します。WebCenter SitesとSatellite Serverの両方のXMLレスポンスを確認します。

61.2 RESTリソースの作成

この項には次のトピックが含まれます:

61.2.1 Recommendationsサンプル・アプリケーションの構造について

Recommendationsサンプル・アプリケーション(図61-1)は、独自のRESTリソースを作成する過程を通じて手順を説明することを目的に作成されています。

図61-1 Recommendationsサンプル・アプリケーション

図61-1の説明が続きます
「図61-1 Recommendationsサンプル・アプリケーション」の説明
  • スキーマ・ファイル: src/main/schema

    • elements.zipには、サンプル・エレメントが含まれます。Satellite Serverでキャッシュ目的に使用されます。

    • jaxb.bindingは、JAXBデフォルト・バインディングのカスタマイズです。Beanの生成プロセスで使用されます。

    • recommendation.xsdは、RecommendationService BeanのXMLスキーマです。

  • Javaソース・ファイル: src/main/java/ ... /sample

    • RecommendationResourceには、RESTリソース実装が含まれます。これは、WebCenter SitesとSatellite Serverの両方で使用されます。

    • RecommendationServiceは、RecommendationResourceクラスの機能を提供するインタフェースです。これは、リソースがローカル(WebCenter Sites上)またはリモート(Satellite Server上)のいずれでホストされているかによって、異なる方法で実装されます。

    • beans/*クラスは、Java xjcコンパイラを使用して生成されます。これらのクラスは、アプリケーションに事前にパッケージされています。Beanを再生成(recommendation.xsdファイルを変更)するには、build.xmlgenerate Antタスクを実行します。

    • LocalRecommendationServiceは、RecommendationServiceインタフェースのローカル(WebCenter Sites)実装です。

    • RemoteRecommendationServiceは、RecommendationServiceインタフェースのリモート(Satellite Server)実装です。

61.2.2 カスタムRESTリソースの実装

  1. RESTサービスを記述したXSDファイル(recommendations.xsdファイル)を作成します。
  2. JAXB xjcユーティリティ(generate Antタスク)を使用してBeanを生成します。
  3. RESTインタフェースを作成します。WebCenter SitesとSatellite Serverとでは実装が異なります。
  4. クラスcom.fatwire.rest.BaseLocalServiceおよびcom.fatwire.rest.BaseRemoteServiceを拡張して、RESTインタフェースを実装します。
  5. 次の手順は、Satellite Serverキャッシュを利用する場合のオプションです。

    WebCenter Sites側でエレメントを作成します。このエレメントは、ローカル実装と同じアセットをロードします。

  6. com.fatwire.rest.BaseResourceクラスを拡張して、RESTリソース・クラスを作成します。
  7. WebCenter Sites側およびSatellite Server側の両方で、RESTサービスと構成をWEB-INF/classes/custom/RestResources.xmlファイルに登録します。

    custom/RestResources.xmlファイルには次のコンポーネントが含まれます。

    • resourceConfigs IDを含むBeanのみが必須Beanです。resourceConfigsプロパティには、使用されるすべてのREST構成への参照が含まれます。

      注意:

      カスタムresourceConfigsが非コメント化されている場合は、Beanを参照する必要があります。そうしないと、WEMインストールで提供されるデフォルトのRESTリソースが登録されません。

    • リソース構成は、タイプcom.fatwire.rest.ResourceConfigにする必要があります。通常は、このクラスの1つのインスタンスのみが登録されます(構成ごとに複数のサービスを登録できます)。

      注意:

      複数のサービスの場合は、RESTサービスの非結合グループごとに新しい構成を作成します。通常は個別のXSDファイルで指定します。

    • resourceClassesプロパティには、使用されるすべてのリソースのリストが含まれます。

    • beanPackageには、xjcユーティリティの実行時に出力Beanに指定したJavaパッケージ名が含まれます。

    • schemaLocationは、RESTサービスで生成されるすべての出力XMLファイルに配置されるxsi:schemaLocation属性です。