はじめに
この連載では、「オープンソースApache Tuscanyで楽しむSOA」として、オープンソースのSCA準拠製品である「Apache Tuscany」を取り上げ、SOA(サービス指向アーキテクチャ)の開発について説明していきたいと思います。今回は、サービスの実装に他の言語を使用する方法について、前回のJRubyへの書き換えに続き、Groovyへも簡単に置き換えられることを説明します。
これまでの連載
- 第1回「Apache Tuscanyの紹介」
- 第2回「Apache Tuscanyの環境設定」
- 第3回「Web2.0から始めましょう(JSONRPC編)」
- 第4回「Web2.0から始めましょう(Atom編)」
- 第5回「Webサービスでコンポーネント同士をワイヤリングしましょう」
- 第6回「WSDLを使用してWebサービスでワイヤリングしましょう」
- 第7回「JRubyをサービス化しましょう」
一度分かってしまえば
前回は、CalcChargeImplという送料と合計金額の計算をしているJavaコードをJRubyに書き換え、コンポジットファイルを少し変更するだけで実装コードを置き換える方法を説明しました。前回は苦労しましたが、一度置き換え方を習得してしまえば、置き換えるものがGroovyであれ、Jythonであれ非常に簡単です。Groovyに至っては10分で置き換えることができました。慣れてしまえば、さらに早くなるはずです。
ここまではJavaのコードを置き換えることだけを話題にしてきましたが、責務を与えたコンポーネントを実装するのにどの言語がふさわしいかという視点から言語を決定し、開発することも可能となります。あるいは限られた要員のスキルにあった言語で実装し、Tuscanyで組み合わせることによりアプリケーションを開発することも可能なのです。
正確な数字は忘れてしまいましたが、IBMのセミナーで「世界には、JavaやC++などの言語を使える技術者は300万人、PHPを含めたスクリプト言語を使える技術者は1500万人いる。スクリプト言語を使える技術者をもっと巻き込んでアプリケーションを作成しないのはもったいない」のような話を聞き、非常に感銘した記憶があります。そのセミナーはTuscanyに関係ありませんでしたが、Tuscanyはその思想を受け継いでいるように思えます。コードをコンポーネント化し再利用することで、アプリケーションの開発が迅速化し、開発コストも低減できるという話は皆さんも耳にタコができるほど聞かされ、実際には思ったほど容易ではないと考えていらっしゃる方も多いと思います。このような意味でのコンポーネントであれば、SCAによってようやく実現できたと筆者は考えています。SCAを実装したTuscanyを使えば、コンポーネントが本当にレゴブロックに見えてきます。