2023年6月13日火曜日

リモート・サーバーを入れ替えてRESTデータ・ソースの実行環境を切り替える

リモート・サーバーを上手に使うことで、RESTデータ・ソースによって操作する環境を簡単に切り替えることができます。例えば、テスト環境と本番環境の切り替えなどを行うことができます。

以下よりリモート・サーバーの使い方を紹介します。 

RESTデータ・ソースを作成する際に、リモート・サーバーが作成されます。

すでにリモート・サーバーが作成済みの場合は、それが選択されます。


リモート・サーバーはアプリケーションではなく、ワークスペースに作成されます。

ワークスペース・ユーティリティリモート・サーバーより、作成済みのリモート・サーバーを確認できます。


例えば本番環境のRESTサービスが以下のように作成されているとします。

https://本番環境のホスト/ords/apexdev/emp/test

ソースは以下です。

select * from emp


開発環境にも同じRESTサービスが実装されています。

https://開発環境のホスト/pls/apex/japancommunity/emp-dev/test

ソースは以下です。

select * from emp


空のAPEXアプリケーションを作成し、最初に開発環境にアクセスするRESTデータ・ソースを作成します。


共有コンポーネントRESTデータ・ソースを開きます。


RESTデータ・ソース作成を開始します。


RESTデータ・ソースの作成最初から行います。

へ進みます。


RESTデータ・ソース・タイプ名前をそれぞれ指定し、URLエンドポイントとして、開発環境を指すURLを入力します。

へ進みます。


切り替える環境と一致しない部分ベースURLとして指定します。切り替える環境と一致する部分サービスURLパスに記述します。今回の例ではURLの最後のtestの部分だけが一致するため、サービスURLパスtestになります。

すでに作成済みのリモート・サーバーが選択され、そのベースURLが設定したい値と異なる場合は、リモート・サーバー新規作成を選びます。ただし、この画面からリモート・サーバーを新規作成すると、名前と静的識別子が自動生成されます。分かりにくい名前になるため、あらかじめワークスペース・ユーティリティよりリモート・サーバーを作成しておくことをお勧めします。

へ進みます。


ページ区切りタイプはリモート・サーバーの設定に関係しません。

に進みます。


認証もリモート・サーバーに関係しません。

検出をクリックします。


RESTデータ・ソースが検出され、プレビューが表示されます。

RESTデータ・ソースの作成をクリックします。


RESTデータ・ソースが作成されます。エンドポイントURLベースURLサービスURLパスの結合なので、これらをどのように分けてもエンドポイントURLは変わりません。


このRESTデータ・ソースを使う対話モード・レポートを作成します。

識別タイトルEmployeesタイプ対話モード・レポートとします。ソース位置としてRESTソースを選択し、RESTソースとして作成したRESTデータ・ソースを選択します。


ページを実行します。開発環境にある表EMPの内容が、REST API経由で表示されます。


これから、本番環境をリモート・サーバーとして登録します。その後、RESTデータ・ソースを本番環境を参照するように切り替えます。

ワークスペース・ユーティリティリモート・サーバーを開き、作成を実行します。


リモート・サーバー名前静的識別子を設定し、サーバー・タイプとしてRESTデータ・ソースを選択します。

エンドポイントURLは、RESTデータ・ソースベースURLとして扱われるURLです。RESTデータ・ソースのサービスURLパスと結合し、本番環境のRESTサービスを呼び出すURLになります。

必ずしも必要ではありませんが、インストール時にプロンプトを表示チェックを入れておきます。このリモート・サーバーを使用しているRESTデータ・ソースを含むAPEXアプリケーションをインポートする際に、プロンプトが表示されるようになります。

以上で作成をクリックします。


本番環境のリモート・サーバーが作成されます。テスト環境向けのリモート・サーバーの名称は、分かりやすいように変更しておくと良いでしょう。


RESTデータ・ソースの呼び出す環境を切り替えます。

共有コンポーネントRESTデータ・ソースより、作成済みのRESTデータ・ソースを開きます。


リモート・サーバーを開発環境から本番環境のサーバーへ切り替えます。

リモート・サーバーを切り替えると、自動的にベースURLが更新されます。

変更の適用をクリックします。これで、環境の切り替えは完了です。


先ほど作成した対話モード・レポートを表示します。同じデータなので違いがわかりませんが、REST APIの呼び出し先は切り替わっています。


リモート・サーバーインストール時にプロンプトを表示の設定ですが、これをオンにしていると、APEXアプリケーションのインポート時に以下の画面が開きます。


この画面より、ベースURLの変更ができます。すでにリモート・サーバーが作成されている場合(すでに存在しますYesの場合)、登録済みのリモート・サーバーのベースURLが表示されます。そのままに進むと、インポートするAPEXアプリケーションから見ると、ベースURLが変更され、REST API経由で呼び出される環境が変更されます。

インストール時にプロンプトを表示オフの場合は、すでにリモート・サーバーが作成されている場合は、そのベースURLが上書きされます。インポートするAPEXアプリケーションから見ると、同じ環境が呼び出されますが、既存のアプリケーションに影響を与えるため注意が必要です。

本番環境や開発環境といった用途の違うワークスペースの間で、同じ名前、静的識別子のリモート・サーバーのベースURLは同じにするというルールを設ける場合は、リモート・サーバーのインストール時にプロンプトを表示オフ、同じ名前、静的識別子のリモート・サーバーで、本番環境のリモート・サーバーは本番環境であるRESTサービスを呼び出し、開発環境のリモート・サーバーは開発環境であるRESTサービスを呼び出すといった運用の場合は、インストール時にプロンプトを表示オン、という運用になるかと思います。

リモート・サーバーの使い方の紹介は以上になります。

Oracle APEXのアプリケーション作成の参考になれば幸いです。