はじめに
この連載では、「オープンソースApache Tuscanyで楽しむSOA」として、オープンソースのSCA準拠製品である「Apache Tuscany」を取り上げ、SOA(サービス指向アーキテクチャ)の開発について説明していきたいと思います。第5回目の今回は、コンポーネント同士をWebサービスでワイヤリングする方法を紹介していきます。
これまでの連載
- 第1回「Apache Tuscanyの紹介」
- 第2回「Apache Tuscanyの環境設定」
- 第3回「Web2.0から始めましょう(JSONRPC編)」
- 第4回「Web2.0から始めましょう(Atom編)」
- 第5回「Webサービスでコンポーネント同士をワイヤリングしましょう」
既存のWebサービスをTuscanyに組み込むには
前回はTuscanyが自動生成するWebサービスを使用してコンポーネント同士をワイヤリングしましたが、今回は既に存在するWebサービスを使用してコンポーネント同士をワイヤリングします。とは言っても前回とまったく違ったWSDLを使用すると対応関係が分かりづらくなると判断し、第5回で紹介した自動生成したWSDLを既存のWSDLとみなしてワイヤリングします。
開発ツールとしてのTuscany
第5回まではJSONやAtom、あるいはTuscanyが自動生成するWebサービスを使用してきました。これまで紹介してきた機能は、新規でコンポーネントを作成し、ワイヤリングするには非常に強力なものであり、Tuscany自体はSOAを実現するためのフレームワークの一種ですが、非常に優れた開発ツールと捉えることも可能です。当連載ではフレームワークというカテゴリがないため「開発ツール」に分類しております。ただ、最近気づきましたが、あながち開発ツールと言っても間違ってはいないということでそのままにしています。本来はフレームワークです。
SOAフレームワークとしてのTuscany
今回紹介するWSDLによるワイヤリングこそ、本来のTuscanyの目的であると言えます。既に存在しているWebサービスのWSDLさえあれば、コンポジットファイルを記述することで、既存のプログラムをコンポーネント化し、サービスとして公開することが可能になります。つまり、既存のWebサービスの資産をTuscanyにより簡単に結合することが可能になるのです。前回紹介したTuscanyによるWebサービスの自動生成機能の場合、コンポーネントにはAxis2などのWebサービスを実現するためのフレームワークに関連するコードは一切不要でしたが、今回紹介する方法では、既存のプログラムの修正なしに(Axis2などに関連するコードが記述されていても)、他のコンポーネントとワイヤリングが可能となります。WSDLを使用した既存資産をお持ちの方はぜひ試していただければと思います。