今年4月のSunとMicrosoftの和解及び業務協力契約の後、.NETとJavaの間の
連携に関する何かしらの具体的な動きを期待していました。ようやく先日に
発表がありましたがWEBサービスとディレクトリサービスという既に標準的な
連携の仕組みがある程度整備されている分野に限定された内容で、すこし
期待し過ぎたかなといった感じでした。
.NETとJavaの連携という観点では常に中立的存在を堅持しているBorlandから
「Jeneva」というCORBAベースのブローカー的なスタンスの連携ミドルウエア
が提供されています。(ちなみにこの「Janeva」ですが、永世中立国である
スイスの首都Genevaにも掛けているのだそうです)既に開発済みのビジネスロ
ジックモジュール同士を連携させたい場合にはこうしたミドルウエアがあると
便利です。ですが、両者ともWEBサービスやXMLに対応しているわけですから
敢えてCORBAを使わなくても連携しようと思えばやり方はいろいろあります。
個人的に期待していたのはこうした疎結合レベルの連携ではなく、もっと低
レベルの連携です。つまり.NETとCLRとJavaのJVMのレベルで.NETアセンブリ
とJavaオブジェクトの間のデータやイベントのやりとりができないかという
ことです。JNIを使えばJavaからWindowsAPIをコールしたりできますが、
.NETのマネージドコードの作法に従って呼び出したいといった場合には
現在の枠組みでは一筋縄ではいきません。.NETとJava、各々の家元同士が
直々に手を下すわけですから、そういった突っ込んだレベルの連携手段を
提供して欲しいなぁと思っています。
ところが、本家をよそにIBMがそうした試みの一つを同社のエマージング
テクノロジー紹介サイトである「alphaWorks」で発表しています。
http://www.alphaworks.ibm.com/tech/eclipsewinforms
EclipseからWindows Formsコントロールを制御できるというものです。
各種のCLRタイプとの密な互換性やイベントリスナーの追加・登録など
かなりのことができそうです。
IBMはこうした低レベルでの連携手段を探りつつ、疎結合レベルにおいても
WebSphere MQ Familyを基盤としたESB(Enterprise Service Bus)の提供
という形でミドルウエア戦略を推し進めています。
こう考えるとIBMってやっぱりすごい会社だなとつくづく思います。