2011-12-19 7 views
4

corbaを使用して複数のサードパーティシステムを呼び出すJavaクライアントがあります。これらは、同じインターフェースセットを実装する異なるシステムです。これらのインタフェースを使用するライブラリ(jarファイル)が提供されました。例えば、これらのライブラリからの一つの目的は、今、私たちは別の外部システムに接続するために互換Javaクラス名

this.that.GeneralException 

を持っている、しかし、彼らは次のように、いくつかのより多くのパッケージレベルを導入することで、ネーミングを変更:私の推測だった

org.example.this.that.GeneralException 
上記のクラスは完全に異なっていると認識されるだろう。そこで古いクライアントのコピーを作成し、新しいライブラリに切り替えて、新しい命名のシームに従って参照を変更しました。 新しいシステム用のテスト環境がないため、そのクライアントを古いシステムの1つに接続しました。そして、驚いたことに、それはかなりうまくいった。

これはcorbaに関連するものか、ここでは何が欠けていますか?

EDIT

ただ、サードパーティの開発者の一人から注意を受けました。実際、これはコーバと決して関連していません。代わりに、彼らはシステムの下位互換性を維持しようとしています。したがって、新しい名前付けスキームを古い名前付けスキームにマップし、両方の名前の下で同時にインターフェイスを提供しています。

答えて

0

実際、これはcorbaには全く関係しません。代わりに、彼らはシステムの下位互換性を維持しようとしています。したがって、新しい名前付けスキームを古い名前付けスキームにマップし、両方の名前の下で同時にインターフェイスを提供しています。

3

CORBA用のスタブとスケルトンは、一般にIDLを介して生成されます。 IDL定義の一部は、Java生成スタブの場合のパッケージ構造を定義します。クライアントインタフェースクラスのパッケージ構造を変更することによって、クライアントとサーバの間でORBが期待していた契約を基本的に満たしました。あなたが実行する唯一の問題は、クライアント側のスタブが、サーバ上に存在しなかったメソッドを参照するところです。

+0

上記の私の編集を参照して_problem_を解決できますか? – TPete