Interstage Application Server アプリケーション作成ガイド (データベース連携サービス編) |
目次 索引 |
第6章 サーバアプリケーションの開発(CORBAアプリケーション/COBOL) |
利用者が使用する初期化処理部、ユーザサービス処理部についての基本形を以下に示します。
初期化処理部
MAIN. * 初期化処理 …(1) : CALL "CORBA-ORB-INIT" USING C-ARG-C C-ARG-V ORBID ENV ORB. : CALL "CORBA-ORB-BOA-INIT" USING ORB C-ARG-C C-ARG-V TEMP-BUF ENV BOA. : * インプリメンテーションリポジトリのオブジェクトリファレンスの取り出し MOVE FUNCTION LENG(IMPL-MOD-INTF) TO STRING-LENGTH. CALL "CORBA-STRING-SET" USING TEMP-BUF STRING-LENGTH IMPL-MOD-INTF. CALL "FJ-IMPLEMENTAIONREP-LOOKUP-ID" USING IMPL-REP TEMP-BUF ENV IMPL. : * サーバ初期化メソッドのオブジェクトリファレンスの獲得 MOVE FUNCTION LENG(CORBA-ORB-OBJECTID-TRANSVR) TO STRING-LENGTH. CALL "CORBA-STRING-SET" USING TEMP-BUF STRING-LENGTH CORBA-ORB-OBJECTID-TRANSVR. CALL "CORBA-ORB-RESOLVE-INITIAL-REFERENCES" USING ORB TEMP-BUF ENV OTSOBJ. * サーバ初期化メソッドの呼び出し …(2) MOVE FUNCTION LENG(IMPL-MOD-INTF) TO STRING-LENGTH. CALL "CORBA-STRING-SET" USING TEMP-BUF STRING-LENGTH IMPL-MOD-INTF. CALL "OTS-INIT" USING OTSOBJ ORB TEMP-BUF ENV. : * リクエスト受信可能であることをCORBAサービスへ通知 …(3) CALL "CORBA-BOA-IMPL-IS-READY" USING BOA IMPL * サーバがデータベースをアクセスするための終了処理 …(4) CALL "OTS-TERM" USING OTSOBJ ENV. |
CORBAサービスを初期化するために以下のメソッドを使用します。
サーバがデータベースをアクセスするための初期化を行います。OTS-INITメソッドのパラメタにはサーバアプリケーションのインプリメンテーションIDを指定します。OTS-INITメソッドはデータベースへのコネクションをオープンします。
リクエスト受信可能であることをCORBAサービスへ通知します。
アプリケーションの登録時には、インプリメンテーション情報定義ファイルのmodeにSYNC_ENDを指定する必要があります。SYNC_ENDを指定することによって、アプリケーションが非活性化された場合やアプリケーション停止時まで復帰しないようになります。
サーバがデータベースをアクセスするための終了処理を行います。OTS-TERMメソッドはデータベースへのコネクションをクローズします。
ユーザサービス処理部には、データベースへの処理を記述します。また、このユーザサービス処理部のインタフェースは、ユーザがIDL定義を行う必要があります。ユーザサービス処理部の記述例を以下に示します。
MAIN. ................. * ユーザの操作 SQL データベースへのアクセス ................. |
また、IDLファイルの定義例を以下に示します。
module mod { interface intf { void methodA(in long account1, out long account2); }; }; |
サーバアプリケーションが異常を検出した場合
サーバアプリケーションが以下のようなエラーを検出した場合、エラーをクライアントアプリケーションに通知する必要があります。
エラーが通知されたクライアントアプリケーションでは、rollbackを発行してトランザクションを終了させてください。
目次 索引 |