2021年1月21日木曜日

リモート・データへのアクセス (2) - REST対応SQL

こちらの記事からの継続です。リモートのAutonomous Databaseに、REST対応SQLによってアクセスするOracle APEXのアプリケーションを作成します。

アプリケーション名をリモート・アクセスとした、空っぽのアプリケーションを作成しておきます。アプリケーション・ビルダー作成から、新規アプリケーションの作成を実行し、名前だけを設定し、それ以外は設定を行わずにアプリケーションの作成を実行します。

この状態から作業の説明を始めます。

Web資格証明の登録


先の記事で作成したOAuthクライアントを、Web資格証明として登録します。作成したアプリケーションの共有コンポーネントを開きます。


セキュリティに含まれるWeb資格証明を開きます。


作成をクリックして、Web資格証明の登録を行います。


今回はアプリケーションの共有コンポーネントからWeb資格証明のページを開きました。実際には、Web資格証明はワークスペース・ユーティリティに含まれています。そのため、ここで作成したWeb資格証明は、同じワークスペースの他のアプリケーションからも利用することができます。

Web資格証明として、名前を設定し(デフォルトでは静的識別子が名前より導出されるため、英数字の利用に限定してください)、認証タイプとしてOAuth2クライアント資格証明フローを選択します。クライアントIDまたはユーザー名クライアント・シークレットまたはパスワード(と確認)、URLに対して有効については、前回の記事で作成したOAuthクライアントの目のアイコンをクリックして表示される情報と、Autonomous DatabaseのURL(OAuthクライアントはスキーマAPEXDEVに登録されているので、URLの末尾はスキーマ別名まで含めます)を指定します。

それぞれ設定し、作成をクリックします。


Web資格証明が登録されたことを確認します。


REST対応SQLの登録


アプリケーションの共有コンポーネントに戻り、データ・ソースに含まれるREST対応SQLを開きます。


REST対応SQLの定義も実際にはワークスペース・ユーティリティに含まれているので、ここでの定義は同じワークスペースに作成されているアプリケーションから利用できます。

作成をクリックします。


名前とエンドポイントURLを指定します。名前任意です。エンドポイントURLは今回はアクセス先のAutonomous DatabaseのURLです。URLの末尾は、スキーマAPEXDEVをREST対応ユーザーとして有効化する際に指定したスキーマ別名になります。以下の形式になります。

https://Autonomous Databaseのホスト.oraclecloudapps.com/ords/スキーマ別名/

Autonomous Database以外でも、末尾はスキーマ別名になります。

に進みます。


資格証明として先ほど登録したWeb資格証明を選択します。今回の例ではAPEXDEV at AshburnとしてWeb資格証明を登録しているので、それを選択しています。その後、作成をクリックします。


REST対応SQLが作成され、接続テストも続いて行われます。エラーが発生せず、REST対応SQLサービスが作成されました。と表示されれば成功です。ウィンドウを閉じます


REST対応SQLが新たに登録されていることを確認します。テストのボタンがありますが、これは上記のテストの再実行になるので、繰り返し行う必要はありません。



REST対応SQLによる対話グリッドの作成


アプリケーションに対話グリッドのページを作成します。アプリケーション・ビルダーを開いて、ページの作成をクリックし、ページ作成ウィザードを開始します。


コンポーネントフォームをクリックします。


編集可能対話グリッドをクリックします。


ページ名REST対応SQLとします。に進みます。


ナビゲーションのプリファレンスとして、新規ナビゲーション・メニュー・エントリの作成を選択します。新規ナビゲーション・メニュー・エントリとして、ページ名であるREST対応SQLがデフォルトになります。そのまま変更せず、へ進みます。


データ・ソースの設定を行います。REST対応SQLサービスを選択します。REST対応SQLサービスとして、登録済みのサービスを選択します。今回はAPEXDEV on Ashburnです。ソース・タイプとしてを選択し、表/ビューの名前としてEMPを選択します。主キー列EMPNO (Number)を選択し、作成を実行します。

主キー列はウィンドウからはみ出ている場合があるので、ウィンドウを拡大するかスクロールするかして表示させてから、設定します。デフォルトはROWIDなので、レポートの表示列が変わってしまいます。


ページが作成されるとページ・デザイナが開きます。作成されたリージョンのソースの定義を確認します。REST対応SQLがソースのときは、リモート・キャッシュの機能が追加されます。リモート・キャッシュについては、オンライン・ヘルプを参照してください。

作成されたページを実行し、動作を確認します。


検索および行の挿入/更新/削除を行ってみましょう。


REST対応SQLを使ったリモート・データへのアクセスについては以上で完了です。

次の記事ではRESTデータ・ソースを定義し、データベース間でのデータ同期を実装してみます。