Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編)
目次 索引 前ページ次ページ

第9章 サーバアプリケーションの開発(トランザクションアプリケーション/C++言語)

9.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)を結合します。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配下に格納されています。


目次 索引 前ページ次ページ

Copyright 2008 FUJITSU LIMITED