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

F.1 CORBAアプリケーション(Currentインタフェース使用)(Windows(R)の場合)

  Java言語を使用したクライアントとサーバアプリケーションのサンプルプログラムの使用方法について説明します。

  ユーザディレクトリにサンプルプログラムを複写後、複写先の環境に応じて修正して使用してください。


■サンプルプログラムの格納パス

C:\Interstage\ots\src\samples\simple\java

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


サンプルプログラムの概要

  本サンプルのファイル構成を以下に示します。本サンプルは、同一マシン内でクライアントアプリケーションとサーバアプリケーションを起動することを前提したサンプルプログラムです。

クライアントプログラムを別マシンで起動する場合は、必要なライブラリなどを移行してください。


No

ファイルの概要

ファイル名

1

Makefile

Makefile

2

Makefile用バッチファイル

Make.bat

3

クライアントアプリケーション用バッチファイル

exec-CL2.bat

4

サーバアプリケーション用バッチファイル

exec-SV2.bat

5

IDLファイル

bankA.idl

6

サーバアプリケーションソース

bankA_s.java

7

SQL文ファイル

UserServant.pc

8

クライアントアプリケーションソース

bankA_c.java


作業手順

1) 環境変数を設定します。

2) JavaサーバアプリケーションのXA連携用プログラムを作成します。
  Oracleと連携するJavaサーバアプリケーション用XA連携用プログラムは、Interstageインストールフォルダ\ots\program\rsc配下に標準で提供していますので、それを利用してください。
  XA連携用プログラム作成時、otsmkxapgmコマンドはmakeを実行するカレントフォルダで実行します。

実行例)

>otsmkxapgm -s xaosw -java -r"/libpath:'C:\oracle\product\10.2.0\db_1\RDBMS\XA' oraxa10.lib" 
            -o otsxaora10g_java.dll<RETURN>

3) Makefileの修正をします。
  Makefileに指定されたソフトウエア製品のインストール先を修正します。

設定例)

BDIR              = C:\Program Files\DevStudio\VC
MCDIR             = C:\Program Files\DevStudio\VC\BIN
RCDIR             = C:\Program Files\DevStudio\SharedIDE\bin
OD_HOME           = C:\Interstage\ODWIN
OTS_HOME          = C:\Interstage\ots
ORACLE_HOME       = C:\oracle\product\10.2.0\db_1C:\
JDK               = C:\Interstage\jdk5

4) アプリケーションを作成します。
  Make.batファイルで、サーバアプリケーションおよびクライアントアプリケーションをコンパイルします。

実行例)

> Make <RETURN>

  Make.batファイルを実行する場合、CORBAサービスおよびインタフェースリポジトリが起動されている必要があります。
  Make.batファイルの処理が完了すると、カレントフォルダ下にbankAフォルダが作成され、bankAフォルダ下にaccountAPOA.java、accountAPOATie.java、_accountAStub.java、accountA.java、accountAHelper.java、accountAHolder.java、accountAOperations.javaが作成されます。


5) クライアントの動作環境がWindows(R)クライアントでクライアントプログラムを動作させる場合、以下のJavaソースをネットワークコンピュータなどでWindows(R)クライアントに複写します。

6) Windows(R)クライアントに環境変数を設定します。
  環境変数CLASSPATHに、以下の情報を設定します。

  また、環境変数PATHにデータベース連携サービスの以下のライブラリが格納されている絶対パスを設定してください。

7) Javaソースをクライアントアプリケーションの動作環境でコンパイルします。
  サーバマシンからクライアントマシンに複写したJavaソースをjavacコンパイラでコンパイルします。
  Windows(R)クライアントでのコンパイル例を以下に示します。コンパイルは、コマンドプロンプトから実行します。

実行例)

C:\tran> javac -d . bankA\*.java  <RETURN>
C:\tran> javac bankA_c.java   <RETURN>

8) CORBAサービスのインプリメンテーションリポジトリにサーバアプリケーション(bankA_s)を登録します。インプリメンテーションリポジトリへ登録するには、登録する内容を定義ファイル(テキストエディタ)として作成する必要があります。
  登録例を以下に示します。rep_idには、サーバアプリのインプリメンテーションリポジトリIDを指定します。dataには、“RESOURCE:”のあとにリソース定義名を指定します。
  OD_impl_instコマンドは、定義ファイル名を指定して実行します。

定義ファイル設定例)

rep_id               = IDL:bankA/accountA:1.0
type                 = persistent
mode                 = SYNC_END
proc_conc_max        = 8
thr_conc_init        = 1
ior                  = 1.1
locale               = UNICODE
data                 = "RESOURCE:resource1"

実行例)

> OD_impl_inst -ax  deffile <RETURN>

deffile:定義ファイル名


9) CORBAサービスのネーミングサービスにサーバアプリケーション(bankA_s)を登録します。

実行例)

> OD_or_adm -c  IDL:bankA/accountA:1.0 -n bankA::accountA <RETURN>

10) otslinkrscコマンドで、リソース管理プログラムを作成します。
  Interstageインストール先\ots\program\rsc配下にOracle用リソース管理プログラムを標準で提供していますので、それを利用してください。

  リソース管理プログラムを作成するためのシェルとして、データベース連携サービスのインストールフォルダ配下の\src\samples\env\oralinkrsc.batを提供していますので、使用するリソースマネージャ用に修正後、oralinkrsc.batを実行してください。リソース管理プログラムの名前は、バッチファイル内のNANE="name"に設定してください(例:NAME="run_rsc")。

実行例)

> oralinkrsc <RETURN>

11) テキストエディタで、リソース定義ファイルを作成します。
  OPENINFOには、データベースのユーザ名/パスワードを指定します(例:orauser/dbuserなど)。NAMEには、インプリメンテーションリポジトリへの登録時にdata行で指定した“RESOURCE:”のあとの名前を記述します。

設定例)

NAME=resource1
RMNAME=Oracle_XA
OPENINFO=Oracle_XA+Acc=P/orauser/dbuser+SesTm=0
CLOSEINFO=

12) otssetrscコマンドで、CORBAサービスのインプリメンテーションリポジトリにリソース管理プログラムを登録します。

実行例)

> otssetrsc  -a -rf c:\user\ots\run_rscdef  <RETURN>

-rfオプション:リソース定義ファイル名(フルパス)


13) sqlplusコマンドで、データベースにテーブルを作成します。
  テーブル作成のバッチファイル(データベース連携サービスのインストール先フォルダ配下\src\samples\simple\c\a_account.sql)を使用して作成する例を以下に示します。

実行例)

> sqlplus orauser/dbuser @a_account.sql <RETURN>

  sqlplusコマンドで、作成されたテーブルの内容を以下のように確認します。

実行例)

> sqlplus orauser/dbuser <RETURN>
SQL> select * from a_account; <RETURN>
 ACCOUNTNO NAME          BALANCE
 ------------------- ---------------- ---------------------
             1 SEAN              11111
             2 LEHR              22222
             3 JUDITH            33333
             4 FRANCIS           44444
             5 ALASTAIR          55555
             6 AREX              66666
             7 MOIRA             77777

14) OTSシステム、リソース管理プログラム、およびサーバアプリケーションを起動します。

実行例)

> otsstart   <RETURN>
> otsstartrsc -pg C:\user\ots\rsc\run_rsc.exe -n resource1  <RETURN>
> exec-SV2 <RETURN>

15) クライアントアプリケーションを起動します。

実行例)

C:\tran> exec-CL2 <RETURN>

16) クライアントアプリケーションから入力を促してくるので、実行します。

            ----- What's request number -----
            1:begin      2:commit
            3:rollback   4:rollback_only
            5:get_status 6:get_transaction_name
            7:settimeout 8:Call ServerApplication
            0:exit

 1 <RETURN>      [1を入力すると、beginが実行されます。]

 8 <RETURN>      [8を入力すると、サーバのメソッドが実行されます。]
            ** ServerApplication **
            Please input employee number
 5 <RETURN>     [番号を入力します。]
            How much do you deposit ?
 200000 <RETURN>[番号5の社員に給与を入力します。]
 2 <RETURN>     [2を入力すると、commitが実行されます。]
 0 <RETURN>     [クライアントアプリケーションが終了します。]