Apache Incubator CXFチームは2.0.4リリースの可用性を発表した(source)。これは2.0.3バージョン(50以上のJIRAアイテムが決定されている)からの部分リリースである。IONAのDan Kulp氏はこのリリースの大部分を代表している。
CXFは下記をサポートする完全装備のオープンソース(source)Webサービスフレームワーク(source)である。
- SOAP、RESTとCORBAを含む異なるバインディング(source)
- WS-Addressing、WS-Security、WS-ReliableMessagingとWS-Policyを含むWS-*
- RESTful(source)なWebサービス
- 複数のトランスポート(source)(HTTP、JMS、JBI)
- プラグ可能なデータバインディング
- WSDLを用いたコントラクトファースト開発とJavaから始まるコードファースト開発
キーとなる設計における考慮点には下記のとおりである。
- 中核コードからJAX-WSのようなフロントエンドのクリーン分別
- 例えばアノテーションなしのクライアントの作成、またエンドポイント等のシンプルさ
- 高パフォーマンス
- 組み込み可能
Dan Diephouse氏は下記のように説明している(source)。
CXF(source)がXFire(source)の新たなバージョンである。つまりバージョン2.0である。CXFはApacheで一体となっているCeltix(source)とXFireコミュニティのコンビネーションである。
Tim O'Brien氏がAxis2上でXFireを使用する理由に関して聞いたところDan氏(source)は下記のように返答した。
私の個人的な見解は、CXFにおいてはPaulBrown氏が呼ぶところのデベロッパエコノミックと呼ばれるものに重点を置いています。そのAPIはかなり友好的なものです。XMLでの厄介な作業なしに、簡単にCXFを再設定することができるのです(CXFはSpring 2.0XMLシンタックス用のサポートを含めて遥かに深いSpring統合を備えている)。APIとSpring設定ミラーはそれぞれ優れていて、またその理解を簡単にします。私達はまたJava 5ベースなのでよりフレンドリーなエクスペリエンスが可能になります。
例えばCXFはWSDLからクライアントを生成する必要なしにランタイムで動的にサービスを呼び出す(source)方法をいくつか提供する。ストリングの入力と取り入れストリングを出力する単一のオペレーション”エコー”を定義するWSDLがある時、下記のような動的クライアントファクトリを使用することができる。
DynamicClientFactory dcf = DynamicClientFactory.newInstance();
Client client = dcf.createClient("echo.wsdl");
Object[] res = client.invoke("echo", "test echo");
System.out.println("Echo response: " + res[0]);
JAX-WSプロバイダモデルを使用してPOX(Plain Old XML)サービスサンプルを構築し、またSpringを使用してそれを設定したAtif Kahn氏は下記のように同意している(source)。
[CXF] はとても直感的なもので使いやすく機能的なものです。
Glen Mazza氏はFOPを使用してNational Weather ServiceからPDFを得ているCXFを使用しているもう一つのサンプルを発行している(source)。
Paul Brown氏(source)また顧客に対して誰がCXFを使用しているのかに関して自身の意見を述べた。
CXFは主力産業のWeb Servicesフレームワークです。IONAは中国に拠点を置くデベロッパチームを提供することによってこのプロジェクトに多大に貢献している。 Axisのような他のフレームワークと同様に全体的なCXFはマーシャルのレベルにおいてトランザクションタイムを最小限のコストに下げるという点において良い仕事をした。
CXFを好む傾向のある人々は彼ら独自のシステムを構築している。CXFは例えばSpringに付加可能な組み込み可能Webサービスコンポーネントのパッケージングにおいて有益に働く。Axisはよりend-to-endなアーキテクチャを提供する。
原文はこちらです:http://www.infoq.com/news/2008/01/cxf-release-2-0-4