サーバアプリケーションを作成する場合、以下の図のように、アプリケーションをmain実装部、メソッド実装部に分ける必要があります。なお、メソッド実装部は動的ライブラリとして作成します。
Pushモデルのコンシューマの場合、main部はイベントチャネルに接続するまでの部分で、pushメソッドの部分がメソッド実装部になります。
アプリケーションを翻訳する場合に使用するイベントサービスのCOBOL登録集は、以下に格納されています。
(インストールパスはデフォルト)
C:\Interstage\ESWIN\INCLUDE\COBOL
(インストールパスはデフォルト)
/opt/FJSVes/include/COBOL
注意
サーバアプリケーション実行時には、作成した動的ライブラリの格納場所を環境変数LD_LIBRARY_PATHに設定してください。
例
tmpに格納した場合
LD_LIBRARY_PATH=/tmp:$LD_LIBRARY_PATH export LD_LIBRARY_PATH
■main実装部
main実装部に結合するスタブライブラリについては、“A.3 スタブライブラリ”を参照してください。
参照
CORBAサービスに必要なライブラリおよび登録集については、“アプリケーション作成ガイド(CORBAサービス編)”を参照してください。
サーバアプリケーションのインプリメンテーション情報として、インプリメンテーションリポジトリに以下の定義情報(インタフェースリポジトリIDとの対応付け)を設定します。なお、インプリメンテーションリポジトリは、OD_impl_instコマンドの-axオプションを使用して登録します。
(1)インタフェースリポジトリID = (2)動的ライブラリ名
(1)インタフェースリポジトリID
実装するインタフェースに対応したインタフェースリポジトリIDを指定します。
通信モデル | サプライヤ | コンシューマ |
---|---|---|
Push | IDL:CosEventComm/PushSupplier:1.0 | IDL:CosEventComm/PushConsumer:1.0 |
Pull | IDL:CosEventComm/PullSupplier:1.0 | IDL:CosEventComm/PullConsumer:1.0 |
Mixed | IDL:CosEventComm/PushSupplier:1.0 | IDL:CosEventComm/PullConsumer:1.0 |
(2)動的ライブラリ名
動的ライブラリとして作成したメソッド実装部のオブジェクト名を指定します。
Solarisシステムの場合は、ライブラリ名の先頭に必ず「lib」を指定して作成してください。
注意
SSL通信を行う場合は、インプリメンテーション情報に“ssl=ON”および“ior=1.1”を指定してください。
PushモデルのコンシューマおよびPullモデルのサプライヤの場合は、インプリメンテーション情報の“thr_conc_init”に2以上の値を指定し、スレッドモードを設定してください。
スレッドモードの場合は、インプリメンテーション情報に“lang=COBOL_MT”を指定してください。
プロセスモードの場合は、インプリメンテーション情報に“thr_conc_init=1”を指定してください。
■メソッド実装部
サーバアプリケーションは、以下のメソッドを実装します。イベントチャネルのメソッドと区別するため、各メソッドの名前の先頭にプレフィクス「SERVER-」を付加する必要があります。
通信モデル | サプライヤ | コンシューマ |
---|---|---|
Push | SERVER-COSEVENTCOMM-PUSHSUPPLIER-DISCONNECT-PUSH-SUPPLIER | SERVER-COSEVENTCOMM-PUSHCONSUMER-PUSH |
Pull | SERVER-COSEVENTCOMM-PULLSUPPLIER-PULL | SERVER-COSEVENTCOMM-PULLCONSUMER-DISCONNECT-PULL-CONSUMER |
Mixed | SERVER-COSEVENTCOMM-PUSHSUPPLIER-DISCONNECT-PUSH-SUPPLIER | SERVER-COSEVENTCOMM-PULLCONSUMER-DISCONNECT-PULL-CONSUMER |
参照
メソッド実装部に結合するスケルトンオブジェクトについては、“A.4 スケルトンオブジェクト”を参照してください。