Caltixとの組み合わせ
オープンソースとクローズソース
クローズソースという言葉はあまり聞かれないかもしれませんが、従来のラインセス・ビジネスでソースコードをオープンにしないモデルのことを指します。アイオナでは、OrbacusというCORBAのミドルウェアはラインセス価格を設定していながらソースコードをオープンにしていますので、この中間的な位置づけになります。
本来は、Celtixがオープンソースであるのに対して、Artixはクローズソースです。オープンソースに大きな投資をしてきている大手ITベンダーにとってはオープンソースとクローズソースの関係は単純ではないと思います。
例えば、オープンソースのJ2EEアプリケーションサーバのGerominoはバージョン1.2でESBとしてServiceMixをバンドルする予定です。この場合は、オープンソースのアプリケーションサーバとクローズソースの商用のアプリケーションサーバの開発は、関連なく進んでいるようにも見えます(何らかの戦略があるかと思います)。
いくつかのソフトウェア・ベンダーは当初よりオープンソースとクローズソースを併用しています。例えば、Artixも使っているBPELエンジンのActiveBPELを提供しているActiveEndpointsやグループウェアのZimbraは、戦略的にオープンソースのエディションを提供しています。
CeltixとArtixの場合は、エンドポイントに分散するアーキテクチャのため、SOAの基盤となるネットワークの中でCeltixとArtixが混在できます。SOAの導入の敷居をCeltixによって低くして、最終的にはミッションクリティカルなSOAの基盤をArtixとCeltixで混在して同時並行で構築していくことを想定しています。これを、SOAサービスネットワークとして標榜しています。まだ発展途上ではありますが、図2のようにレポジトリを中心にしたネットワークにArtixとCeltixが配置されます。
オープンソースによる標準化プロセス
アイオナは、2005年12月にEclipse Foundationに対してSTP(SOA Tooling Platform)プロジェクトを提案して承認を得ました。STPはSOAを導入する上で、サービスの生成/コンフィグレーション/アセンブリ/システム運用/モニタリングなどのツールの共通のフレームワークを開発するものです。
このSTPをリードしていることによって、アイオナは、SCA(Service Component Architecture)に参加しています。SCAはJava環境だけでなく、C++、BPEL、PHPなどの異言語やテクノロジに中立な抽象化されたSOAのためのサービス呼び出しのAPIを規定しようとするものです。なお、SCAのリファレンス・インプリメンテーションは、ApacheのTuscanyで開発中です。
CORBAはOMGによって標準仕様の検討が進められましたが、リファレンス・インプリメンテーションが存在しませんでした。このため、相互運用性の確保に時間がかかりました。これに対して、Javaの環境に限定はしますが、オープンソースでリファレンス・インプリメンテーションを作ることで標準を確立するのが、現在のやり方です。AxisやTuscanyはその例です。