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

I.2 APMの構成

コンポーネントトランザクションサービス上で動作するサーバアプリケーションの構成は、CORBAサービス上で動作するサーバアプリケーションとほぼ同じですが、初期化処理部は、コンポーネントトランザクションサービスが処理するため、ユーザは意識する必要がありません。ユーザは、ユーザサービス処理部だけ作成します。


なお、サーバアプリケーションの作成形態に、プロセスモードとスレッドモードがあります。プロセスモードのサーバアプリケーションは、シングルスレッドで動作します。スレッドモードのサーバアプリケーションは、Interstageの制御用スレッドが複数起動します。ただし、ユーザのサービス処理部はマルチスレッド(スレッド多重)で動作しません。

コンポーネントトランザクションサービス上で動作するサーバアプリケーションの構成を以下に示します。



初期化処理部

CORBAサービスおよびデータベースのアクセスに関する初期化を行います。この処理は、コンポーネントトランザクションサービス提供ライブラリで吸収します。


ユーザサービス処理部

ユーザがそれぞれのデータベースへアクセスする操作の処理です。


サーバ管理ライブラリ

トランザクション管理をサポートする以下のライブラリを結合します。

  libservapl.lib
  libtacebasent.lib
  libservaplcpp.lib
  fjotsld.obj

  libservapl.so
  libtacebasent.so
  libservaplcpp.so
  libfjots.so

XA連携用プログラム

XAインタフェースとの連携用プログラムです。XA連携用プログラムは、otsmkxapgmコマンドで作成します。リソースの種別ごと作成しますが、1つのアプリケーションから複数のリソースへアクセスするような場合は、リソースごとのxa_switch_t構造体の名前を指定して1つのXA連携用プログラムを作成します。
xa_switch_t構造体の詳細な情報は、データベースのマニュアルを参照してください。また、otsmkxapgmコマンドの詳細については、「リファレンスマニュアル(コマンド編)」を参照してください。


なお、以下のXA連携用プログラムを標準に提供しています。該当リソースを使用する場合は、otsmkxapgmコマンドで作成する必要はありません。

このうち、Symfoware/RDB用のXA連携用プログラムは、プロセスモード用とスレッドモード用があり、スレッドモード用のXA連携用プログラムは、Symfoware/RDBから提供されているスレッド用ライブラリを意識したものです。よって、Symfoware/RDBを使用する場合、環境にあわせてスレッドモード用ライブラリまたはプロセスモード用ライブラリを使用してください。また、MQDに関係するXA連携用プログラムは、すべてスレッドモード用になります。

データベース依存ライブラリ

データベースから提供されるライブラリを結合します。Oracle,SQL Serverからは以下に示すファイルが提供されています。

  Oracle(Ver.8.0.5)の場合:xa80.lib,oci.lib,sqllib80.lib
  Oracle(Ver.8.1.5)の場合:oraxa8.lib,oci.lib,orasql8.lib
  SQL Serverの場合:ntwdblib.lib

データベースから提供されるライブラリを結合します。Oracleからは以下に示すファイルが提供されています。Symfoware Serverを使用する場合は、C言語またはCOBOLでアプリケーションを作成してください。

  Oracle(Ver.8.0.5)の場合:libclntsh.a, libsql.a, libcommon.a, libcore4.a, libclient.a, libnlsrtl3.a
  Oracle(Ver.8.1.6)の場合:libclntsh.so, libsql8.a, libcommon8.a, libcore8.a, libclient8.a, libnls8.a

データベースから提供されるライブラリを結合します。Oracleからは以下に示すファイルが提供されています。

  Oracle(Ver.9.0.1)の場合:libclntsh.so, libsql9.a, libcommon9.a, libcore9.a, libclient9.a, libnls9.a

なお、データベースライブラリについては、使用するデータベースのマニュアルで確認してください。


CORBAサービス提供ライブラリ


CORBAサービスから提供されるライブラリ(ODSV.LIB,ODSVCPP.LIB,ODCNSCPP.LIB)を結合します。C:\Interstage\ODWIN\lib配下に格納されています。


CORBAサービスから提供されるライブラリ(libOM.so,libOMcpp.soまたはlibOMcpp50.so)を結合します。CORBAサービスのインストールディレクトリ/lib配下に格納されています。
ただし、libOM.soはスレッド用、プロセス用があるので、サーバアプリケーション環境にあわせて該当するライブラリを結合してください。スレッド用は、CORBAサービスのインストールディレクトリ配下の/libに、またプロセス用はCORBAサービスのインストールディレクトリ配下の/lib/ntにあります。
サーバアプリケーションを起動する際、環境変数LD_LIBRARY_PATHには、サーバアプリケーション環境にあわせてCORBAサービスのライブラリパスを設定してください。


コンポーネントトランザクションサービス提供ライブラリ


コンポーネントトランザクションサービスから提供されるライブラリを結合します。コンポーネントトランザクションサービスのインストールフォルダ\lib配下に格納されています。


コンポーネントトランザクションサービスから提供されるライブラリを結合します。コンポーネントトランザクションサービスのインストールディレクトリ/lib配下に格納されています。