4 「REST」ページ

「REST」ページでは、ORDS (Oracle REST Data Services)ベースのRESTful Webサービスをデータベース用に開発し、保護できます。

「REST」ページにナビゲートするには、次のいずれかを実行します。

  • 「起動パッド」ページで、「REST」をクリックします。

  • セレクタ セレクタ・アイコン をクリックして、ナビゲーション・メニューを表示します。「開発」で、「REST」を選択します。

4.1 RESTful Webサービスについて

Representational State Transfer (REST)は、World Wide Webのような分散ハイパーメディア・システムのためのソフトウェア・アーキテクチャのスタイルです。RESTの原則に準拠するサービスは、RESTfulと呼ばれます。

RESTfulサービスには次の特性があります。

  • データは一連のリソースとしてモデル化されます。リソースはURIで識別されます。

  • リソースの操作には、一連の統一された小さな操作が使用されます(GET、POST、PUT、DELETEなど)。

  • リソースは、複数の形式で表示できます(たとえば、ブログは、HTML形式およびRSS形式で表示できます)。

  • サービスはステートレスですが、クライアントが関連リソースにアクセスできるように、返される表示で、通常はハイパーテキスト・リンクによって関連リソースを示す必要があります。

4.2 RESTfulサービスの用語

RESTfulサービスに関する主要な用語の一部を次に示します。

  • RESTfulサービス: RESTfulアーキテクチャ・スタイルの原則に準拠したHTTP Webサービス。

  • リソース・モジュール: 関連するリソース・テンプレートをグループ化するために使用される構成単位。

  • リソース・テンプレート: 一部のURI (Universal Resource Identifiers)のセットにサービス・リクエストを行える個別のRESTfulサービス。URIのセットは、リソース・テンプレートのURIパターンで定義されます

  • URIパターン: リソース・テンプレートのパターン。ルート・パターンの使用をお薦めしますが、ルート・パターンまたはURIテンプレートのいずれにもできます。

    • ルート・パターン: URIのパス部分をコンポーネント・パーツに分解することに重点をおくパターン。たとえば、/objects/:object/:id?のパターンは、/objects/emp/101 (id101empリソースのアイテムに対するリクエストに一致)や/objects/emp/ (:idパラメータにidパラメータがオプションであることを示す?修飾子の注釈があるのでempリソースに対するリクエストに一致)にも一致します。

    • URIテンプレート: 所定のリソース・テンプレートが処理可能な特定のURIパターンを定義する簡易文法。たとえば、employees/{id}というパターンは、パスがemployees/で始まる任意のURI (employees/2560など)に一致します。

  • リソース・ハンドラ: 特定のリソース・テンプレートで特定のHTTPメソッドのサービスを行うために必要なロジックを提供します。たとえは、前のリソース・テンプレートでGET HTTPメソッドを行うためのロジックは次のようになります。

    select empno, ename, dept from emp where empno = :id
    
  • HTTP操作: HTTP (HyperText Transport Protocol)により、RESTfulサービスを構築するための、Oracle REST Data Servicesでサポートされている標準的メソッドが定義されます。GET (リソース内容の取得)、POST (新規リソースの格納)、PUT (既存のリソースの更新)およびDELETE (リソースの削除)。

4.3 「概要」ページについて

「概要」ページには、「REST」ページのアクティビティの概要が表示されます。

「概要」ページにナビゲートするには、次のいずれかを実行します。

  • 「起動パッド」ページで、「REST」をクリックします。

  • セレクタ セレクタ・アイコン をクリックして、ナビゲーション・メニューを表示します。「開発」で、「REST」を選択します。

ヘッダーのメニュー(「概要」、「モジュール」、「AutoREST」および「セキュリティ」)を使用して、REST内のページにナビゲートできます。

「スキーマのエクスポート」を使用して、スキーマ内で定義されているすべてのロール、権限、モジュール、REST対応オブジェクトおよびOAuthクライアントをコピーまたはダウンロードします。

「概要」ページは、3つのセクションで構成されています。

オブジェクト

作成されたリソース・モジュール、RESTアクセスのあるスキーマ・オブジェクト、ロール、権限およびOAuthクライアントの合計数が表示されます。各カードをクリックして、モジュール、ロール、権限およびOAuthクライアントの対応するページにナビゲートします。

「REST」ページでは、オブジェクトという用語はモジュール、テンプレート、ハンドラ、ロール、権限またはOAuthクライアントを指すために使用されます。

セキュリティ

メタデータ・カタログ: スキーマのORDSメタデータ・カタログへのアクセスが保護されているかどうかを表示します。メタデータ・カタログには、スキーマ内のすべてのサービスがリストされます。メタデータ・カタログに対するユーザー認可は、ユーザー・アクセスを有効化したときに付与されます。

モジュール: 作成されたモジュールの合計数のうち、公開されているモジュールの数が表示されます。

モジュールのセキュリティ: 作成されたモジュールの合計数のうち、権限によって保護されているモジュールの数が表示されます。部分的に保護された権限では、モジュールが権限とパターンの両方によって保護されています。

最近使用したオブジェクト

最近更新または作成されたオブジェクトが表示されます。各エントリには、行の最後にコンテキスト・メニューがあります。「アクション」コンテキスト・メニュー・アイコンをクリックして、「編集」や「削除」などのオプションにアクセスします。

4.4 「AutoREST」ページについて

RESTアクセスのためのスキーマ・オブジェクトの自動有効化(AutoREST)機能を使用して、現在のスキーマ内のデータベース・オブジェクトに対するRESTアクセスを有効にします。

表、ビュー、ファンクション、プロシージャ、パッケージなどのスキーマ・オブジェクトに対してRESTアクセスを有効にすると、RESTfulサービスを介してアクセスできるようになります。『Oracle REST Data Services開発者ガイド』AutoRESTに関する項を参照してください

「AutoREST」ページに移動するには、RESTの概要ページで、「AutoREST」をクリックするか、ヘッダーのメニューから「AutoREST」を選択します。

「AutoREST」ページは、次の3つの部分で構成されます。

  • オブジェクト: 保護されていて、スキーマ内で有効になっているスキーマ・オブジェクトの合計数のうち認可が必要なREST対応スキーマ・オブジェクトの数が表示されます。

  • AutoREST: スキーマ内でRESTが有効になっている表およびビュー、パッケージ、プロシージャおよびファンクションの数が表示されます。カードをクリックすると、対応するオブジェクトが下にリストされます。

  • ページの下部には、AutoRESTでの選択に基づいてスキーマ・オブジェクトがリストされます。これらのオブジェクトは、カード・ビューまたはグリッド・ビューで表示できます。オブジェクトのコンテキスト・メニューで使用可能なアクションは次のとおりです。

4.4.1 データベース・オブジェクトに対するRESTアクセスの有効化

表、ビュー、マテリアライズド・ビュー、ファンクション、プロシージャまたはパッケージに対するRESTアクセスを有効にできます。

スキーマ・オブジェクトをREST対応にするには:

  1. SQLページの「ナビゲータ」タブで、オブジェクトを右クリックして「REST」を選択し、「有効化」を選択します。
  2. 次のフィールドを入力します。
    • オブジェクト別名: オブジェクトの別の名前を入力します。セキュリティ上の理由から、実際のオブジェクト名とは異なる名前を使用することをお薦めします。

    • 認証が必要: RESTエンドポイントを保護するには、このオプションを選択します。

    • 認可ロールおよび認可権限: これらのフィールドは自動的に事前入力されます。

    コードの表示: 「RESTアクセスの有効化」スライダと同等のPL/SQLコードを表示するには、このオプションを選択します。このPL/SQLコードをワークシートにコピーして実行し、「RESTアクセスの有効化」スライダで「有効化」をクリックしたときと同じアクションを実行できます。

  3. 「有効化」をクリックします。

    REST対応オブジェクトは、「ナビゲータ」タブの「REST対応」アイコン「RESTの有効化」アイコンで示されます。

4.4.2 データベース・オブジェクトに対するRESTアクセスの無効化

この項では、データベース・オブジェクトに対するRESTアクセスを無効にする方法について説明します。

  1. SQLページの「ナビゲータ」タブで、RESTが有効なデータベース・オブジェクトを右クリックし、「無効化」を選択します。
  2. 確認を求めるプロンプトが表示されます。「OK」をクリックします。

4.4.3 REST対応データベース・オブジェクトのcURLリクエストの生成

REST対応のデータベース・オブジェクトの場合、選択したオブジェクトに対するGET、POST、PUTおよびDELETEリクエストのサンプルcURLコールを生成できます。「クリップボードにコピー」アイコンを使用して、cURLコードをコピーします。

選択したオブジェクトの特定のメソッドのcURLコールを表示するには:

  1. SQLページの「ナビゲータ」タブで、REST対応オブジェクトを右クリックし、「REST」「cURLコマンド」の順に選択します。
  2. 左ペインからHTTPメソッドを選択し、必要に応じて値を入力し、「次」をクリックしてcURLコマンドを表示します。

    各HTTPメソッドの詳細は、Oracle REST Data Servicesの例を参照してください。

4.5 REST検索ツールバーについて

この項では、「REST」ページの検索ツールバーで使用可能な様々なオプションについて説明します。選択したオプションがセッション用に保存されます。

検索ツールバー

検索: フィールドに入力されたテキストに基づいて検索を実行します。このフィールドでは大/小文字は区別されません。「検索」フィールドへの入力を開始すると、「閉じる」アイコンアイコンが表示されます。このアイコンをクリックすると、入力したテキストが削除され、テキストを再入力できます。

フィルタ条件: 選択したフィルタに基づいて検索を実行します。「フィルタ条件」ドロップダウンで、最初にフィルタを適用する列を選択してから、その列で検索する値を選択します。

ソート基準: 選択した列に基づいてデータを昇順または降順でソートします。列をオンまたはオフにできます。「リセット」は、列を元の状態に戻します。選択されたソート基準は、右上隅に「ソート基準」として表示されます。

ページ・サイズ、最初のページ、前のページ、次のページ: カード・ビューにのみ表示されます。これを使用して、ページ・サイズを選択し、ページ間を移動できます。

「リフレッシュ」アイコンリロード: ページの情報をリフレッシュします。

次の2つのビューがあります。

「カード・ビュー」アイコンカード・ビューを開く: これがデフォルトの表示ビューです。各オブジェクトの情報が、カード形式で表示されます。各カードには、オブジェクトの関連属性がコンテキスト・メニューとともに表示されます。コンテキスト・メニューには、そのオブジェクトで使用可能なアクションが示されます。

「グリッド・ビュー」アイコングリッド・ビューを開く: 各オブジェクトの情報が表の1行に表示されます。各行の最後の列には、オブジェクトで使用可能なアクションを示すコンテキスト・メニュー・アイコンがあります。