SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

オープンソースApache Tuscanyで楽しむSOA

オープンソースApache Tuscanyで楽しむSOA
第1回「Apache Tuscanyの紹介」

Tuscanyの誕生までの歴史と、Tuscanyとは何かを紹介


  • X ポスト
  • このエントリーをはてなブックマークに追加

 SOAは混沌とした段階から、JBI準拠製品、SCA準拠製品が開発されるに至り、エンタープライズレベルまで進化してきました。この連載では、オープンソースのSCA準拠製品である「Tuscany」を使ったSOAの開発について説明していきます。第1回目の今回は、Tuscanyとは何か、その誕生までの歴史について説明します。

  • X ポスト
  • このエントリーをはてなブックマークに追加

はじめに

 この連載では、「オープンソースApache Tuscanyで楽しむSOA」として、オープンソースのSCA準拠製品である「Apache Tuscany」を取り上げ、SOA(サービス指向アーキテクチャ)の開発について説明していきたいと思います。第1回目の今回は、Tuscanyの誕生までの歴史と、Tuscanyとは何かを紹介していきます。

 「楽しむ」という言葉に反応された方も多いでしょう。「SOAって楽しめるわけがない」「Webサービスの膨大な仕様書があるけどよくわからなかった」「簡単なことをやる割には、SOAPとかWSDLとか結構面倒だし」という声が聞こえてきそうです。そこなんです、当連載の目的は。Tuscanyは膨大なWebサービスの仕様書を読まなくても開発できます。Webサービスの面倒な部分はコンテナが勝手にやってくれます。JSONやATOMを使ったAjaxについてもほとんど知識は要りません。だまされたと思って、お付き合いいただければと思います。SOAガバナンスを決してないがしろにするわけではありませんが、とくかく作って、試して、驚いていただきたいのです。そのような思いで記事を書いています(アーキテクトの方は、Webサービスに熟知していなければならないですし、Ajaxについても理解しておかなければなりません)。

 そのような意味からいえば、Tuscanyの誕生までの歴史など必要がないのかもしれません。そのように思われる方は第2回目から読んでいただいても一向に構わないのです。第1回目は今までのSOA製品に苦労した方を対象にしています。第1回目を読み飛ばされた方は、永遠に第1回目を読まれなくても結構ですし、「SOAの簡単な歴史も少しは知りたいな」とふと思われ時にでも第1回目に戻っていただければと思います。

Tuscanyの出現

 SOAの熱気がすっかり冷め、クラウドがその座を奪ったようにも思えます。確かに、クラウドがシステム開発のあり方を大きく変えることは疑いようもなく、着実に既存システムを含め、システムはクラウド上に乗るようになるでしょう。

 では、SOAはどうなってしまうのでしょう。消えてなくなる運命なのでしょうか? 答えは否です。SOAはクラウドに隠れている間にも研究・開発が続けられ、混沌とした段階からJBI(Java Business Integration)に準拠した製品、さらにSCA(Service Componet Architecture)に準拠した製品が開発されるに至り、エンタープライズレベルの採用も十分に考えられる段階へと進化し続けていたのです。

 クラウドとSOAはもともと対立するものではありません。クラウドの落ち着きに伴い、企業はビジネスプロセスをサービスとして公開していくと予測されます。そのとき、SCA準拠のSOA製品が成熟し、十分その役割を果たせるようになるでしょう。SCA準拠のSOA製品の中でもオープンソースである「Apache Tuscany」(以降、Tuscany)は非常に魅力のある製品であり、エンタープライズレベルで採用する日が来ると思われます。

SCAの魅力とは

 筆者がまず驚いたのが、コンポーネント(後述)の結合の簡単さです。サービスとプロトコルが分離されているため、インターフェースや実装部分にプロトコル固有のコーディングを加えなくていいのが何より嬉しいことです。さらにコンポーネントがJavaであろうが、C++であろうが、BPELであろうが簡単に結合できてしまうのです。これらを実現する仕様が「SCA Service Component Architecture Assembly Model Specification」です。このAssemblyの仕様こそSCAの核であり、今までのSOAとは一線を画する特長です。

 筆者がTuscanyを通じてSCAの長所と考えているのは以下のとおりです(筆者の好み順です)。

  • いろいろな言語を簡単に組み合わせることができる(言語中立)
  • サービスの実装でプロトコルを意識する必要がない(プロトコル中立)
  • 粗い、細かいというサービスの粒度を過度に意識しなくて良い
  • マシンの境界を越えたワイアリングが簡単である
  • アノテーションを使うことでコンテナに面倒なことを任せられる
  • Eclipse3.5(Galileo)以降、SCA Toolsがプロジェクトとして追加された
  • リファレンスやプロパティの依存性注入(DI)ができる
  • Web 2.0も取り込んでいるため、JSONやATOMでのバインディングが可能。(ただし、SCAで正式にバインディングとしてサポートしていない)

 上記の長所は当シリーズで実装コード、設定ファイルを用いて説明する予定です。SCAの魅力はまだまだあるため、その都度紹介できればと考えています。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
SCAの前にJBIを振り返る

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
オープンソースApache Tuscanyで楽しむSOA連載記事一覧

もっと読む

この記事の著者

川久保 智晴(カワクボ トモハル)

haruプログラミング教室(https://haru-idea.jp/)主宰。COBOL、FORTRANで13年、Javaを中心としたWeb開発で11年。3つしか言語知らないのかというとそうでもなく、sed/awk、Perl、Python, PHP,  C#, JavaScriptなども一時期は業...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/4249 2009/11/25 14:08

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング