Caltixとの組み合わせ
CeltixとArtixの場合
ArtixとCeltixのツールはSTPをベースにして共通化する計画です。STPはSCAのメタ情報の操作をサポートするのが、当面の大きな目標であり、必然的にSCAをサポートすることになります。さらに将来、ArtixとCeltixのプラグイン(カスタマイズのためのコンポーネント)のインターフェースを、共通化することによって、トランスポートやバインディングのエンジンを共有することができます。
表3のようにオープンソースのCeltixとクローズソースのArtixが、両立するシナリオなのです。この他にもオープンソースとクローズソースの棲み分けは様々な展開が予想されます。
Celtix
|
Artix
|
|
Javaサポート | 100%Java | Java APIとPlug In Java API |
C++サポート | なし | 完全サポート |
プラグイン・アーキテクチャ | プラグイン・インターフェースを共通化し、プラグインを流通させる。ArtixのエンタープライズQoSをオープンソースで利用、コミュニティでプラグインを開発 | |
ネイティヴなメインフレーム環境のサポート | Java環境のみで対応 | Celtix+、C++、PL1、Cobolをサポートするネイティヴな対応 |
バインディング | SOAPとXML | Celtix+、CORBA、Fixed、その他 |
トランスポート | HTTP、WSRM、JMS | Celtix+、IIOP、MQ、Tuxedo、TIBCO、その他 |
セキュリティ | 単純な認証 | 完全サポート |
QoS | 基本機能のみ | 完全サポート |
Tooling | Eclipseベースで共通化。Eclipse STPの成果を利用 | |
WSDLコントラクト | SCAの仕様に従ったメタ情報の実装し、共通化 | |
コード生成 | Javaのみ | Celtix+、C++ |
サービス | ルーティングとトランスフォーメーション | Celtix+、トランザクション、ロケータ、セッション管理、システム管理(EMS)インテグレーション、高可用性機能、その他 |
例えば、ServiceMixを提供しているLogicBlazeはSericeMixとActiveMQを中心にしたオープンソースSOAプラットフォームのFUSEを提供しています。FUSEは2007年以降に高可用性機能をサポートすることになっていて、商用のクローズソースの領域を目指しています。
http://www.logicblaze.com/index.jsp
※対象ページ閉鎖
エンタープライズのミッションクリティカルなITインフラをサポートする機能も重要ですが、実用となるにはベンダーとしての実績が必要です。ところが、オープンソースにベンダーとしての実績を求めるのは難しいので、実際にはマーケットが広がるのを待たなければなりません。
一方、オープンソースのCeltixについては、24時間サポートを含むプロフェショナル・サービスとテクニカルサポートやトレーニングのサービスを有償でアイオナが提供しています。これには、アイオナのベンダーとしての実績を背景とすることができます。
オープンソースの経済性
実は、筆者はオープンソースの経済性について、まだ良く理解できていません。今の世の中は共産主義が広まることはないと思えますので、オープンソースへの貢献者への経済的な報酬が必然でないかと思います。JBossがRed Hatに吸収されたようにオープンソースにも経済的な基盤が必要なはずです。
今のところは貢献者の高いモチベーションと技術力がオープンソースを支えていることになりますが、ここまでオープンソースの存在が大きくなったのはベンダーの投資の結果です。ベンダーはボランティアではありませし、必ずしも、全面的にサービス・ビジネスに切り替えるほどオープンソースの市場は育たないと思います。ですから、すべてがオープンソースになることはないと考えています。
今後もクローズソースの中にオープンソースが多数使われるようになり、オープンソースのひとつの生き方を示していきます。つまり、オープンソースとクローズソースのバランスのとれた共存が目標となるでしょう。
しかし、ここで1点欠落している議論があります。ミドルウェア以上のオープンソースはほとんどがJavaの環境を前提としている点です。少なくともIT基盤は10年後も導入当初と同様に働いていることを求められると思いますが、10年後にJavaの環境がより強化され、変わらず高いパフォーマンスを発揮していることを、企業の投資に対してコミットできる人がいるでしょうか。
それをリスクと考えるのであればリスクをヘッジするJava環境以外とバランスをとることのできるアーキテクチャが必要です。今のところ、それはJava環境を中心にしているオープンソースには難しい問題です。
CeltixはApache Software Foundationへ移行しましたので、方向性が変わる可能性もありますが、今後はSCAのサポートを中心に機能の拡充を進めていく予定です。ESBの将来の姿をオープンソースから憶測するのは難しいとは思いますが、ESBについてはいろいろな実装がある中でオープンソースを実際に触って理解することは重要だと思います。
Celtix 1.0には23個のサンプルがバンドルされています。これらのサンプルのREADME.txtを翻訳して、次回より掲載したいと思います。