7.6 RESTfulサービス・モジュールの管理

サンプルのRESTfulサービス・モジュールをインストールする方法を学習します。ORDS RESTfulサービス・モジュールを作成、編集、および削除できます。

RESTfulサービス・モジュールは、一般的なテンプレート(リソース・テンプレートと呼ばれる)を共通のUniform Resource Identifier (URI)接頭辞でグループ化したものです。

URI接頭辞の指定はオプションです。RESTfulサービス・モジュールに接頭辞が定義されている場合は、その接頭辞がすべてのリソース・テンプレートの前に付きます。複数のリソース・テンプレートのパターンが1つのリクエストURIに一致する場合は、優先度の値を使用してリソース・テンプレートが選択されます。このような場合、優先度の値が最も高いリソース・テンプレートが選択されます。

7.6.1 スキーマORDSを無効にした状態でのサンプルのRESTfulサービス・モジュールのインストール

スキーマORDSを無効にした状態でサンプルのRESTfulサービス・モジュールを作成する方法を学習します。

ノート:

新規ワークスペースの作成時に、サンプルのRESTfulサービスのみをインストールできます。

サンプルのRESTfulサービス・モジュールを作成するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 「ORDSベースのRESTfulサービス」をクリックします。

    ORDS RESTfulサービス・ページが表示されます。

  3. 「ORDSにスキーマを登録」をクリックします。

    ORDSスキーマ属性ページが表示されます。

    ノート:

    デフォルト・スキーマとして複数のワークスペースに割り当てられているスキーマをORDS対応にすると、ワークスペース関連の静的ファイルで問題が発生します。ORDS 18.3以上を実行するまでは、複数のワークスペース間で共有されているスキーマをORDS対応にしないことをお薦めします。

  4. 属性の詳細を入力します。
    1. RESTfulアクセスの有効化 - スキーマに定義されているRESTサービスへのアクセスを有効にするには「オン」を選択し、無効にするには「オフ」を選択します。
    2. スキーマ別名 - スキーマ内のRESTfulサービスを参照するURLの形成に使用されるスキーマ別名の名前を入力します。
    3. サンプル・サービスのインストール - 「オン」を選択します。「オン」を選択すると、サンプルのoracle.example.hr RESTfulサービスがインストールされます。
    4. メタデータ・アクセスに必要な認可 - 「オン」を選択します。「オン」を選択すると、スキーマのORDSメタデータ・カタログへのアクセスを許可する前に、Oracle REST Data Servicesでユーザーの認可が必要になります。
  5. 「スキーマ属性の保存」をクリックします。

    ORDS RESTfulページが表示されます。「モジュール」の下にサンプルのRESTfulサービスが表示されます。

7.6.2 スキーマORDSを有効にした状態でのサンプルのRESTfulサービス・モジュールのインストール

スキーマORDSを有効にした状態でサンプルのRESTfulサービス・モジュールを作成する方法を学習します。

ノート:

新規ワークスペースの作成時に、サンプルのRESTfulサービスのみをインストールできます。

サンプルのRESTfulサービス・モジュールを作成するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 「ORDSベースのRESTfulサービス」をクリックします。

    ORDS RESTfulサービス・ページが表示されます。

  3. 右ペインの「サンプル・サービスのインストール」をクリックします。

    サンプル・サービスがインストールされて、RESTfulサービス・モジュールの下に表示されます。

    ノート:

    サンプル・サービスをリセットするには、「サンプル・サービスのリセット」ボタンをクリックします。「サンプル・サービスのリセットの検証」ダイアログが表示され、サービスが完全に削除されて再作成されることを警告します。

7.6.3 ORDS RESTfulサービス・モジュールの作成

ORDS RESTfulサービス・モジュールを作成する方法を学習します。

ORDS RESTfulサービス・モジュールを作成するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 「ORDSベースのRESTfulサービス」をクリックします。

    ORDS RESTfulサービス・ページが表示されます。

  3. RESTful Data Servicesツリーの「モジュール」をクリックします。
  4. 右ペインの「モジュールの作成」をクリックします。

    ORDSモジュール定義ページが表示されます。

  5. RESTfulサービス・モジュールの設定で、次を指定します。
    • モジュール名 - RESTfulサービス・モジュールの名前を入力します。

    • ベース・パス - モジュール・ベース・パスを入力します。

    • 「公開」 - このサービスを使用可能にする場合は「オン」を、それ以外の場合は「オフ」を選択します。

    • ページ区切りサイズ - ページ区切りウィンドウのサイズを指定します。データベース問合せの場合、これは返される行の数です。

    • 使用可能な起点(オプション) - リソース・テンプレートへのアクセスが許可される起点のカンマ区切りリストを指定します。

    • コメント(オプション) - コメントを入力します。

  6. 「モジュールの作成」をクリックします。

    ORDSモジュール定義ページが表示されます。

7.6.4 ORDS RESTfulサービス・モジュールの編集

ORDS RESTfulサービス・モジュールには、関連するリソース・テンプレートおよびリソース・ハンドラを含めることができます。特定のRESTfulサービス・モジュールの編集プロセス時に、関連する任意のリソース・テンプレートおよびリソース・ハンドラに変更を行うことができます。

ORDS RESTfulサービス・モジュールを編集するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 編集するモジュールの名前をクリックします。

    ORDSモジュール定義ページが表示されます。

    ノート:

    リソース・テンプレートおよびリソース・ハンドラを表示、編集および作成するには、左のペインにあるRESTfulサービスのツリーを使用します。

  3. RESTfulサービス・モジュールの設定を編集するには、ORDSモジュール定義ページで、右ペインのフィールドを変更します。
    • リソース・テンプレートを編集するには:
      1. 左のパネルにあるRESTfulサービスのツリーで、編集するリソース・テンプレートを選択します。リソース・テンプレートのオプションが右のパネルに表示されます。

      2. 変更を加えます。

      3. 「変更の適用」をクリックします。

    • リソース・ハンドラを編集するには:
      1. 左のパネルにあるRESTfulサービスのツリーで、編集するリソース・ハンドラを選択します。リソース・ハンドラのオプションが右のパネルに表示されます。

      2. 変更を加えます。

      3. 「変更の適用」をクリックします。

  4. 「変更の適用」をクリックします。

7.6.5 ORDS RESTfulサービス・モジュールの削除

ORDS RESTfulサービス・モジュールを削除すると、モジュールとともに、このモジュールに関連するすべてのリソース・テンプレートおよびリソース・ハンドラが削除されます。

ORDS RESTfulサービス・モジュールを削除するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 削除するモジュールの名前をクリックします。

    ORDSモジュール定義ページが表示されます。

  3. 「削除」をクリックします。
  4. 「OK」をクリックして確定します。

    「RESTfulサービス」ホームページが表示されます。

7.6.6 ORDS RESTfulサービス権限の管理

RESTfulサービス・モジュールにアクセスするための権限は、APEXで制限できます。

権限の割当てによってORDS RESTfulサービス・モジュールを保護するには:

  1. RESTfulサービス権限を作成します。
  2. この権限で保護されるRESTfulサービス・モジュールを指定します。

7.6.7 ORDS RESTfulサービス・モジュールへの権限の割当て

ORDS RESTfulサービス・モジュールに権限を割り当てる方法を学習します。

ORDS RESTfulサービス権限の作成または編集時にORDS RESTfulサービス・モジュールに権限を割り当てることができ、この権限によって保護される1つ以上のモジュールを指定できます。

ノート:

RESTfulサービス権限を削除すると、その権限によって保護されていたすべてのRESTfulサービス・モジュールが保護されなくなります。

7.6.8 ORDS RESTfulサービス権限の作成

ORDS RESTfulサービス権限を作成して、特定のユーザーに1つ以上のRESTfulサービス・モジュールへのアクセスを制限できます。

RESTfulサービス権限には、1つ以上のユーザー・グループに属するユーザーを含むことができます。この権限によって保護されるRESTfulサービス・モジュールでは、RESTfulサービス・モジュール・ページの「必要な権限」に、権限の名前が表示されます。

ORDS RESTfulサービス権限を作成するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 「ORDSベースのRESTfulサービス」をクリックします。

    ORDS RESTfulサービス・ページが表示されます。

  3. 左ペインのRESTful Data Servicesツリーで、「権限」をクリックします。
  4. 右ペインの「権限の作成」をクリックします。

    ORDS権限定義ページが表示されます。

  5. ORDS権限定義ページで次を指定します。
    • 名前- RESTfulサービス権限の名前を入力します。
    • タイトル- RESTfulサービス権限タイトルの名前を入力します。
    • 説明- RESTfulサービス権限の説明を入力します。
    • コメント- コメントを入力します。
    • ロール - 権限に割り当てられたロールを選択します。
    • 保護されたモジュール- 矢印を使用して、この権限の割当て先とするモジュールを選択します。
    • 保護されたリソース- 対話グリッドに保護パターンのリストを追加します。
  6. 「権限の作成」をクリックします。

7.6.9 RESTfulサービス権限の編集

ORDS RESTfulサービス権限を変更できます。保護された特定のモジュールに対する変更は、影響を受けるモジュールのRESTfulサービス・モジュール・ページで、「必要な権限」設定に反映されます。

ORDS RESTfulサービス権限を編集するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 「ORDSベースのRESTfulサービス」をクリックします。

    ORDS RESTfulサービス・ページが表示されます。

  3. 左ペインのRESTful Data Servicesツリーで、「権限」をクリックします。

    ORDS権限定義ページが表示されます。

  4. 変更を加えます。
  5. 「変更の適用」をクリックします。

7.6.10 ORDS RESTfulサービス権限の削除

ORDS RESTfulサービス権限を削除できます。権限を削除すると、その権限によって保護されていたすべてのRESTfulサービス・モジュールは、他の権限が再割当てされるまで保護されなくなります。

ORDS RESTfulサービス権限を削除するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 「ORDSベースのRESTfulサービス」をクリックします。

    ORDS RESTfulサービス・ページが表示されます。

  3. 左ペインのRESTful Data Servicesツリーで、「権限」をクリックします。

    ORDS権限定義ページが表示されます。

  4. 「削除」をクリックします。

7.6.11 ORDS RESTfulサービス・モジュールのエクスポート

ORDS RESTfulサービス・モジュールのメタデータは、SQLスクリプト形式でファイルにエクスポートできます。エクスポートされたファイルは、同じインスタンスまたは互換性のある他のOracle APEXインスタンスにインポートできます。

ORDS RESTfulサービス・モジュールをエクスポートするには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 「ORDSベースのRESTfulサービス」をクリックします。

    ORDS RESTfulサービス・ページが表示されます。

  3. 右ペインの「エクスポート」をクリックします。

    ORDS RESTfulサービスのエクスポート・ページが表示されます。

  4. 「RESTfulサービス」で、次のいずれかを実行します。
    • 1つのモジュールをエクスポートするには、そのモジュール名を選択します。

    • すべてのモジュールをエクスポートするには、「すべてのサービス」を選択します。

  5. 「エクスポート」をクリックします。

    開始ダイアログが表示されます。

  6. エクスポート・オプションを選択します。
  7. 「OK」をクリックします。

7.6.12 ORDS RESTfulサービス・モジュールのインポート

SQLスクリプト形式でファイルにエクスポートされたORDS RESTfulサービス・モジュールのメタデータは、インポートできます。インポートするモジュールは、同じインスタンスまたは互換性のある他のOracle APEXインスタンスにエクスポートされている必要があります。

ノート:

インポートするモジュールに、このワークスペースに存在するORDS RESTfulサービス名が含まれる場合は、既存のORDS RESTfulサービスが削除され、インポートするモジュールの定義で置き換えられます。

ORDS RESTfulサービス・モジュールをインポートするには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 「ORDSベースのRESTfulサービス」をクリックします。

    ORDS RESTfulサービス・ページが表示されます。

  3. 右ペインの「インポート」をクリックします。

    ORDS RESTfulサービスのインポート・ページが表示されます。

  4. 「ファイルのインポート」で、インポート・ファイルをブラウズして選択します。
  5. 「ファイルの文字セット」で、インポート・ファイルで使用する文字セットを選択します。
  6. 「インポート」をクリックします。

    ORDS RESTfulサービス・ページが、インポートされたデータとともに表示されます。

    警告:

    APEXベースのRESTfulサービスをエクスポートして、ORDS RESTfulサービスのインポート・ページにインポートしようとすると、ファイルのタイプが間違っているというエラー・メッセージが表示されます。

7.6.13 Swaggerドキュメントの生成

Swaggerドキュメントを生成する方法を学習します。

Swaggerドキュメントを生成するには、Oracle APEXインスタンス・レベルでURLを設定します。これにより、SwaggerサーバーのURLを定義できます。URLがインスタンス・レベルで設定されている場合、Oracle APEXは生成したSwaggerドキュメントをレンダリングするためにサーバーに送信します。URLが指定されていない場合、Oracle APEXはSwagger用に生成されたJSONを表示するだけです。

Swaggerドキュメントを生成するには:

  1. ワークスペースのホームページで、「SQLワークショップ」をクリックして、「RESTfulサービス」をクリックします。

    「RESTfulサービス」ホームページが表示されます。

  2. 「ORDSベースのRESTfulサービス」をクリックします。

    ORDS RESTfulサービス・ページが表示されます。

  3. Swaggerドキュメントを生成するモジュールを選択します。
  4. 左ペインの「Swaggerドキュメントの生成」をクリックします。
    • Swagger UI URLがインスタンス・レベルで定義されている場合、Oracle APEXはそのURLをコールして、ORDS SwaggerドキュメントURLを渡します。新しいブラウザ・タブが開き、Swaggerドキュメントが表示されます。
    • Swagger UIが定義されていない場合、Oracle APEXは単にORDSをコールして、SwaggerドキュメントJSONファイルを生成し、それを新しいタブに表示します。