9.1 LinuxホストでのTuxedoアプリケーションの実行

環境には少なくとも2つのホストが含まれます:

  • Tuxedoアプリケーションが実行されるLinuxホスト。
  • MicroTxをインストールしたKubernetesクラスタをデプロイした物理または仮想ホスト。

9.1.1 環境の準備

TuxedoアプリケーションとMicroTxの間にネットワーク接続があることを確認します。

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

TuxedoアプリケーションとMicroTxの間の双方向ネットワーク接続を確認するには:
  1. SSHを使用して、MicroTxホストおよびTuxedoアプリケーションをインストールしたLinuxホストにログインします。
  2. MicroTxホストで単純なHTTPサーバーを起動します。
    python -m SimpleHTTPServer 2345

    ここで、2345は、トラフィックを許可するために必要なネットワーキング・ルールが設定された、MicroTxホスト内のポートです。

    作成されたHTTPサーバーのホスト名を書き留めます。この情報は次のステップで指定します。
  3. Tuxedoホストで次のコマンドを実行して、MicroTxホストで実行されているHTTPサーバーに接続します。

    コマンド構文

    curl -vv Transaction_Manager_for_Microservices_host_name:2345

    説明

    • Transaction_Manager_for_Microservices_host_nameは、MicroTxをインストールしたKubernetesクラスタまたはDockerコンテナの物理または仮想ホストの名前です。
    • 2345は、トラフィックを許可するために必要なネットワーキング・ルールが設定された、MicroTxホスト内のポートです。
  4. Tuxedoホストで単純なHTTPサーバーを起動します。
    python -m SimpleHTTPServer 2345

    ここで、2345は、トラフィックを許可するために必要なネットワーキング・ルールが設定された、Tuxedoホスト内のポートです。

    作成されたHTTPサーバーのホスト名を書き留めます。この情報は次のステップで指定します。
  5. MicroTxホストで、次のコマンドを実行して、Tuxedoホストで実行されているHTTPサーバーに接続します。

    コマンド構文

    curl -vv Tuxedo_host_name:2345
    コマンドが正常に実行されない場合、2つのホスト間にネットワークの問題があることを意味します。ネットワークの問題をトラブルシューティングします。たとえば、トラフィックを許可するためにポートを開く必要がある場合があります。

9.1.2 パッチのインストール

TuxedoとSALTのパッチをTuxedoホストに適用します。

TuxedoおよびSALTのパッチを適用するには:
  1. パッチを適用する前に、Tuxedoアプリケーションを停止します。
  2. Tuxedoパッチを適用するには:
    1. パッチ24574032をダウンロードします。パッチのダウンロードの詳細は、『Database Clientインストレーション・ガイドfor Linux』リリース更新パッチのダウンロードを参照してください。
    2. パッチ・ファイルを解凍します。
      unzip p33664689_122200_Linux-x86-64.zip
    3. パッチを適用します。

      コマンド構文

      cd $ORACLE_HOME/OPatch
      ./opatch apply fullpath_of_the_patch_file

      サンプル・コマンド

      cd $ORACLE_HOME/OPatch/
      ./opatch apply 33664689.zip
  3. SALTパッチを適用するには:
    1. Tuxedoアプリケーションがまだ停止していることを確認します。
    2. サンプル・ファイルに用意されているRP902.zipファイルを解凍します。
      unzip RP902.zip
    3. パッチを適用します。

      コマンド構文

      cd $ORACLE_HOME/OPatch
      ./opatch apply fullpath_of_the_patch_file

      サンプル・コマンド

      cd $ORACLE_HOME/OPatch/
      ./opatch apply 99999999.zip
  4. 環境変数を設定します。設定できる他のTuxedo環境変数の詳細は、環境変数の設定を参照してください。

    構文

    export SALT_TMM_CALLBACK_ADDR=http://IP_Address:GWWS Port

    説明

    • IP_Address: GWWSサーバーが実行されているホストのIPアドレスを入力します。
    • GWWS Port: この値は、bankapp.depファイルで確認できます。デフォルト値は「2345」です。GWWSポートを変更する場合は、bankapp.depファイルの値も更新します。

    export SALT_TMM_CALLBACK_ADDR=http://192.0.2.6:2345
  5. 次のコマンドを実行して、パッチのインストールを確認します。
    wsadmin -v
    パッチが適用されたことを示す次の情報が表示されます。
    INFO: Oracle SALT, Version 12.2.2.0.0, 64-bit, Patch Level 902
    INFO: Oracle Tuxedo, Version 12.2.2.0.0, 64-bit, Patch Level 086
  6. Tuxedoアプリケーションを起動します。

9.1.3 設定の確認

Tuxedo環境を正しく設定したことを確認するために、サンプルTuxedoアプリケーションをダウンロードして、Tuxedo環境で実行します。

MicroTxを使用してXAトランザクションを実行する前に、Tuxedo環境でサンプルTuxedoアプリケーションを実行して、環境が正しく設定されていることを確認する必要があります。
  1. 製品チームから提供されるリンクから、サンプル・コードおよびアプリケーション・バイナリ(.zipファイル)をダウンロードします。
  2. $TUXDIRの親ディレクトリにサンプル・コード・バンドルを解凍します。
    unzip bankapp-env.zip
    新しいファイルおよびフォルダ(Dockerfileファイル、install1222.rspファイル、start.shファイルおよびbankappフォルダ)を使用できるようになります。
  3. Tuxedo環境変数を初期化します。
    cd parent_directory_of_$TUXDIR
    . tuxedo12.2.2.0.0/tux.env

    これにより、TUXDIR環境変数の値も設定されます。

  4. bankappフォルダに移動します。
    cd bankapp
  5. bankvarファイルを実行して、Tuxedoサンプル・アプリケーションの環境変数を設定します。
    . ./bankvar

    これにより、APPDIR環境変数の値も設定されます。

  6. 次のスクリプトを実行して、様々なファイルの設定を更新します。
    now=$(date +%m%d%H%M%S)
    for f in "bankapp.dep" "bankapp.mk" "bankvar" "ENVFILE" "TMUSREVT.ENV" "ubbshm"
    do
      cp $f $f.${now}
      test -e $TUXDIR && test -e $APPDIR && sed -i -e "s^/u01/data/bankapp^${APPDIR}^" -e "s^/u01/app/tuxedo12.2.2.0.0^${TUXDIR}^" $f
    done

    ご使用の環境に応じて、2つの環境変数TUXDIRおよびAPPDIRを設定します。銀行取引アプリケーションのファイルを含むディレクトリを指すようにAPPDIRの値を設定します。

  7. 次のコマンドを実行して、サンプルTuxedoアプリケーションを再構築して起動します。
    rm -f TLOG GWTLOG tuxconfig saltconfig bankdl1 bankdl2 bankdl3
    . ./bankvar
    tmloadcf -y ubbshm
    wsloadcf -y bankapp.dep
    ./crbank
    ./crtlog
    tmboot -y
    ./populate
  8. 次のコマンドを実行して、サンプルTuxedoアプリケーションが機能し、予期されるレスポンスを返すことを確認します。
    # Query account, readonly operation
    curl -X POST -H "Content-type:application/json" http://Tuxedo_host_name_or_IP_address:2345/INQUIRY -d '{"ACCOUNT_ID":10001}'
    
    # Withdrawal API
    curl -X POST -H "Content-type:application/json" http://Tuxedo_host_name_or_IP_address:2345/WITHDRAWAL -d '{"ACCOUNT_ID":10001,"SAMOUNT":"1"}'
     
    # Deposit API
    curl -X POST -H "Content-type:application/json" http://Tuxedo_host_name_or_IP_address:2345/DEPOSIT -d '{"ACCOUNT_ID":10001,"SAMOUNT":"1"}'
     
    # Transfer API
    curl -X POST -H "Content-type:application/json" http://Tuxedo_host_name_or_IP_address:2345/TRANSFER -d '{"ACCOUNT_ID":[10001,10002],"SAMOUNT":"1"}'

    ここで、Tuxedo_host_name_or_IP_addressは、TuxedoをインストールしたホストのIPアドレスまたは名前です。ホストの名前を確認するにはuname -nを実行します。ホストのIPアドレスを取得するにはifconfigを実行します。

    ポートとACCOUNT_IDの値はご使用の環境に基づいて変更できます。

MicroTxで使用するTuxedoアプリケーションごとに、個別の構成ファイルを作成し、個別のポートを使用します。

Tuxedoアプリケーションが実行されたら、サンプルXAアプリケーションのイニシエータ・アプリケーションに変更を加えます。イニシエータ・アプリケーションで、Tuxedoアプリケーションを参加側アプリケーションとして構成します。サンプル・アプリケーションを使用してXAトランザクションを実行すると、イニシエータ・アプリケーションがリクエストをTuxedo参加側アプリケーションに送信します。

サンプル・アプリケーションをインストールした後でXAトランザクションを実行します。XAトランザクションの実行を参照してください。

サンプル・アプリケーションをインストールして正常に実行できたところで、独自のTuxedoアプリケーションをご使用の環境で作成して実行することができます。