トラステッドアプレットを作成するために、市販CORBA製品のセキュリティ製品であるOrbixSSLを使用した。市販のツールを用いることにより非常に簡単にトラステッドアプレットを作成することができた。またNetscape4.0.3はJDK1.1に対応しているため、アクセス制約の解除を行う電子署名を決め、登録しておくことで簡単にアプレットをCORBAクライアントとすることができた。本実験ではLAN上でOrbixSSLが提供するローカルな認証局の信用証明を使用したが、WAN上で運用を行う場合には商用の認証局の認証を受けた信用証明を使用するのが良い。
(b) データ保護
SSLはクライアントに対してはサーバーの振りをし、サーバーに対してはクライアントの振りをする「成り済まし」や、サーバー宛てのメッセージを途中で横取りし、同じメッセージをサーバーに対して何回も再送する「横取り」と呼ばれる攻撃からデータを保護するため、公開キー方式の暗号化をサポートしている。暗号化は市販CORBA製品であるOrbixSSLの機能を用いて実現した。OrbixSSLは128bit encryption機能を持ち、DESやRC4などの暗号化アルゴリズムを提供しており、サーバーとクライアント間で通信に使用されるIIOPをSSL上のIIOP(SSL-IIOP)に変換する。
(2) 非同期通信
処理の並行性を高めるためにクライアントとサーバー間で非同期通信を行うことは実用上重要である。また、サーバーに障害が発生した場合など、リクエストをリトライするような非同期通信は非常に有用である。プロトタイプではサーバーの起動は保証されているためCORBAのonewayオペレーションを用いて非同期通信を実現した。onewayによる呼び出しでは、結果がクライアントに通知されないため、結果を表示するために次項で述べるExcelとの連携を行い、次項のようなサービスを別途実装して、効率的なAPを実現することができた。
(3) COMとの連携
Excel ProxyサービスはCORBAサーバーであり、ActiveXコントロールを用いてExcelと通信する。
(4) その他
実運用ではGFが複数稼働することが可能であるので、利用者はそれを指定する必要がある。そこで、市販CORBA製品のネーミングサービスであるOrbixNamesを用い、名前によるサービスの識別を実現した。GFはトランザクションを管理する単位となるため、ユーザーごとにGFを決め、各ユーザーはそれを利用する運用形態をとった。また、DFFは複数のアプリケーションで共用することが可能であるが、ロードバランスを考慮し、GFと1対1に対応させるようにした。
ネーミングサービスでは、名前をUNIXのディレクトリ構造のように階層化して管理することが可能である。ディレクトリに対応するのがNamingContextであるが、これに各ユーザー名を付け、その下にGF及びDFFというNameを設定した。このサービスを用いて、利用者にとって認識し易いサービスの識別を実現することができた。