SOAの何が新しいのか?SOAでつくる変幻自在の情報システム(3/4 ページ)

» 2005年11月07日 08時51分 公開
[渡邉利和,ITmedia]

WebサービスとSOAの違い

 そもそもWebサービスでは、インターネット上(もちろんイントラネットでもいいが)に散在する「サービス」を相互に繋ぎ合わせ、任意に呼び出して利用できるようにインタフェースとデータフォーマットを共通化した。インターネット上で提供される多数のサービスを好きなように組み合わせることで新しいサービスを実現し、インターネットそのものを「サービスのネットワーク」にしていく、という壮大なビジョンが語られていたのは、ほんの数年前の話である。

 このアイデアはある意味分かりやすいし、だれの耳にも魅力的に聞こえることから一気に大ブームとなったが、実現するのは困難だった。理由はさまざま挙げられるが、ここでは、外部に用意された「サービス」を利用すると簡単にいっても、その「サービス」がどのような処理をどのような形式で行うのか、使いたい処理と合致しているのかどうかが問題になる、という点をまず指摘しておきたい。

 SOAが「サービス」というとき、それはある一連のまとまった処理で、ある程度完結していることを想定する。こうした粒度の大きなコンポーネントは、その内部にさまざまな処理を含むため、それぞれの処理の実現の仕方の違いが最終的なサービスの仕様に影響してしまう。

 コーディングサンプルに取り上げられるような、「2つの数を渡すと合計値を返してくれる足し算サービス」みたいなレベルの話ならともかく、「受注処理をサービス化する」という話だと、取引相手は個人か企業か、価格は固定か値引きがあるのか、最小ロット数はどのくらいか、などといった違いが生じてくるのである。

 Webサービスでは、コンポーネントをサービスと見なして相互接続する共通インタフェースを確立したが、「そのサービスはそもそも希望通りの内容なのか」という点はカバーできない。それが、Webサービスによるサービス連携の困難さでもある。

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ