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

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

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


ポイント

  • 本製品で提供されていないXA連携用プログラムを使用する場合は、otsmkxapgmコマンドで必要なXA連携用プログラムを作成してください。otsmkxapgmコマンドの詳細については、「リファレンスマニュアル(コマンド編)」の「アプリケーション開発コマンド」-「otsmkxapgm」を参照してください。また、データベース連携サービスがサポートしているデータベースについては、「システム設計ガイド」の「ソフトウェア条件」-「アプリケーション実行時に必要なソフトウェア」-「データベース関連(データベース連携サービス)」を参照してください。



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


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

使用用途

言語

ファイル名

格納パス
(インストールパスはデフォルト)

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

  • C

otsxaora12c.dll

C:\Interstage\ots\program\xa

otsxaora12c.lib

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

otsxaora11g.dll

otsxaora11g.lib

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

  • C

otsxasym.dll

otsxasym.lib

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

otsxasym_mt.dll

otsxasym_mt.lib

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

  • Java

otsxaora12c_java.dll

otsxaora12c_java.lib

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

otsxaora11g_java.dll

otsxaora11g_java.lib

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

  • Java

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構造体の詳細な情報については、データベースのマニュアルを参照してください。


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


使用用途

言語

ファイル名

格納パス
(インストールパスはデフォルト)

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

  • C

libotsxaora.o

/opt/FSUNots/program/xa

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

  • C

libotsxasym.o

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

libotsxasym_mt.o

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

  • Java

libotsxaora12c_java.so

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

libotsxaora11g_java.so

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

  • Java

libotsxasym_java.so


使用用途

言語

ファイル名

格納パス

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

  • C

libotsxaora.o

[RHEL7の場合]
/opt/FJSVots/program/xa・RHEL7

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

  • C

libotsxasym.o

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

libotsxasym_mt.o

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

  • Java

libotsxaora12c_java.so

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

libotsxaora11g_java.so

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

  • Java

libotsxasym_java.so

注)使用するオペレーティングシステムにより提供するXA連携用プログラムおよび格納先が異なります。


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

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


Oracle用XA連携用プログラム作成例(Oracle12c)
otsmkxapgm -s xaosw -r "/libpath:’C:\Oracle\product\12.1.0\db_1\RDBMS\XA’ oraxa12.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連携用プログラムの作成例(Oracle12cの場合)
otsmkxapgm -s xaosw -java -r "/libpath:'C:\Oracle\product\12.1.0\db_1\RDBMS\XA' oraxa12.lib"
           -o D:\temp\ots\otsxaora12c_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連携用プログラムの作成例(Oracle12cの場合)
otsmkxapgm -s xaosw  -r "/libpath:'C:\Oracle\product\12.1.0\db_1\RDBMS\XA' oraxa12.lib"
           -o D:\temp\otsoraxa.dll

注意


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

  • ファイル拡張子「LIB」
    本ファイルは、以下のコマンドの入力情報です。

    • otslinkrsc

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

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


Sun Studio 12以降を使用してotsmkxapgmコマンドを実行すると以下の警告が出力されますが、動作に影響は無いため対処は不要です。

警告: -xarch=generic64 は非推奨です。64 ビットプログラムの作成には、-m64 を使用してください