19.4 Webソース・モジュールの管理

Webソース・モジュールは、1つまたは複数の外部Webサービスへの参照として機能します。1つのモジュールには、具体的な外部Webサービスへの参照であるWebソース操作を1つ以上含めることができます。

19.4.1 Webソース・モジュールについて

WebソースとWebサービス参照の違い

Webソース・モジュールにより、開発者は、Representational State Transfer (REST)サービスまたはアプリケーションの汎用JSONデータ・フィードにアクセスして、レポート、対話モード・レポート、対話グリッドなどのApplication Expressコンポーネントのデータを使用できます。既存のWebサービス参照とは異なり、Webソース・モジュールには、Webサービスを起動してレスポンスを処理するために、Application ExpressコンポーネントまたはPL/SQLプロセスが使用できるWebサービスに関するメタデータが含まれます。

Webソース・モジュールには、Webサービスのターゲットに応じて異なる複数の演算子が含まれています。RESTサービスの場合、操作は、特定のサービス・ハンドラ(GETPUTPOSTDELETEなど)になります。開発者は、操作にFetch Multiple RowsFetch Single RowInsert RowUpdate RowDelete Rowなどのデータベース・アクションを割り当てます。ただし、各データベース操作を1回のみWebソース操作に割り当てることができます。

Application Expressコンポーネントとの統合

Oracle Application Expressは、Webソース・モジュールのクラシック・レポート、対話モード・レポート、CSSカレンダおよびJETチャートの直接の統合を提供します。

リモート・サーバーについて

Oracle Application Expressでは、WebサービスのエンドポイントURLが2つの部分に分割されます。サーバー固有の部分は、リモート・サーバーと呼ばれる個別のエンティティとして格納されます。使用されるサーバー、ポートおよびURLパス接頭辞(コンテキスト・ルート)が同じである場合は、複数のWebソース・モジュールを持つリモート・サーバーを再利用できます。

リモート・サーバーの属性を変更すると、その変更はリモート・サーバーを使用しているすべてのWebソース・モジュールに影響を与えます。リモート・サーバーにより、Webソース・モジュールのコレクションを移動することが容易になります。たとえば、リモート・サーバー・オブジェクト内のURLを変更することで、テスト・システムから本番システムに移行できます。

認証および資格証明について

Webソース・モジュールでは、基本認証とOAuthクライアント資格証明フローの両方をサポートしています。認証資格証明は、リモート・サーバーを使用するすべてのWebソース・モジュールを対象としたリモート・サーバー・レベルで指定できます。資格証明がWebソース・モジュール・レベルで設定されている場合、その設定は、リモート・サーバー・レベルで格納されている資格証明より優先されます。

資格証明は、認証方式、クライアントID (ユーザー名)およびクライアント・シークレット(パスワード)を示します。資格証明は、共有コンポーネント内の名前付きのエンティティとして格納され、複数のWebソース・モジュールまたはリモート・サーバーで再利用できます。

19.4.2 Webソース・モジュールの作成

Webソース・モジュールを作成するには:

  1. Webソース・モジュール・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、ページの中央にある「共有コンポーネント」をクリックします。
    4. 「データ・ソース」で、「Webソース・モジュール」を選択します。
  2. Webソース・モジュール・ページで、「作成」をクリックします。
  3. 「Webソース・モジュールの作成」→「方法」で、「最初から」を選択し、「次へ」をクリックします。

    ヒント:

    「既存のWebソース・モジュールのコピーとして」を選択した場合、コピーするアプリケーションを選択して、画面に表示される手順に従います。
  4. 次の属性を指定します。
    1. Webソース・タイプ: Webソース・タイプを選択します。
      • 簡易HTTP: 簡単なHTTPデータ・フィードを表示します。Application Expressでは、すべてのデータは最初のリクエストで返され、サーバーはサーバー側フィルタリング、順序付けまたはその他の拡張RESTサービス機能をサポートしないと想定されます。呼出しの詳細とパラメータはすべて手動で構成する必要があります。RESTサービスがORDSサービスまたはOracle Cloud SaaSサービスのいずれでもない場合は、このWebソース・タイプを使用します(次を参照)。
      • Oracle REST Data Services: ORDS (Oracle REST Data Services) REST Servicesを表示します。これらのRESTサービスはOracle REST標準に準拠しており、GET、POST、PUTまたはDELETE操作が標準化されています。サーバー側フィルタリングと順序付けがサポートされます。Application Expressでは、レポートの順序およびフィルタをRESTサービスに委任することで、これらの機能を利用できます。
      • Oracle Cloud Applications (SaaS) REST Service: Oracle Cloud SaaS Applicationsにより提供されるRESTful Webサービスが表示されます。このWebサービス・タイプを使用して、Oracle SaaS REST ServicesをApplication Expressアプリケーションに統合します。Application Expressでは、これらのサービスのページ区切りがサポートされています。
    2. 名前: このWebソース・モジュールのわかりやすい名前を入力します。
    3. エンドポイントURL: このWebソースのエンドポイントURL (http://またはhttps://から始まる)を入力します。
    4. リモート・サーバー: 「新規作成」を選択するか、既存のリモート・サーバー・オブジェクトを選択します。
      Webソース・モジュールのHTTPエンドポイントURLは、リモート・サーバー(ベースURL)とサービス固有の部分で構成されます。リモート・サーバーは、個別のエンティティとして保存されます。
    5. ベースURL: ベースURLを入力します。
      Webソース・モジュールのURLエンドポイントは、(http://またはhttps://で始まる)ベースURLと、それに追加されるサービス・パス接尾辞で構成されます。ベースURLはリモート・サーバー・オブジェクトとして保存され、複数のWebソース・モジュール間で共有できます。ベースURLは単にサーバー名とポート以上のものを表せる(表している場合が多い)ことに注意してください。多くの場合、URLパスの最初の部分(コンテキスト・ルートなど)もサーバー固有です。例: http://myserver.com:8080/myservices/test/
    6. サービスURLパス: このWebソース・モジュールのサービス固有のURLパスを入力します。HTTPエンドポイントURLは、これを、リモート・サーバー・オブジェクトで指定されたベースURLに付加することで生成されます。例: /services/customers/
    7. 「次」をクリックします。
  5. 「認証が必要です」では、新しいWebリソース・モジュールが認証を必要とするかどうかを選択します。
  6. 次に進むには、次のボタンのいずれかを選択します。
    • モジュールを手動で作成: このオプションには、Webソースの検出モードが含まれていません。Webソース・モジュールが、以前に入力した情報に基づいて、いくつかのサンプルの操作およびサンプル・データ・プロファイルで作成されます。「モジュールを手動で作成」では、Oracle Application Expressコンポーネントで使用できない不完全なWebソース・モジュールが作成されます。外部Webサービスを正しく反映するには、Webソース操作とデータ・プロファイルを編集する必要があります。
    • 詳細: データ・プロファイルの詳細パラメータを表示します。「レスポンス・サンプル」を使用して、サンプルのJSON (またはXML)レスポンスをアップロードします。ファイルがアップロードされると、アップロードされたファイルに対してOracle Application Expressがデータ・プロファイル検出を実行します。
    • 検出: Webソースの検出モードが開始されます。Oracle Application Expressで、外部のWebサービスに関する情報を取得するために、複数のHTTPリクエストが実行されます。Application Expressで、Webサービスによって返されたデータ(JSONまたはXML)のサンプルを取得し、データ・プロファイル(JSON属性に関するメタデータで構成される)を導出します。その後、検出結果が表示されて、Webソース・モジュールを作成するかどうかが確認されます。
  7. 「詳細」をクリックすると、パラメータ・ページが表示されます。「詳細」では、検出のために必要となる可能性のある、いくつかの初期Webソース・パラメータを構成できます。一部のWebソースには、特定のHTTPヘッダー(たとえば、User-Agent)を設定しておく必要がある場合があります。拡張パラメータを設定したら、「検出」ボタンまたは「モジュールを手動で作成」ボタンのいずれかを選択します。
  8. 「検出」を選択すると、Application ExpressによってRESTサービスURLが呼び出され、プレビューが表示されます。Application Expressでは、JSONレスポンスから属性とそのデータ型が導出され、それを使用してデータ・プロファイルが作成されます。

    表示される情報は、ターゲット・サービスの複雑さによって異なります。JSONレスポンス属性に関するメタデータを提供しない簡易HTTPサービスまたはORDSサービスの場合、Application Expressによって、JSONまたはXMLレスポンスが調査されて、データがサンプリングされて、データ・プロファイルの提案が作成されます。「データ」タブには、サンプル・レスポンス・データがレポート形式で表示されます。

    「列」タブには、Application Expressが検出中に見つけたデータ・プロファイルの列に関する情報が表示されます。このタブを使用して、列のデータ型が正しいかどうかを確認します。

    「詳細」をクリックすると、Webソース・レスポンスに関する詳細情報(レスポンス本文、レスポンス・ヘッダー、Webソース操作など)を示す追加のタブが表示されます。

  9. 「Webソースの作成」をクリックします。
    Webソース・モジュールが作成されます。

19.4.3 Webソース・モジュールの編集または削除

Webソース・モジュールを編集または削除するには:

  1. Webソース・モジュール・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、ページの中央にある「共有コンポーネント」をクリックします。
    4. 「データ・ソース」で、「Webソース・モジュール」を選択します。
  2. Webソース・モジュール・ページの「モジュール名」で、Webソース・モジュールの名前をクリックします。
  3. Webソース・モジュールを削除するには、「削除」をクリックします。そうでない場合、属性を編集します。

    ノート:

    Webソース・モジュールは、Oracle Application Expressコンポーネントによって参照されていない場合にのみ削除できます。
  4. 「Webソース・モジュール」で、次の項目を指定します。
    1. 名前: このWebソース・モジュールのわかりやすい名前を入力します。
    2. Webソース・タイプ: オプションは次のとおりです。
      • 簡易HTTP: 単純なHTTPデータ・フィードの場合は、このオプションを選択します。Application Expressでは、すべてのデータは最初のリクエストで返され、サーバーはサーバー側フィルタリング、順序付けまたはその他の拡張RESTサービス機能をサポートしないと想定されます。呼出しの詳細とパラメータはすべて手動で構成する必要があります。

      • Oracle REST Data Services: Oracle REST Data Services (ORDS) RESTサービスの場合は、このオプションを使用します。これらのRESTサービスはOracle REST標準に準拠しており、GETPOSTPUTまたはDELETE操作が標準化されています。サーバー側フィルタリングと順序付けがサポートされます。Application Expressでは、レポートを委任することにより、これらの機能を活用できます

      • Oracle REST Data Services (レガシー構文): ORDS (Oracle REST Data Services)の旧バージョンに基づくサービスの場合は、このオプションを選択します。これらのサービスは、Oracle REST標準に完全には準拠していません。

      • Oracle Cloud Applications (SaaS) REST Service: Oracle Cloud Applications (SaaS)で提供されるRESTfulサービスの場合は、このオプションを選択します。このWebサービス・タイプを使用して、Oracle SaaS REST ServicesをApplication Expressアプリケーションに統合します。Application Expressでは、これらのサービスのページ区切りがサポートされています。

    3. リモート・サーバー: このWebソースのリモート・サーバー・オブジェクトを選択します。詳細は、フィールドレベル・ヘルプを参照してください。
    4. ベースURL: ベースURLが表示されます。
    5. URLパス接頭辞: URLパス接頭辞は、このWebソース・モジュールに固有です。Webソース・モジュール内のすべての操作のURLエンドポイントは、同じURLパス接頭辞を共有します。詳細は、フィールドレベル・ヘルプを参照してください。
  5. 「サブスクリプション」に、このモジュールをサブスクライブするWebソース・モジュールが示されます。
  6. 「データ・プロファイル」で、次のステップを実行します。
    1. 「データ・プロファイルの編集」をクリックして、Webソース・レスポンス(XMLまたはJSON)の形式が解析されて行および列に変換される方法を変更します。
      データ・プロファイル・ページが表示されます。
    2. 「データ・プロファイル」および「列」で、属性を編集します。
      「行セレクタ」は、行の集合を含むノードをポイントするXMLまたはJSONパス式を格納します。「列」は、1つの行を解析して複数の列に変換する方法を決定します。
    3. 「変更の適用」をクリックして、変更を保存します。
  7. 「操作」で、次のステップを実行します。
    1. 操作: 「操作の追加」をクリックして、Webソース操作を追加します。Webソース操作には、外部Webサービス・ハンドラに関する実際の情報が含まれています。
      Webソース操作ページが表示されます。
    2. 「操作」および「操作パラメータ」で、属性を編集します。
      操作はデータベース操作にマップでき、これによりApplication Expressコンポーネントが正しい操作を取得できます。レポート、対話モード・レポートまたはCSSカレンダは、「行のフェッチ」データベース操作にマップされた操作を取得します。
    3. 「作成」をクリックします。
  8. 「認証」で、次のステップを実行します。
    • 資格証明: 認証用の保存済資格証明を選択します。
  9. 「モジュール・パラメータ」で、次のステップを実行します。
    1. 「パラメータの追加」をクリックしてWebソース・パラメータを構成します。
      HTTPリクエスト・ヘッダーを渡すか、動的URLを使用するか、リクエスト本文を使用する場合は、これらのパラメータを使用します。パラメータ、そのタイプ、デフォルト値および方向がWebソース・パラメータの編集ページで宣言されている場合、Application Expressコンポーネントはそれを参照できます。
    2. 「パラメータの追加」をクリックします。
  10. 「詳細」で、次のステップを実行します。
    • 静的ID: 静的IDを使用して、APIコールでWebソース・モジュールを参照します。
    • ECIDを渡す: エンドツーエンドのトレースのために実行コンテキストID (ECID)を外部Webサービスに渡すかどうかを示します。
    • HTTP転送のタイムアウト: タイムアウト値を秒数で指定します。このWebソース値に対するHTTPリクエストがタイムアウト値を超えると、エンド・ユーザーにエラー・メッセージが表示されます。これは、応答しないWebサービスによってページが応答しなくなるのを回避するためです。
    • コメント: コメントまたはノートを入力します。
  11. 変更を保存するには、「変更の適用」をクリックします。

19.4.4 Webソース・モジュールのコピー

Webソース・モジュールをコピーするには:

  1. Webソース・モジュール・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、ページの中央にある「共有コンポーネント」をクリックします。
    4. 「データ・ソース」で、「Webソース・モジュール」を選択します。
  2. Webソース・モジュール・ページで、「コピー」をクリックします。
  3. 「Webソース・モジュールのコピー」で、次のステップを実行します。
    1. Webソース・モジュールのコピー: 既存のWebソース・モジュールを選択します。
    2. 新規Webソース・モジュール名: 新しい名前を入力します。
    3. 「コピー」をクリックします。

19.4.5 Webサービス・モジュールの使用状況の表示

Webソース・モジュールの使用状況を表示するには:

  1. Webソース・モジュール・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、ページの中央にある「共有コンポーネント」をクリックします。
    4. 「データ・ソース」で、「Webソース・モジュール」を選択します。
  2. Webソース・モジュール・ページで、「使用状況」をクリックします。
    使用状況ページに、アプリケーション内のWebソース・モジュールが使用されている場所が表示されます。

19.4.6 Webソース・モジュールの履歴の表示

Webソース・モジュールへの最近の変更を表示するには:

  1. Webソース・モジュール・ページにナビゲートします。
    1. ワークスペースのホームページで、「アプリケーション・ビルダー」をクリックします。
    2. アプリケーションを選択します。
    3. アプリケーションのホームページで、ページの中央にある「共有コンポーネント」をクリックします。
    4. 「データ・ソース」で、「Webソース・モジュール」を選択します。
  2. Webソース・モジュール・ページで、「履歴」をクリックします。
    履歴ページに、現在のワークスペースのWebソース・モジュールへの最近の変更が表示されます。