疎結合のメリットが活きるWebサービス

文:Jeff Hanson(TechRepublic) 翻訳校正:村上雅章・野崎裕子
2008-01-07 08:00:00
  • このエントリーをはてなブックマークに追加

時間からの独立

 サービスは同期的に、あるいは非同期的に呼び出すことができる。サービスが関知する必要があるのは領域に特化したビジネスロジックを実行することのみであるため、アプリケーションの他の部分からどのように呼び出されるのかや、どのように使用されるのかについて意識することなく作業を行うことができる。これによって、同じビジネスロジックを必要とするまったく新たなアプリケーションからこのサービスを利用できるようになる。1つのアプリケーションがそのサービスを同期的に使用しながら、他のアプリケーションが同じサービスを非同期的に使用することも可能である。サービスにとって、そういったことは関係のないことなのだ。

SOAにおける緩やかな結合の例

 JiniはJavaによってSOAを実装したものである。Jiniは、必要な機能を提供する一連のサービスを用いて、アプリケーションを構築するためのプラットフォームを提供している。クライアントはルックアップサービスを用いてサービスを検索するためにJiniプラットフォームを利用することになり、これによって2つのコンポーネント(サービスと、そのサービスを呼び出すコード)は位置的な透過性を手に入れることになる。Jiniプラットフォームは、サービスやそのサービスを呼び出すコードが互いの場所を知らなくてもよいよう、サービスが配備されている位置情報を取り扱うのだ。

 SOAが提供する疎結合によってもたらされるメリットの例は、Webサービスにも存在している。WebサービスはSOAの一形態として一般的になってきている。Webサービスでは、実行時に検索を行うUDDIといったレジストリを利用することで位置の透過性を可能にするサービスの配備が行えるようになる。クライアントは必要となるサービスをレジストリに要求することで、そのサービスの位置を動的に特定する。Webサービスというアーキテクチャでは、動的な位置の特定やバインド、サービス呼び出しを実現するメカニズムが提供されるため、疎結合のメリットがもたらされることになる。

 開発者はWebサービスを利用することで、Javaや.NETなど、どのようなプログラミング言語環境を用いてもサービスを実装することができるようになる。Webサービスのクライアントは、SOAPすなわちXML over HTTPを用いることで特定のサービスと通信を行うことになる。さらに、SOAプラットフォームが通信プロトコルに関することを取り扱うため、Webサービスの開発者はそういったことに煩わされなくても済むようになる。

まとめ

 SOAを用いてアプリケーションの構築や配備を行うことで、コンポーネント間の緩やかな結合を実現するための環境が提供される。緩やかな結合のメリットには、位置の透過性やプロトコルからの独立、時間からの独立などがある。

この記事は海外CNET Networks発のニュースをシーネットネットワークスジャパン編集部が日本向けに編集したものです。海外CNET Networksの記事へ

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]