43 JDeveloperを使用したRESTful Webサービスの作成
ローカル・マシンでOracle JDeveloperを使用して、JavaクラスからRESTful Webサービスを作成し、そのWebサービスをローカルでテストしてから、JCS - SaaS Extensionインスタンスにデプロイできます。
Webサービスに関しては、REST (REpresentational State Transfer)では、Webサービスをリソースとして表示し、URLによって識別およびアクセスできるステートレス・クライアント/サーバー・アーキテクチャをカプセル化します。
データベース・コンテンツ、Javaクラスまたは他のサービスを含む様々なデータ・ソースへのインタフェースを提供するためのWebサービスを構築できます。JCS - SaaS Extensionを使用して、異種のデータ・ソースを統合し、これらをアウトバウンド向けWebサービスとして再パッケージできます。また、単純なJavaクラスからWebサービスを作成することもできます(ボトムアップ・アプローチ)。
この例では、単純なJavaクラスから始めてRESTful Webサービスを構築します。Java EE 6では、Java API for RESTful Web Services (JAX-RS)を使用します。開発を簡略化するために、Oracle JDeveloperを使用して、クラスを作成し、RESTful Webサービス・エンドポイントを生成します。また、JAX-RSの標準実装であるJerseyライブラリを使用します。
前提条件
このドキュメントに示される開発の例を実行する前に、以下の点に注意してください。
-
必ずJavaバージョン6 (SEまたはEE)を実行してください。
-
正しいバージョンのOracle JDeveloper IDEがインストールされていることを確認してください。
注意:
Oracle JDeveloper IDEを使用してOracle Cloudで開発するには、Oracle JDeveloper Studio Editionバージョン11.1.1.7.1を使用する必要があります。これより新しいバージョンを含む他のOracle JDeveloperのバージョンの場合、Oracle Cloudの統合機能をサポートしていません。Oracle JDeveloper Studio Edition 11.1.1.7.1をOracle Technology Network (http://www.oracle.com/technetwork/developer-tools/jdev/downloads/jdeveloer111171-2183166.html)からダウンロードしてください。
JavaプロジェクトへのJerseyライブラリの追加
Jerseyは、JAX-RS 1.1の参照実装です。これは、単純な注釈の使用を介してJava EEでRESTアーキテクチャ・スタイルを昇格する一連のAPIを定義する、オープン・ソース・プロジェクトです。
Javaクラスを使用した汎用プロジェクトの作成
Oracle JDeveloperを使用して、汎用プロジェクトを作成してから、Webサービスの作成元にするJavaクラスを追加します。
Account.java
およびAccountService.java
)からWebサービスを作成します。JavaクラスからのRESTful Webサービスの作成
ここでは、ボトムアップのRESTful Webサービスを作成します。つまり、Jerseyとともに注釈を使用してJavaクラスからWebサービスを作成します。
AccountService
RESTful Webサービスを作成する手順:HTTP Analyzer
を使用して、Webサービスをテストします。詳細は、「HTTPアナライザを使用したRESTful Webサービスのテスト」を参照してください。HTTPアナライザを使用したRESTful Webサービスのテスト
HTTP Analyzer
を実行し、RESTful Webサービスによって公開されたメソッドが実際に機能するかどうかを確認します。
JCS - SaaS ExtensionへのRESTful Webサービスのデプロイ
Oracle JDeveloperを使用して、ローカル・マシン上のWARファイルにWebサービスをデプロイしてから、JCS - SaaS Extensionインスタンスに手動でデプロイします。
RESTful Webサービスの可用性の確認
デプロイされたRESTful WebサービスのWADLを表示することが、その可用性を確認する1つの方法です。WADLが表示された場合、Webサービスは使用可能です。