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

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

  サーバアプリケーションを作成する場合に必要な環境設定を以下に示します。必要に応じて設定してください。

  必要に応じて上記の環境設定を行ったあと、アプリケーションをmain実装クラス、メソッド実装クラスとして以下(JDK1.4以降を使用する場合)のように作成します。たとえば、Pushモデルのコンシューマの場合、main実装クラスはイベントチャネルに接続するまでの部分で、pushメソッドの部分がメソッド実装クラスになります。



注意

  • サーバアプリケーションは、Javaアプレットで作成できません。

  • 実行環境とバージョンの異なるJDKでコンパイル(javac)したアプリケーションのクラスは、実行環境のJDK/JREでは正しく動作しない場合があります。この場合、実行環境と同一バージョンのJDK環境で再度コンパイル(javac)してから実行してください。


  • アプリケーション運用環境の環境変数LD_LIBRARY_PATHに$OD_HOME/libを設定してください。


  • JDK1.2.2は、アプリケーション運用環境だけが使用可能です。


main実装部

  サーバアプリケーションのインプリメンテーション情報として、インプリメンテーションリポジトリに以下の定義情報(インタフェースリポジトリ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


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

通信モデル

サプライヤ

コンシューマ

Mixed
(any)

IDL:CosEventComm/PushSupplier:1.0

IDL:CosEventComm/PullConsumer:1.0

Mixed
(StructuredEvent)

IDL:CosNotifyComm/StructuredPushSupplier:1.0

IDL:CosNotifyComm/StructuredPullConsumer:1.0


(2)動的ライブラリ名

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

注意

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

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


メソッド実装部

  アプリケーションでは、以下のメソッドを実装します。


イベントサービスの場合

通信モデル

サプライヤ

コンシューマ

Push

disconnect_push_supplier()

push()
disconnect_push_consumer()

Pull

pull()
try_pull()
disconnect_pull_supplier()

disconnect_pull_consumer()

Mixed

disconnect_push_supplier()

disconnect_pull_consumer()


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

通信モデル

サプライヤ

コンシューマ

Mixed

disconnect_push_supplier()
disconnect_structured_push_supplier()

disconnect_pull_consumer()
disconnect_structured_pull_consumer()