マルチシステム機能を使用する環境でのCORBAサービスのアプリケーションの開発について、デフォルトシステムと拡張システムでの違いを説明します。
作成したアプリケーションプログラムについては、デフォルトシステムと拡張システムでの違いはなく、システム名を意識する必要はありません。したがって、プログラムの修正、および再コンパイルを行う必要はありません。しかし、拡張システムで動作するアプリケーションについては、インタフェースリポジトリおよびネーミングサービスの登録時に、コマンドを使用して登録を行う場合は、拡張システム名を指定する必要があります。
なお、CORBAサービスのアプリケーションの開発については、“アプリケーション作成ガイド(CORBAサービス編)”を参照してください。
また、拡張システムでアプリケーションを実行する場合、Java言語以外の場合はCORBA_ORB_initに引数を余分に追加する必要があります。Java言語の場合はシステムプロパティで拡張システム名を指定する必要があります。詳細は“■アプリケーションの運用について”を参照してください。
以下にCORBAアプリケーションの開発手順を示します。
ここでは、拡張システムにおいて違いのある手順について以下に示します。
■IDLファイルのコンパイル(インタフェース情報をインタフェースリポジトリへ登録)
IDLファイルで記述されたインタフェース情報をインタフェースリポジトリへ登録します。IDLcコマンドで拡張システム(-Mオプション)を指定して実行します。
拡張システム(system1)のインタフェースリポジトリにインタフェース情報を登録
IDLc -a -create -M system1 xxx.idl |
環境変数“IS_SYSTEM”で拡張システム名を指定すると、-Mオプションを指定せずに、IDLcコマンドを実行することもできます。ただし、両方が指定されている場合は、-Mオプションが有効となります。
■サーバアプリケーション情報のインプリメンテーションリポジトリへの登録
インプリメンテーションリポジトリにサーバアプリケーション情報を登録します。OD_impl_instコマンドで拡張システム(-Mオプション)を指定して実行します。
拡張システム(system1)のインプリメンテーションリポジトリにサーバアプリケーション情報を登録
OD_impl_inst -a -r IDL:ODdemo/calculator:1.0 -t S -f /home/guest/simple_s |
環境変数“IS_SYSTEM”で拡張システム名を指定すると、-Mオプションを指定せずに、OD_impl_instコマンドを実行することもできます。ただし、両方が指定されている場合は、-Mオプションが有効となります。
persistent以外のサーバを登録する場合で、OD_impl_instコマンドの-axオプションの定義ファイルのparam項目(起動パラメタ)として“param=-ORB_FJ_SYSTEM システム名”を指定する必要はありません。
指定した場合、そのシステム名と登録したインプリメンテーションリポジトリが存在するシステムが異なると、そのサーバアプリケーションの動作は保証できません。
■オブジェクトリファレンスの作成とネーミングサービスへの登録
作成したサーバアプリケーションを他のアプリケーションからオブジェクトとしてアクセスできるようにするために、そのオブジェクトを識別するためのオブジェクトリファレンスを作成します。同時に作成したオブジェクトリファレンスをネーミングサービスに登録します。
OD_or_admコマンドで拡張システム(-Mオプション)を指定して実行します。
オブジェクトリファレンスの作成と拡張システム(system1)のネーミングサービスへの登録
OD_or_adm -c IDL:ODdemo/calculator:1.0 -L EUC -n ODdemo::calculator -M system1 |
環境変数“IS_SYSTEM”で拡張システム名を指定すると、-Mオプションを指定せずに、OD_or_admコマンドを実行することもできます。ただし、両方が指定されている場合は、-Mオプションが有効となります。
OD_or_admコマンドはクライアント環境から実行する場合は、-Mオプションは有効とはなりません。