7.14.1 前提条件

開始する前に、次のタスクを完了してください。

  • Oracle REST Data Services (ORDS)、Oracle APEXおよびOracle Databaseで構成される作業スタックを作成するか指定します。このスタックは、MicroTxが実行されるのと同じKubernetesクラスタで実行することも、他の環境で実行することもできます。
  • 同じKubernetesクラスタにデプロイしない場合は、MicroTxとデータベース・アプリケーションの間にネットワーク・アクセスまたは接続があることを確認します。
  • Oracle Databaseで既存のスキーマを使用するか、新しいスキーマを作成します。スキーマをORDSに登録していることを確認します。『Oracle® Application Express SQLワークショップ・ガイド』RESTfulサービスへのアクセス方法を参照してください。
  • ORDSサービスが登録したスキーマで使用できることを確認します。たとえば、http://localhost:50080/ordsです。
  • adminまたはsysdbaユーザー資格証明を使用して、SQL Developer Webインタフェースにログインします。SQL Developer Webを有効にするには、『Oracle® SQL Developer Webの使用』SQL Developer Webへのユーザー・アクセスの有効化を参照してください。
  • APEXデータベース・ユーザーに接続権限を付与します。『Oracle® APEXインストレーション・ガイド』接続権限の付与を参照してください。
  • アクセス制御リスト(ACL)を作成して権限を追加します(デフォルトではアウトバウンドRESTコールが許可されない場合)。

    MicroTxライブラリは、参加側サービスをXAトランザクションに登録するためのMicroTxトランザクション・コーディネータへのアウトバウンドRESTコールを行います。

    必要なACLを作成して構成し、データベースに追加します。ACLを追加するには、sysdba権限が必要です。次の例は、本番環境などの制限された環境でのみ使用されるサンプルのACLを示しています。ACLの追加の詳細は、APEXのドキュメントを参照してください。

    /
    BEGIN
    DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
    host => '#TMM_HOST_NAME',
    lower_port => null,
    upper_port => null,
    ace => xs$ace_type(privilege_list => xs$name_list('connect', 'resolve', 'http'),
    principal_name => '#PRINCIPAL_NAME',
    principal_type => xs_acl.ptype_db));
    END;
    /

    ここでは、次の値を、環境に固有の値に置き換える必要があります。

    • #TMM_HOST_NAME: ホスト名または外部IPアドレスMicroTxを入力します。
    • #PRINCIPAL_NAME: APEXのプリンシパル・ユーザーの名前を入力します。