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

5.1.2 サーバアプリケーションの作成方法

  サーバアプリケーションを作成する場合、以下の図のように、アプリケーションをmain実装部、メソッド実装部に分ける必要があります。なお、メソッド実装部は、動的ライブラリとして作成します。たとえば、Pushモデルのコンシューマの場合、main部はイベントチャネルに接続するまでの部分で、pushメソッドの部分がメソッド実装部になります。



参照

  アプリケーションを翻訳する場合に使用するインクルードファイルについては、“A.1 インクルードファイル”を参照してください。


main実装部

  main実装部に結合するスタブライブラリについては、“A.3 スタブライブラリ”を参照してください。

参照

  CORBAサービスに必要なライブラリについては、“アプリケーション作成ガイド(CORBAサービス編)”を参照してください。

  サーバアプリケーションのインプリメンテーション情報として、インプリメンテーションリポジトリに以下の定義情報(インタフェースリポジトリIDとの対応付け)を設定します。なお、インプリメンテーションリポジトリは、OD_impl_instコマンドの-axオプションを使用して登録します。

(1)インタフェースリポジトリID = (2)動的ライブラリ名,(3)プレフィクス

(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


ノーティフィケーションサービスの場合

通信モデル

サプライヤ

コンシューマ

Mixed
(any)

IDL:CosNotifyComm/PushSupplier:1.0

IDL:CosNotifyComm/PullConsumer:1.0

Mixed
(StructuredEvent)

IDL:CosNotifyComm/StructuredPushSupplier:1.0

IDL:CosNotifyComm/StructuredPullConsumer:1.0


(2)動的ライブラリ名

  動的ライブラリとして作成したメソッド実装部のオブジェクト名を指定します。
  SolarisシステムおよびLinuxシステムの場合は、絶対パスで指定してください。


(3)プレフィクス

  プレフィクスには、「server_」を指定してください。

注意

  • PushモデルのコンシューマおよびPullモデルのサプライヤの場合は、インプリメンテーション情報の“thr_conc_init”に2以上の値を指定し、スレッドモードを設定してください。

  • SSL通信を行う場合は、インプリメンテーション情報に“ssl=ON”および“ior=1.1”を指定してください。


メソッド実装部

  サーバアプリケーションでは、以下のメソッドを実装します。イベントチャネルのメソッドと区別するため、各メソッドの名前の先頭にプレフィクス「server_」を付加する必要があります。


イベントサービスの場合

通信モデル

サプライヤ

コンシューマ

Push

server_CosEventComm_PushSupplier_
disconnect_push_supplier()

server_CosEventComm_PushConsumer_
push()
server_CosEventComm_PushConsumer_
disconnect_push_consumer()

Pull

server_CosEventComm_PullSupplier_
pull()
server_CosEventComm_PullSupplier_
try_pull()
server_CosEventComm_PullSupplier_
disconnect_pull_supplier()

server_CosEventComm_PullConsumer_
disconnect_pull_consumer()

Mixed

server_CosEventComm_PushSupplier_
disconnect_push_supplier()

server_CosEventComm_PullConsumer_
disconnect_pull_consumer()


ノーティフィケーションサービスの場合

通信モデル

サプライヤ

コンシューマ

Mixed

server_CosEventComm_PushSupplier_
disconnect_push_supplier()
server_CosNotifyComm_StructuredPushSupplier_
disconnect_structured_push_supplier()

server_CosEventComm_PullConsumer_
disconnect_pull_consumer()
server_CosNotifyComm_StructuredPullConsumer_
disconnect_structured_pull_consumer()


参照

  メソッド実装部に結合するスケルトンオブジェクトについては、“A.4 スケルトンオブジェクト”を参照してください。