InfoQ

InfoQ

News

マイブックマーク

ブックマークするためにログイン または 会員登録 する

ブックマークされました!

ブックマークがエラーになりました。もう一度お願いします。

Tuscany SCA Java 1.2とSDO 1.1がリリース

作者 Boris Lublinsky , 翻訳者 金森 諭 投稿日 2008年5月21日

セクション
運用/インフラ,
設計/アーキテクチャ,
デベロップメント,
エンタープライズ・アーキテクチャ
トピック
Architecture ,
SOA ,
SOAプラットフォーム ,
オープンソース ,
Java
タグ
Service Component Architecture

先月ApacheTuscanyチームからService Component Architecture(SCA)(source)のバージョン1.2とService Data Objects(SDO)(source)のバージョン1.1がリリースされた。

SCAとSDOは最初IBMとBEAによって策定・開発されたもので、今は複数の企業によるコラボレーションチームであるOpen Service Oriented Architecture(OSOA)(OSOA)とOASIS Open Composite Service Architecture(Open CSA)(source)によって開発が続けられている。この活動に加わっているメンバ(source)には、IBM、BEA、Primeton、Sun、 SAP、 Oracle、 Red Hat、 SOA Software、 Xcaliaがある。

Apache Tuscany SCA 1.2で実装されている最新のSCA仕様には以下のものがある。

  • SCA Assembly Model(SCAでのアプリケーション構成モデル) v1.0
  • SCA Policy Framework V1.0
  • SCA Java Common Annotations and APIs V1.0
  • SCA Java Component Implementation V1.0
  • SCA Spring Component Implementation V1.0
  • SCA BPEL Client and Implementation V1.0
  • SCA Web Services Binding V1.0
  • SCA EJB Session Bean Binding V1.0
  • SCA Domain ManagerアプリケーションによるSCAの分散ドメインのサポート改善
  • SAXWSアノテーションのサポート
  • JMSバインディングの改善と簡素化
  • EclipseでTuscanyのランタイムライブラリとTuscanyランチャを提供する新しいEclipseプラグイン
  • Tuscany用にWeb Container Testing Frameworkを統合(Tomcat、Jetty、Geronimo、Websphereで作動する)

SCA仕様ではまだ定義されてない次のような多くの機能の実装も含まれている。

  • Direct Web Remoting・RSS・ATOMフィード・HTTPリソース・JSON-RPC・PUB/SUB(Publish/Subscribe)型のNotification(Webサービス間のメッセージング)・RMI向けSCAバインディング
  • OSGi・XQuery・BPEL・Widget・各種動的言語(Groovy・Pythom・Ruby・Javascript)でのSCA実装
  • SDO・JAXB・XmlBeans・Axis2のAXIOM・JSON・SAXON・DOM・SAX・StAX向けのデータバインディング

今回のバージョンは以下の実行環境でテストが行われている。

  • Tomcat 5.5.20およびTomcat 6.0.14
  • Jetty 6.1.3
  • Geronimo 2.0.2
  • WebSphere 6.1 fix pack 9

Apache Tuscany SDO 1.1には次の機能が含まれる。

  •  同一名の属性(attribute)と要素(element)のサポート
  • Swing UIのDataObjectsの独自データバインディングのサポート

 また多くの既存の機能改善やバグフィックスも含まれている。

InfoQはApache Tuscanyプロジェクトに関わるIBMのLuciano Resende氏(source)に話を聞いた。

InfoQ: 今回のリリースで導入された機能の中で、あなたはどれが一番重要だと考えていますか?

LR: SCAは分散複合アプリケーションを構築するもので、SCA Domain ManagerアプリケーションによってSCA分散ドメインを新しくサポートしたことで複数のSCAノードに自分たちのシステムをデプロイすることができるようになりました。これらのノードは異なるプラットフォームや実行環境(例えばGeronimo、Tomcat、Jettyなど)で動かすことができますし、標準のJ2SEだけで動かすこともできます。OSGiのサポートでは、ユーザがTuscanyとSCAを同じOSGi実行環境で動かすことができるようになりました。新しいTusacny Eclipseプラグインは開発者がSCAアプリケーションを作る上でのユーザエクスペリエンスを向上させます。このEclipseとTuscanyを統合するプラグインによりプロジェクトへTuscanyランタイムを付け加えるのが容易になり、コード補完を使ったコンポジット(SCAの実際のプログラム構成要素の単位)コードの編集や開発環境から直接コンポジットを実行することができます。

InfoQ: TuscanyでWS-BPELのサポートを向上させる計画について教えてくれますか。

LR: Tuscanyの開発レポジトリにあるトランクコードでは、ちょうどBPELと SCAの統合をより進めたマイルストーンを達成したところです。ODEは現行のTuscanyでBPELプロセスがSCAサービスを参照できるようにするために含まれています。次の段階についていえば、次のような話が出てきています。

  • WS_BPEL Processのイントロスペクション(内部情報を取得できること)
  • 非同期実行のサポート向上
  • ODEデプロイ記述子をSCAコンポジットで置き換える

InfoQ: SCAの各種設定を集中的に管理することは可能なのでしょうか?

LR: 現バージョンのTuscanyではアプリケーションと設定をバインディングしないでパッケージングしても、SCA Domain Compositeでバインディングエンドポイントと他のプロパティを定義すればいいようになっています。SCA Domain Compositeはネットワークやバインディングの設定情報を持っているコンポジットファイルの集まりで、この場合SCA Domainが分散レジストリの中心となります。

InfoQ: 今回のリリースではどのポリシー(SCAコンポーネントなどに制約や横断的機能を付与する)が使えるようになっていますか。

LR: ウェブサービスのバインディングについては、認証・完全性・機密性のポリシーが有効になっています。またJavaコンテナを使うサービス向けに JAAS(Java Authentication and Authorization Service)をベースにした認証(Authentication)システムを実装しています。JAASベースの権限付与(Authorization)については、認証コントロールの方がJavaのリソースに対して使われているようなのでサポートしていません。

Big Bankデモでは、認証を行うためと、認証されたユーザのセッショントークンをJavaコンテナへ引き渡すためにウェブサービスのバインディングが使われています。トークンを渡されたコンテナでは認証のためのチェックがされるでしょう。

またログ記録のポリシーもサポートしています。

InfoQ: JMSのサポートについて詳しく教えてももらえますか。

LR: JMS のサポートによりサービスや参照についてのJMSバインディングが可能になり、JNDI URLやInitial Context Factory、ConnectionFactory、JMSヘッダ、使用されるソースやJMSの送信先キューといった多くのことを設定/定義することも可能になります。TuscanyはデフォルトのJMSプロバイダとしてActiveMQを使っていますが、他のプロバイダを使うように設定することもできるので、細かい点は使用されるプロバイダによって違ってきます。

InfoQ: 将来どのような機能が追加されるでしょうか。

LR: これはTuscanyのコミュニティによりますが、現段階の議論からすると次のようなのが挙げられると思います。

  • OSGiをTuscany実行環境のファーストクラスオブジェクトにする
  • BPELのBusiness Integrationを強化する
  • SCA仕様の展開に合わせたアップデート

また現在進行中のGoogle Summer of Code(学生がオープンソース開発に参加するためGoogleが資金提供している)プロジェクトには様々なアイディアがあり、ここからTuscanyの機能を次のような面で強化することになるものが出るかもしれません。

  • Googleのサービスを使ってWeb 2.0のサポート強化する
  • Map/Reduceを取り入れる
  • モバイルへ展開する(TuscanyをAndroidで動かす)

また、STP/SCAのサブプロジェクトではSCA開発用のツールを提供していて、これを使うとTuscanyでのSCA実装を簡素化することができます。先月そのサブプロジェクトがSCA Composite Designerを使った新しいチュートリアル(source)を公開し、その中でSCA開発用ツールをどのように使うかを段階的にレクチャしています。

原文はこちらです:   http://www.infoq.com/news/2008/05/TuscanySCA12

特集コンテンツ一覧

GAE開発の落とし穴

Googleのクラウド環境をつかったGoogle App Engineによる開発するにあたり、初めての試みで苦悩する開発者達の経験をもとに、各開発フェーズにあわせて問題点やどう解決したかをご紹介します

イベントレポート:「Coqチュートリアル#1」

去る1月12日、定理証明支援系ツールCoqの初心者向けチュートリアルが開催さ れた(http://kokucheese.com/event/index/23667/)。今後も2月2日 (http://kokucheese.com/event/index/23744/)、2月9日、2月16日と引き続き開 催されていく予定である。本記事では、開催の様子をレポートする。

Javaの未来についてのNeal Gafter氏とのディスカッション

Choosing Options

Neal Gafter氏はOracleによるJava買収の影響に関する議論、Javaにセグメンテッドスタックやメタオブジェクトプロトコルを追加することについての主張、そしてJavaとC#との比較について話をしてくれた。

Google Dartのエッセンス:アプリケーションの構築、スナップショット、Isolate

GoogleはVMをともなう新しい言語であり、JSコンパイラでもあるDartをプレビューした。 InfoQはDartのアプリの構築に貢献する文法の裏側を探った:スナップショット、Isolate、モジュール方式

CSPベースのモデル検査ツール「Process Analysis Toolkit」

本記事ではCSPベースの「マルチドメイン・モデル検査ツール」である、PAT(Process Analysis Toolkit)について紹介する。モデル検査は、形式手法(Formal Method)という方法論を基礎とする技術であり、複雑さが増大しながらも安全性を求められる、現在のソフトウェア開発の状況に対する処方箋の1つとして注目されている手法である。

Jenkinsによる継続的インテグレーションのススメ(4) ~CloudBeesでJenkinsをサービスとして使う~

前回まで、Jenkinsの幾つかの側面に注目して解説をしてきました。シリーズ最後の今回は、Jenkinsをサービスとして使う方法を紹介します。

書籍『抽象によるソフトウェア設計-Alloyではじめる形式手法-』の紹介

Alloyは、MITにて開発された仕様記述言語であり、ツールによる自動解析を使い、インクリメンタルに形式仕様が書けることが特長である。筆者らはAlloy開発者による、Alloyを使った形式手法入門書を翻訳、今夏にオーム社より刊行した。本記事では、Alloyの簡単な概要と、翻訳書『抽象によるソフトウェア設計』(「Alloy本」)を紹介する。

Windows デバイスで開発するタッチユーザーインターフェイス

スマートフォンを中心としたマルチデバイスにおけるタッチユーザーインターフェイスへの対応は、既に必須の項目となりつつある。本記事では、Windows デバイスにおける UX のベースとなっている「メトロ」というデザイン言語を掘り下げながら、既存環境を意識しつつもどのようにタッチユーザーインターフェイス開発に取り組んでいくべきであるかについて解説していく。