分散オブジェクトからWebサービスへ

昨年からIT業界で言葉として流行りだしたWebサービスは、技術的には 分散オブジェクト環境の延長なのだが、 なぜまた注目されているのだろうか?

分散オブジェクト環境

企業内の多様なリソースを透過的に利用する仕組みとして 約10年前から分散オブジェクト環境が考えられてきた。 これは、アプリケーションをオブジェクトというプログラム単位で構築し、 オブジェクトがネットワークを介して互いにやりとりすることにより サービスを実現するというものである。 ネットワーク越しのオブジェクト呼び出しを CORBA(Common Object Request Broker Archtecture)、Java/RMI(Remote Method Invoke) といった技術で実現する。この実装がORB(Object Request Broker)である。 この仕組みは新たな分散システムの構築のみならず、既存システムの連携にも活用できるので、 社内の様々のデータベースやシステムをORBで連携するシステムが多く構築されてきた。

分散オブジェクト技術には、単に他のオブジェクトのサービスを呼び出すだけでなく、 実行時にオブジェクトが必要なサービス(を提供するオブジェクト)を トレーダというサービス仲介者を通じて探し、持ってくるというものもある。 CORBAのTrading/Federationサービスや筆者らが開発したORB  OZ がこれをサポートする。

Webサービス

一方、昨年からWebサービスという言葉が流行っている。 ここでのWebサービスは分散オブジェクト環境と同じように インターネット上でソフトウェア機能を動的に探し出し、 アプリケーション間の連携を可能にするための仕組みである。 技術的には、 従来からある分散オブジェクトの考え方を インターネット上のXML/ SOAP(Simple Object Access Protocol) /HTTPといった標準プロトコルで実現するサービスである。 SOAPはXMLで記述したインターネットを介したサービス呼び出しプロトコルである。

サービス提供者が自分のサービスをサービスプロバイダのレジストリに登録し、 ユーザ(のアプリケーション)はレジストリを検索し、必要なサービスを利用する。 マイクロソフト、IBM、アリバ社により提案された UDDI(Universal Description Discovery and Integration) レジストリや、 OASISUN/CEFACT で標準化が進められている ebXML レジストリがこの登録・検索サイトにあたる。

ユーザからみれば、あるWebサイトにログインし、そのままログインしなおさずに他のサイト のサービスを受けられるというものである。
また、B2B取引の仕組みとして、 インターネット上にあるサービス提供者や機能をUDDIなどで探し、 呼び出すことにより、 電子カタログの取り寄せ、在庫照会、受発注などの 取引を、ある程度自動化できる。

分散オブジェクト環境からWebサービスへ

Webサービスが今注目されているのは、CORBAなど分散オブジェクト環境がORBなど 独自の実行環境を必要とし、ファイヤウォールを通過させるのに 特別な設定をしなければならなかったのに対し、 Webサービスは、インターネット標準のプロトコルやツールを使い 比較的安価に実装できる点にある。 これによりEDI分野ではEDI普及率の高い大企業のみならず中小企業にも普及を促し 全体としての効率化が図られることが期待されているのである。

Webサービスの多くは、まだプラットフォーム作りの段階であり、 電子部品等の調達システムとして有名な ロゼッタネット もやっと運用を開始したばかりであり、課題も残される。
まず、ビジネス上の語彙の問題がある。 Webサービスとは、分散する多様なサービスを意味的にも連携しなければならない。 各サービスが使う語彙の相違は文化的要素も絡み大きな課題である。 ロゼッタネットでは、取引に使われる電文に含まれる単語を統一するため、 EC辞書、IT辞書といったものを規定している。 ebXMLでは、ビジネス領域など名前空間ごとに異なる語彙を扱うしくみ( ビジネスコンテキスト/コアコンポーネント)を定義している。 しかし、商習慣とそれに伴う語彙は、容易に整理できるものではなく 実用レベルにこなれるのにはそれなり時間がかかる。
また、複数サイトを連携するということは、 必ずしも回線速度が均一なサイト間を連携するとは 限らず、サイトごとに認証をしなければならないので 性能が保障されないという問題もある。

Webサービスが広くに普及するかどうかは、 これらの課題がどの程度のレベルで解決されるか否かによる。 しかし、少なくともインターネット標準に乗ったWebサービスの技術は企業間サービス連携のしくみとして 有用で安価なものとなりえるだろう。

  • OZ:やCORBAのTradingServiceのような動的サービス起動技術の延長にWebサービス技術がある
  • UDDI
  • :Webサービスのイエローページ
  • X METHODS:SOAPベースのWebサービスリスト(荷物追跡サービス、オークション価格通知サービスなどを含む)
  • ロゼッタネット:コンピュータ産業や電子部品産業における取引のためのXMLを用いたマーケットプレイスの構築を目指したプロジェクト
  • ebXML:ebXMLは商取引全体を見渡して「単一のマーケットプレイス」の構築を目的としている
  • W3C SOAP
  • XMLによるWebサービス呼び出しプロトコル
  • Apache-SOAP:ApacheプロジェクトのSOAPの実装
  • MS .NET
  • :Microsoft社の.NET構想はWebサービスが重要な要素となっている
  • OASIS:構造化情報標準化団体
  • UN/CEFACT:電子商取引に係る国連組織