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

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

18.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ソース・モジュールまたはリモート・サーバーで再利用できます。

18.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ソース・モジュールが作成されます。

18.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を渡す: 「はい」または「いいえ」を選択して、エンドツーエンドのトレースのためにECIDを外部Webサービスに渡すかどうかを指定します。
    • HTTP転送のタイムアウト: タイムアウト値を秒数で指定します。このWebソース値に対するHTTPリクエストがタイムアウト値を超えると、エンド・ユーザーにエラー・メッセージが表示されます。これは、応答しないWebサービスによってページが応答しなくなるのを回避するためです。
    • コメント: コメントまたはノートを入力します。
  11. 変更を保存するには、「変更の適用」をクリックします。

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

Webソース・モジュールをコピーするには、次のステップを実行します。

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

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

Webソース・モジュールの使用状況を表示するには、次のステップを実行します。

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

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

Webソース・モジュールへの最近の変更を表示するには、次のステップを実行します。

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