プライマリ・コンテンツに移動
Oracle® Application Express SQLワークショップ・ガイド
リリース18.1
E98585-01
目次へ移動
目次
索引へ移動
索引

前
次

6.2 Oracle RESTfulサービスについて

OracleでのRESTの実装と、RESTfulサービスの様々なコンポーネントを説明するために使用される用語について説明します。

この項では、Oracle REST Data Servicesによって実装されるRESTfulサービスを紹介し、RESTfulサービスを構成する様々なコンポーネントを参照するApplication Expressやその他のOracleツール内で使用される用語について明確に説明します。

よく使用される用語は次のとおりです。

一般に、アプリケーションで提供するRESTfulサービスごとに、リソース・モジュールおよび子リソース・テンプレートを構成する必要があります。同じリソース・テンプレートに関連付けられたメソッドごとに、リソース・ハンドラを定義する必要があります。たとえば、データを返すメソッドとデータを格納するメソッドを指定するには、それぞれの操作に対してリソース・ハンドラを定義する必要があります。

リソース・モジュールは、関連するRESTfulサービスのセットをグループ化するために使用されるコンテナです。リソース・モジュールは、グループを一意に識別する方法を提供するだけでなく、モジュール内に定義されているサービス・セットにアクセスするためのURLで使用される一意のベース・パスも定義します。

たとえば、従業員に関する情報にアクセスできるリソース・モジュールの名前がoracle.example.hrである場合、サービスのベース・パス値は通常/hr/です。

リソース・テンプレートは、リソース・モジュールの範囲内に存在し、コールできる個々のサービスを定義します。各リソース・テンプレートでは、到達できるURIパターンを定義し、1つ以上のリソース・ハンドラを実装します。リソース・テンプレートによってはリソース・ハンドラの各タイプ(GET、POST、PUT、DELETE)のいずれかのみを実装することはできても、そのいずれも実装しないようにすることはできません。

各リソース・ハンドラでは、1つのHTTP操作のみを実装します。リソース・ハンドラの実装が従来の作成、読取り、更新、削除(CRUD)操作にどのようにマップされるかを理解することが重要です。

少なくとも1つのリソース・ハンドラを実装していない場合、リソース・テンプレートは機能的に不完全であるとみなされます。

機能的に完全なリソース・テンプレートの例として、従業員IDを渡して特定の従業員の詳細を取得する機能を実装したものなどがあります。リソース・テンプレートのURIパターンは、employees/:idのようになります。リソース・ハンドラは、GET操作および次のロジックを使用して実装されます。

select empno, ename, dept from emp where empno = :id 

RESTfulサービスをコールするときには、サーバー・パス、ベース・パスおよびURIテンプレートを使用し、従業員IDの静的値を指定することで、サービスにアクセスします。

http://<<server_address>>/<<schema_alias>>/hr/employees/7978

HTTP GETを使用してこの特定のURLをコールすると、サービスは前述のSQL文の結果を返します。データがどのような形式で返されるかは、リソース・ハンドラの詳細な定義によって異なります。

関連項目: