Apache Tuscany team(source)は、先日Java SCAプロジェクト1.1のリリースを発表した。
Apache Tuscanyは、Service Component Architecture(SCA)(source)に基づいたランタイム環境である。SCAは、複合アプリケーションの構成を容易にする新しいコンポーネントモデルであ る。SCAは、もともとIBMおよびBEAによって開発された一連の仕様であり、Open Composite Services Architecture(Open CSA)(サイト・英語)の一部としてOASISにより標準化されている。ワーキンググループのメンバーは、BEA、 IBM、 Primeton、 SAP、 Sun Microsystems、 Oracle、 Red Hat、SOA Software、 Xcaliaなどである(source)。
Open SOA organizationは、SCAを以下のように定義している(source)。
Service Component Architecture (SCA)は、Service Oriented Architectureに基づいてアプリケーションおよびシステムをビルドするためのプログラミングモデルを提供している。ビジネス機能は、一連のサー ビスとして提供されるという概念に基づいており、そのサービスがひとつにまとまって特定のビジネスニーズに応えるソリューションを生み出す。
Tuscany SCA Java 1.1のリリース(source)には、以下のような多くの機能がある。
- JMSバインディング
- 改善されたポリシーサポート
- SCAコンポーネントとしてクライアント側のJavascript アプリケーションを表現するための実装拡張機能
InfoQ:1.0のリリース後にはどんなフィードバックを受けましたか。
JS:ユーザから貴重なフィードバックをもらいました。さらに多くのユーザから1.0のユーザリストに投稿がありました。一般的に言って、SCA1.0仕 様の満足のいくサポートを提供しつつ、ユーザはTuscanyがインストールしやすく、使用しやすいと感じているようです。
また、要望もありました。
- ポリシーサポートの充実
- セキュリティーポリシー。これについては、1.1で改良済み。
- トランザクションポリシー。現在進行中。
- JMS(1.1で使用可能)
InfoQ:Tuscanyでどんなプロジェクトを開始しているのですか。
JS: 学生がグリッドや分散コンピューティングで試しに使用したり、実社会のバンキングアプリケーション(source)にいたるまで、文字通り、ボードを越えています。
InfoQ:SCAインフラストラクチャーの採用の芯は何でしょうか。
JS:よりシンプルなプログラミングモデルおよび構成に依存することができるWeb Serviceベースのアプリケーションです。バインディングおよびコンポーネントの実装タイプを超えた、構成がよりシンプルなプログラミングモデルとの従来型の統合があります。
新しい情報としては、SCAがWeb2.0アプリケーションをビルドするのに役立っていることが分かり始めたということです。
InfoQ:それに関連して、「ウィジェット」実装がどのようになるのかについて説明してもらえませんか。
JS:Tuscany's JSONRPおよびATOMバインディングを使用したサーバー側のコンポーネントに接続され、Webブラウザで実行しているHTML + Javascript the AJAX wayとして実装されたクライアントコンポーネントであればSCA構成にあらゆるものがインクルードできます。
基本的に、Web 2.0クライアントコンポーネントを分散SCA構成に取り込むようなものである。
以下は、JavaScriptを使用してリファレンスを宣言する方法である。
//@Reference
var catalog = new Reference("Catalog");
//@Reference
var shoppingCart = new Reference("ShoppingCart");
リファレンスの内観がすべての配管コードを実装した後で、JSON-RPCおよびATOM、そしてビジネスロジックで使用可能なリファレンスをラップしているリファレンスクラスをサポートするため、追加のJavaScriptを生成する(source)。
<script type="text/javascript" src="store.js"></script>
いくつかのデモコードはここで参照できる(source)。
InfoQ:BPELのサポートについてはどうでしょうか。
Luciano:まだ完了していません。サービスはサポートされていますが、リファレンスはまだです。現在その作業の完了に関わっているのです。プロパ ティもサポートされていませんが、それにはBPEL言語への拡張機能が必要になるでしょう。コミュニティで要請があれば、次の作業はそれになると思いま す。ちょうどBPEL実装ガイド(source)を更新したところです。
InfoQ:次はどうなるのでしょうか。
JS:Tuscanyコミュニティが決定するでしょう(1.1をリリースしたばかりなので)、けれども以下の領域での進展を計画しています。
- よりシンプルかつより完全なSCAポリシーのサポート
- さらに多くのポリシー(トランザクションポリシーとともに進歩)
- 改善されたエンドツーエンドSCAコントリビューション、デプロイメント、ディストリビューション情報
- SCAドメイン管理アプリケーション
- Geronimoとの統合(Geronimoサンドボックスに試作あり)
- Web 2.0バインディングの改良(おそらくApache Abdera for ATOMを使用し、JSONRPC バインディングへのクロスドメインサポートを追加)
- Tuscanyデータバインディングベースサポートの最適化
- プラットフォームの実装テストの増加(Tomcat、Geronimoなど)
InfoQ:IBMはWebSphereブランドのもと、どのようにApache Tuscanyを売り込んでいくのでしょう。
JS:ここ(source)に詳細がありますが、基本的にはIBMのWebSphere Application Server v6.1 SOA feature packはApache Tuscanyを利用し、SCAの実装を提供するでしょう。
ありがとうございました。