ページの先頭行へ戻る
Interstage Application Server アプリケーション作成ガイド(データベース連携サービス編)
Interstage

6.1 XA連携用プログラムの作成

XA連携用プログラムは、データベースとXAインタフェースで連携するためのプログラムです。


ポイント

JTSを利用する場合、XA連携プログラムを作成する必要はありません。



XA連携用プログラムは、otsmkxapgmコマンドを使用してリソースの種別ごとに作成しますが、1つのサーバアプリケーションから複数のリソースへアクセスするような場合は、リソースごとのxa_switch_t構造体の名前を指定して1つのXA連携用プログラムを作成する必要があります。この複数のリソースアクセス用に作成したXA連携用プログラムは、サーバアプリケーション作成時にリンクするために必要となりますが、リソース管理プログラム作成時は使用できません。リソース管理プログラム用には、個々にXA連携用プログラムを準備してください。xa_switch_t構造体の詳細な情報については、データベースのマニュアルを参照してください。また、otsmkxapgmコマンドの詳細については、「リファレンスマニュアル(コマンド編)」の「アプリケーション開発コマンド」-「otsmkxapgm」を参照してください。


データベース連携サービスでは、以下の標準的なXA連携用プログラムを提供しています。

使用用途

言語

ファイル名

格納パス

Oracle11gにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C/C++/COBOL

otsxaora11g.dll

C:\Interstage\ots\program\rsc(注)

otsxaora11g.lib

Oracle10gにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

otsxaora10g.dll

otsxaora10g.lib

Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C/COBOL

otsxasym.dll

otsxasym.lib

Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

otsxasym_mt.dll

otsxasym_mt.lib


MQDにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C/C++/COBOL

otsxamqd.dll

otsxamqd.lib


MQDとOracle11gにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

otsxamqd_ora11g.dll

otsxamqd_ora11g.lib


MQDとOracle10gにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

otsxamqd_ora10g.dll

otsxamqd_ora10g.lib


MQDとSymfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C/COBOL

otsxamqd_sym.dll

otsxamqd_sym.lib


MQDとSymfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

otsxamqd_sym_mt.dll

otsxamqd_sym_mt.lib

Oracle11gにアクセスするサーバアプリケーションの運用環境用

Java

otsxaora11g_java.dll

otsxaora11g_java.lib

Oracle10gにアクセスするサーバアプリケーションの運用環境用

otsxaora10g_java.dll

otsxaora10g_java.lib

Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーションの運用環境用

otsxasym_java.dll

otsxasym_java.lib

Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーションの運用環境用

otsxasym_mt_java.dll

otsxasym_mt_java.lib

注)本製品のインストールパスがデフォルトの場合のパスです。



このXA連携用プログラムは、多重で動作しませんが、スレッドモードで作成できます。スレッドモードのXA連携用プログラムは、データベースベンダ提供のライブラリのうち、スレッド用ライブラリを使用したものを示します。このスレッドモードのXA連携用プログラムを作成する場合、otsmkxapgmコマンド実行時に、タイプとしてスレッドモードを指定します。省略時は、プロセスモードのXA連携用プログラムを作成します。サーバのCORBAアプリケーションをスレッドモードで動作させる場合、すなわちユーザアプリケーションでもスレッド用のデータベースライブラリを使用する場合、XA連携用プログラムもスレッドモードとして作成する必要があります。xa_switch_t構造体の詳細な情報については、データベースのマニュアルを参照してください。また、otsmkxapgmコマンドの詳細については、「リファレンスマニュアル(コマンド編)」の「アプリケーション開発コマンド」-「otsmkxapgm」を参照してください。

データベース連携サービスでは、以下の標準的なXA連携用プログラムを提供しています。


使用用途

言語

ファイル名

格納パス

Oracleにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C/C++/COBOL

libotsxaora.o

/opt/FSUNots/program/xa(注1

Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C/COBOL

libotsxasym.o

Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

libotsxasym_mt.o

MQDにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C/C++/COBOL

libotsxamqd.o

MQDとOracleにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

libotsxamqd_ora.o

MQDとSymfoware/RDBにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C/COBOL

libotsxamqd_sym.o

Oracle11gにアクセスするサーバアプリケーションの運用環境用

Java

libotsxaora11g_java.so

Oracle10gにアクセスするサーバアプリケーションの運用環境用

libotsxaora10g_java.so

Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーションの運用環境用

libotsxasym_java.so


使用用途

言語

ファイル名

格納パス

Oracleにアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C/C++

libotsxaora.o

/opt/FJSVots/program/xa(注1

Symfoware/RDB(プロセスモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

C

libotsxasym.o

Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーション/リソース管理プログラムの運用環境用

libotsxasym_mt.o

Oracle11gにアクセスするサーバアプリケーションの運用環境用
注)RHEL5の場合

Java

libotsxaora11g_java.so

Oracle10gにアクセスするサーバアプリケーションの運用環境用
注) RHEL5の場合

libotsxaora10g_java.so

Symfoware/RDB(スレッドモード)にアクセスするサーバアプリケーションの運用環境用

libotsxasym_java.so

1本製品のインストールパスがデフォルトの場合のパスです。


Java言語以外のXA連携用プログラム

Java言語のサーバアプリケーション作成時以外は、サーバアプリケーション/リソース管理プログラムに、同じXA連携用プログラムを使用してリンクします。
XA連携用プログラムの作成例を以下に示します。


Oracle用XA連携用プログラム作成例(Oracle11g)
otsmkxapgm -s xaosw -r "/libpath:’C:\Oracle\product\11.1.0\db_1\RDBMS\XA’ oraxa11.lib"
           -o D:\temp\ots\otsoraxa.dll

スレッドモードのSymfoware/RDB用XA連携用プログラム作成例
otsmkxapgm -t thread -s RDBII_xa_switch  -o otsmultixa.o

Java言語のXA連携用プログラム

Java言語のサーバアプリケーションでXA連携を行う場合は、以下の2種類のXA連携プログラムを作成する必要があります。

サーバアプリケーション用のXA連携用プログラムの作成例(Oracle11gの場合)
otsmkxapgm -s xaosw -java -r "/libpath:'C:\Oracle\product\11.1.0\db_1\RDBMS\XA' oraxa11.lib"
           -o D:\temp\ots\otsxaora11g_java.dll

サーバアプリケーション用のXA連携用プログラムの作成例(Oracleの場合)

環境変数ORALIBに、Oracleのライブラリディレクトリを指定する必要があります。

otsmkxapgm -java -r "-L$(ORALIB) -lclntsh" -s xaosw  -o /tmp/ots/otsoraxa.o

サーバアプリケーション用のXA連携用プログラムの作成例(Oracleの場合)

環境変数ORALIBに、Oracleのライブラリディレクトリを指定する必要があります。

otsmkxapgm -java -r "-L$(ORALIB) -lclntsh" -s xaosw  -o /tmp/ots/libxajava_linkpgm.so

リソース管理プログラム用のXA連携用プログラムの作成例(Oracle11gの場合)
otsmkxapgm -s xaosw  -r "/libpath:'C:\Oracle\product\11.1.0\db_1\RDBMS\XA' oraxa11.lib"
           -o D:\temp\otsoraxa.dll

注意

otsmkxapgmコマンドを使用してXA連携用プログラムを作成すると、以下の2つのライブラリファイルが作成されます。

  • ファイル拡張子「LIB」

    本ファイルは、otslinkrscコマンド/tdlinkapmコマンドの入力情報です。

    本ファイルは、otslinkrscコマンドの入力情報です。

  • ファイル拡張子「DLL」
    本ファイルは、リソース管理プログラム起動時、システム環境変数PATHにファイルの格納パスを設定します。

なお、otsmkxapgmコマンド実行時は、コンパイラが必要となります。otsmkxapgmコマンドを実行すると、コンパイルコマンドとリンクコマンドが動作します。