[ Top page ]

« CORBA の名前づけサービスとトレーディング・オブジェクト・サービス | メイン | セッション管理プロトコルに関する調査結果 »

登録・発見

UDDI

UDDI (Universal Description, Discovery and Integration) は Web サービスを記述し,発見し,組み合わせるための仕様であり,IBM 社や Microsoft 社が中心となって構成された uddi.org によって規定された.

UDDI Version 1.0 は 1999 年から 2002 年にかけて,UDDI Programmer's API, UDDI Data Structure Reference, WSDL Service Interface Descriptions, UDDI tModel などのドキュメントに分割されて公開された.Version 2 のドキュメントも同様に 2001 年から 2002 年にかけて分割されて公開された.最新の版は Version 3 であり, 2002 年 7 月に "UDDI Version 3.0" (http://uddi.org/pubs/uddi-v3.00-published-20020719.pdf) としてまとめて公開されている.

Web サービスとは企業などによって他社やプログラムによって使用できるように提供された Web 上の特定のビジネス機能 (アプリケーション) のことである.UDDI においては Web サービスを XML (通常は WSDL (Web Service Description Language) を使用) によって記述したレコードから構成されるディレクトリを使用する.UDDI における要求・応答メッセージや Web サービス記述に使用される WSDL は SOAP (Simple Object Access Protocol) にもとづいている.

UDDI における主要なデータ構造はつぎのとおりである.

(1) businessEntity
サービスに関する情報を公開しようとするもの (party,たとえば企業や個人) に関する情報を含む.
(2) businessService
一連の特定の技術的サービスについての記述的情報を含む.businessEntity は1 個または複数の businessService を含む.
(3) bindingTemplate
サービスのエントリ・ポイントや実装仕様に関する技術情報を含む.businessService は 1 個または複数の bindingTemplate を含む.
(4) tModel
サービスや値の集合の仕様記述を含む.bindingTemplate は tModel への参照を含む.

これらによって記述されたサービスを,発行者 API (Publisher API) によってレジストリ(ディレクトリ) に登録し,質問 API (Inquiry API) によって検索する.Version 3 においては質問 API にはつぎのような 10 種類の呼び出しが規定されている.

(5) find binding
1 個または複数個の businessServices にまたがって登録されている bindingTemplate 要素を求める.
(6) find business
1 個または複数個の businessEntity 要素を求める.
(7) find relatedBusinesses
特定の businessEntity に関連する,bisinessEntity の登録情報を求める.
(8) find service
登録された businessEntity に関する特定のサービスを求める.find service の呼び出し例を次の文献から引用する: J. Colgrave: A new approach to UDDI and WSDL, Part 2: Queries supported by the new OASIS UDDI WSDL Technical Note, http://www106.ibm.com/developerworks/webservices/library/ws-udmod2.html
<find_service generic="2.0" xmlns="urn:uddi-org:api_v2">
    <categoryBag>
        <keyedReference
            tModelKey="uuid:6e090afa-33e5-36eb-81b7-1ca18373f457"
            keyValue="service"/>
        <keyedReference
            tModelKey="uuid:2ec65201-9109-3919-9bec-c9dbefcaccf6"
            keyValue="StockQuoteService"/>
        <keyedReference
            tModelKey="uuid:d01987d1-ab2e-3013-9be2-2a66eb99d824"
            keyValue="http://example.com/stockquote/"/>
    </categoryBag>
</find_tModel>
(9) find tModel
1 個または複数個の tModel 情報構造を求める.find tModel の呼び出し例を J. Colgrave による前記の文献から引用する.
<find_tModel generic="2.0" xmlns="urn:uddi-org:api_v2">
    <name>StockQuotePortType</name>
    <categoryBag>
        <keyedReference
            tModelKey="uuid:6e090afa-33e5-36eb-81b7-1ca18373f457"
            keyValue="portType"/>
    </categoryBag>
</find_tModel>
(10) get bindingDetail
サービス要求をつくるための bindingTemplate に関する詳細な情報を求める.
(11) get businessDetail
1 個または複数個の businessEntity に関する詳細な情報を求める.
(12) get operationalInfo
レジストリ中の 1 個または複数個のエンティティに関する操作的な情報を求める.
(13) get serviceDetail
登録された businessService の集合に関する詳細な情報を求める.
(14) get tModelDetail
登録された tModel の集合に関する詳細な情報を求める.

また,発行者 API にはつぎの 14 種類の呼び出しが規定されている.

(15) add_publisherAssertions
アサーション集合にアサーション (ビジネス間の関係に関する制約) を追加する.
(16) delete_binding
レジストリに登録された bindingTemplate を削除する.
(17) delete_business
レジストリに登録された businessEntity を削除する.
(18) delete_publisherAssertions
特定のアサーションを削除する.(これによってビジネス間の関係が変化する.)
(19) delete_service
レジストリに登録された businessService を削除する.
(20) delete_tModel
レジストリに登録された tModel を隠す.その tModel が businessTemplate から参照されているときには,その関係に変化はなく,tModel は削除されない.
(21) get_assertionStatusReport
アサーションと状態情報を含む状態報告を得る.
(22) get_publisherAssertions
個別の発行者が制御するアサーションのリストを得る.
(23) get_registeredInfo
ビジネスと tModel に関する簡易化されたリストを得る.
(24) save_binding
新しい bindingTemplate を登録するか,または既存の bindingTemplate を改訂する.
(25) save_business
新しい bindingEntity を登録するか,または既存の bindingEntity を改訂する.
(26) save_service
businessService に関する情報全体を登録または改訂する.
(27) save_tModel
tModel に関する情報を登録または改訂する.
(28) set_publisherAssertions
個別の発行者に関するアサーションの全体を登録する.

Version 3 においては他にも様々な機能が規定されているが,その中にはセキュリティポリシーの形式やそれに関する API の規定が含まれている.

Keywords: WSDL, SOAP

コメントを投稿

Powered by
Movable Type 3.36