UDDI
Web上で公開する機能や利用先などの情報を登録・検索するための仕様。サービスを探すためのレジストリを構成し、利用者が必要な機能の提供先を見つけられるようにする。
イマシルちゃんの解説
町のお店を探すとき、業種や連絡先を載せた案内帳があると便利だよね。
「修理を頼みたい」と思ったら、まず案内帳でお店を探すんだ。
案内帳が修理してくれるわけではないよ。
見つけたお店に連絡して、そこで仕事をお願いするんだ。
より深い解説
必要な機能を見つける仕組み
UDDIは、Webサービスについての情報を管理するための標準である。公開された大規模な一覧だけでなく、企業内や取引先間で共有するレジストリも構成できる。情報の表現にXMLを使い、定められた操作による照会などを行う。
サービスを利用するには、機能が存在することに加え、どこへ、どの形式で要求を送ればよいかを知る必要がある。UDDIは、このうち提供者やサービス情報の発見を支援する。
基本的な流れ
| 段階 | 行うこと |
|---|---|
| 公開 | 提供者がサービスの情報を公開登録する |
| 発見 | 利用者が分類や名前を手掛かりに条件検索する |
| 利用 | 見つかった接続先へ、取り決めた形式で要求を送る |
検索のたびにサービスを実行するわけではない。取得した情報を使い、実際のサービスとの接続は別に行う。必ず実行時に検索する設計とも限らず、開発時や構成変更時の発見にも利用できる。
管理する情報
| 構造 | 主な内容 |
|---|---|
| businessEntity | 提供者の名前、連絡先、分類など |
| businessService | 提供する提供機能の説明や分類 |
| bindingTemplate | 呼出しに使う接続先などの技術情報 |
| tModel | 技術仕様や分類体系などを参照するためのモデル |
単にURLを並べるだけでなく、業務や技術の分類で検索できるようにする点に意味がある。一方、登録情報が古ければ接続できないため、提供者による更新と管理が必要になる。
周辺技術との分担
| 技術 | 担うこと |
|---|---|
| UDDI | 提供先を探すための情報を登録・検索する |
| WSDL | 操作、メッセージ、接続方法などのインタフェースを記述する |
| SOAP | XML形式のメッセージを交換する |
| サービス指向アーキテクチャ | 業務機能をサービスとして組み合わせる設計の考え方 |
これらは組み合わせて使えるが、同義語ではない。システムをサービスに分けても、接続先を設定ファイルで管理するなど、UDDIを使わない実装は可能である。