Comments
Description
Transcript
XML Web サービスの技術動向
XML Web サービスの技術動向 特 集 Technical Trends in XML Web Services 山田 正隆 陸 振宏 ■ YAMADA Masataka ■ LU Zhenhong XML Web サービスとは,メッセージ形式に XML(eXtensible Markup Language)を用いたシステム連携技術の 総称である。XML Web サービスは単なるシステム連携の技術にとどまらず,企業間のビジネスをつなぐ技術として期 待されている。そのため,IT(情報技術)ベンダーのみならず,多くの企業から注目を集めている。 ここでは,XML Web サービスの標準化技術動向として,まず XML Web サービスの基礎となる SOAP(Simple Object Access Protocol),WSDL(Web Services Description Language), UDDI(Universal Description, Discovery and Integration)を紹介する。SOAP,WSDL,UDDI は,多くのミドルウェアに既に取り入れられ活用 されている。そして,現在取り組まれている周辺の技術,サービス定義,レジストリ,通信の信頼性,トランザクション, セキュリティの標準化について述べる。 XML Web services are a system integration technology using XML as the message format. They are a technology not only to integrate systems, but also to integrate businesses between enterprises. Therefore, as well as information technology vendors, many enterprises are watching this field with keen interest. This paper introduces the technical trends in XML Web service standardization. First, we describe the base technologies for XML Web services: SOAP, WSDL, and UDDI. These technologies have been supported in many middleware tools. We then introduce advanced standardization activities in the fields of service description, registries, reliability of communication, transactions, and security. XML Web サービスとは 航空会社 XML Web サービスという用語が使 社内旅費精算 システム われ始めたのは 2000 年中ごろである。 以降,XML Web サービスは IT の最 旅行会社 約 便予 航空 旅行予約 先端技術として注目を集め続けている。 ホテ ル予 約 ホテル XML Web サービスをひと言で説明 すると,メッセージ形式に XML を用い たシステム連携の技術である。システ ム連携技術はこれまでにも,分散オブ ジェクト技術やメッセージング指向の技 術などが提案されてきた。XML Web 図1.旅行予約システム−航空便予約やホテル予約を XML Web サービスを用いて社内旅費精算 システムから利用することができる。 Travel reservation system サービスはメッセージ形式に XML を 用いることで,高い拡張性,相互運用 ープンな技術であることが重要であ 社やホテル会社が提供する航空便予約 性,ファイアウォールとの親和性などの る。XML Web サービスの特長として, やホテル予約サービスを XML Web サ 技術的特長を持っている。 主要な IT ベンダー W3C(World Wide ービスとして公開することで,旅行会社 また,XML Web サービスは単なる Web Consortium)などの標準化団体 がそれらを組み合わせて旅行予約サー システム連携の技術にとどまらず,企業 において大同団結している点が挙げら ビスを構築できるようになる。更に, 間のビジネスをつなぐ技術としてとらえ れる。 XML Web サービスとして旅行予約サ ることができる。 企業間のビジネスをつなぐには,オ 東芝レビュー Vol.5 8No.2(2003) XML Web サービスの例として,旅 行予約システムを図1に示す。航空会 ービスを公開することで,社内旅費精 算システムから利用することもできる。 3 このようにシステムの様々な機能を,他 ことができる。 サービス定義 社の提供する XML Web サービスを用 UDDI は,XML Web サービスのレ いて構築できるようになると期待され ジストリを提供するための仕様である。 ている。 XML Web サービスを登録し,検索す が提供する個々のインタフェース情報 る API( Application Programming を記述することができる。 Interface)を SOAP により定義している。 標準化動向 以下,現在取り組まれている,XML Web サービスにかかわる標準化動向 まず,XML Web サービスを構成する (1) もっとも基本的な仕様である,SOAP , (2) (3) WSDL ,UDDI について述べる。 この W S D L を ベ ースとした X M L UDDI により,人手を介さずに動的にサ Web サービスのフロー記述定義がいく ービスを発見し,連携させる動的システ つか提案されている。これらフロー記 ム連携の実現が期待されている。 述は,XML Web サービスを呼び出し, SOAP/WSDL/UDDI の関係を図2 公開する処理フロー記述と,2 者間以 に示す。サービス提供者は,提供する 上の BtoB(企業間の取引き)フロー記 XML Web サービスのインタフェース 述に分けられる。処理フローは XML 情報を WSDL として記述し,UDDI レ Web サービスやアプリケーションの内 ジストリに登録する。サービス利用者 部呼出し順序を記述し,Web サービス は,まず UDDI レジストリを用いて利用 を提供し利用する一事業者の視点で記 について述べる。 SOAP/WSDL/UDDI WSDL により,XML Web サービス SOAP は,XML Web サービスの上 したいサービスを検索する。次に,利 述される。一方,BtoB のフローは内部 位メッセージプロトコルを担う仕様で 用したいサービスの WSDL を UDDI レ 処理方法に関して記述せず,BtoB フロ ある。SOAP はメッセージ形式として ジストリから取得し,WSDL の定義に ーに参加する事業者すべてに対等な視 XML を採用しているため,プラットフ 従って,SOAP メッセージによりサービ 点で記述される。BtoB のフローでは, ォームの依存性が低く,また拡張性の ス提供者から XML Web サービスを呼 異なる企業間で XML Web サービス 高い仕様となっている。 び出すことができる。 による連携に必要十分な記述がなされ る必要がある。互いの内部処理につい WSDL は,SOAP による XML Web 拡張技術 サービスのインタフェースを定義する仕 ては記述しない。このようなフロー記 様である。提供するインタフェースの一 S O A P ,W S D L ,U D D I が X M L 述 として ,B P E L 4 W S( B u s i n e s s 覧,各インタフェースの SOAP によるメ Web サービスの基盤となる技術であ Process Execution Language for Web ッセージ形式や,呼出し先となる URL る。これらの基盤技術を基にした様々 Services) などが提案されている。 (Uniform Resource Locator) を記述す な拡張技術の標準化が取り組まれてい サービス定義には,フロー記述だけ る。WSDL の記述により,XML Web る。以下,拡張技術への取組みについ で なく,意 味 の 定 義 が 必 要 で あ る 。 サービスを呼び出す技術的手段を知る て述べる。 WSDL のインタフェース定義は,コメン (4) トを除けばサービスを呼び出すための 技術情報のみを記述している。しかし, UDDI サービス情報 検索/登録 レジストリ その内容を理解するには各インタフェ ースの処理内容や,各インタフェースの 引数の意味を記述することが必要であ サービス レジストリ WSDL サ サービスインタフェース 情報を登録 サ ー ビ ス 情 報 検 索 ー ビ ス る。W3C では,Web コンテンツに意味 情報を与える Semantic Web Activity を立ち上げており,OWL(Web Ontol- 情 報 登 録 (5) ogy Language) などの仕様を策定し ている。これら意味情報記述を XML サービス 利用者 サービス利用 サービス 提供者 Web サービスに適用する試みとして (6) DAML-S SOAP がある。 サービス呼出しメッセージ レジストリ 図2.SOAP/WSDL/UDDI の関係−サービス提供者は XML Web サービスの情報を WSDL とし て記述し,WSDL を UDDI に登録する。利用者は UDDI を検索して WSDL を取得し,SOAP により サービスにアクセスする。 Relationships between universal Web service standards (SOAP, WSDL, UDDI) 4 UDDI レジストリに対する拡張の一 つとして,登録されている XML Web サービスの信頼性が挙げられる。 東芝レビュー Vol.5 8No.2(2003) ザクションを実現する仕様として,BTP ここでの信頼性とは,主にサービス 提 供 者 の 信 頼 性 で ある。例 え ば , トランザクション管理 UDDI を用いてクレジットカード決済サ 単一のメッセージの信頼性だけでな ービスを見つけたとしても,見知らぬ く,複数のメッセージ(複数のサービス 事業者に顧客のクレジットカード番号 の呼出し)処理に関する確実性と一貫 を渡すことは現実的とは言えない。サ 性,つまりトランザクションの考え方を セキュリティ ービス提供者の信頼性を測るなんらか 導入することが必要である。 XML Web サービス導入に対する不 の手段が必要である。 (7) (Business Transaction Protocol) や ここでのトランザクションとは,複数 (8) WS(Web Services)-Transaction な どが提案されている。 安要因として,セキュリティが取り上げ サービス定義と同様にレジストリに の処理要求を一貫性を持った形で確 おいても意味の定義が必要である。現 実に処理することを指している。例え XML Web サービスでは,ネットワー 状の主な UDDI の使い方は,インタフェ ば,図 1 に示した旅行予約では,航空 ク端点間(Point to Point)のセキュリ られることが多い。 ース ID(IDentification)である tModel 便とホテルを予約する XML Web サー ティ範囲では既に実用的なものとなっ (technical Model) を指定したり,企業 ビスを用いている。このとき,航空便 ている。XML Web サービスは,その 識別コードや製品分類などの分類指 の予約とホテルの予約の両方の予約が 通信プロトコルとしてインターネットプ 定,登録情報のパターンマッチングな 成功しない場合は,すべての予約をキ ロトコルを用いることができるため,基 どである。当社では,DAML-S による ャンセルすることが要求される。 本認証や通信レベルの暗号化 意味情報を定義した XML Web サー 従来のトランザクション概念と比較 (HTTPS)により,旧来の Web アプリ ビスのレジストリとして,マッチメーカ して,XML Web サービスによるトラン ケーションと同等レベルのセキュリティ ー の 研 究 開 発 を 実 施して い る( p . 2 3 ザクションには,以下の特徴がある。 要求を満たしていると言える。 異なる事業者がトランザクショ 基本認証や HTTPS のようなネットワ そのほか,登録されている情報の信 ンに参加するため,リソースをトラ ークセキュリティは,ネットワーク端点 頼性,サービス品質(Service Level ンザクションマネージャの管理下 間のセキュリティを保障するが,通信後 Agreement)定義,セキュリティや課金 に置くことが現実的ではない。 のデータの扱いに関するセキュリティ 参照)。 などの合意など,レジストリに関するい くつかの課題が議論されている。 通信の信頼性 トランザクションが長期間にわ については関知しない。現在,XML たることがあるため,リソースをロ Web サービスにおける End to End の ックするのが適切ではない。 セキュリティ確保を目指して様々な標準 そのため,XML Web サービスのト 化がなされている。End to End のセ SOAP は下位プロトコルに依存しな ランザクションは,従来のトランザクシ キュリティとは,通信後のデータを実際 い仕様となっているが,主に HTTP ョンの考え方とは必ずしも適合しな に用いるときのセキュリティ保障であ (HyperText Transfer Protocol)が用 い。現状 XML Web サービスは,複数 る。例えば,図3に示すように,サービ いられている。HTTP を通信基盤とし メッセージにわたるトランザクション管 ス要求者とサービス提供者の間に仲介 て用いた場合,通信障害が発生したと 理には不向きであり,1 メッセージをト 者が入った場合,Point to Point の分 きにメッセージが相手に届いたのかど ランザクションの単位として処理するよ 断されたセキュリティ確保では,仲介 うかを送信者は判断できない。そのた うに,トランザクションを分割するなど 者がメッセージの中身を閲覧したり変 め,高い通信品質を要求する場合は, の対処が必要である。 更しても,最終的なメッセージの受取 個々のメッセージに固有の ID を埋め XML Web サービスにおけるトラン 人はそのことを知ることができない。 込むなど,メッセージの到達確認及び 二重送信を防止する仕組みをメッセー Point to Point のセキュリティ ジレベルで作り込む必要がある。 このような仕組みを開発者が作り込 むのは煩雑な作業であり,標準化され サービス 要求者 ることでミドルウェアレベルでの対応が 仲介者 サービス 提供者 End to End のセキュリティ 望まれている。HTTP や SOAP を拡張 することで,XML Web サービスの通 信に信頼性を持たせる HTTPR などの 仕様化がなされている。 XML Web サービスの技術動向 図3.End to End のセキュリティ− Point to Point がネットワーク端点間のセキュリティを保障 するのに対し,End to End はデータ活用時のセキュリティを保障する。 End-to-end security 5 特 集 Point to Point の通信レベルではな また,これらを拡張して SOAP に適用 (11) く,メッセージレベルでのセキュリティ した WS-Security 技術を適用することで,End to End の 参照)。 がある (囲み記事 このほか,サービス利用者の認証方 End to End のセキュリティ技術の一 法の標準化,PKI( Public Key Infra- つとして,電子署名,部分暗号化があ structure)の利用,メッセージの送信 る。電子署名は,データの完全性,送 保証などがセキュリティ拡張として取り 信者の非否認性のために用いられる。 組まれている。 データの特定の部分が署名者によって 標準化への対応 介してデータを送信し,データの最終 的な利用者のみに閲覧を許したいとき に,部分暗号化が必要になる。 (9) する標準化として XML Signature , XML メッセージの部分暗号化の標準 (10) 化として XML Encription 現在策定中の標準化動向について まとめた。企業間のビジネスをつなぐ XML メッセージに電子署名を付与 がある。 XML Web サービスは,IT ベンダーの みでなく,あらゆる企業にとって無視で きない技術であり,その標準化動向に 注視すべきである。また,ここで取り上 WS-Security と包括的セキュリティフレームワーク WS-Security は,Microsoft 社,IBM 社, XML Web サービスが使えないという ことではなく,まずできることから実践 セキュリティを確保することができる。 作成されたことを保証する。仲介者を げたすべての標準化が定まらなければ WS-Policy は,セキュリティポリシーの していくことが重要である。 文献 SOAP Version 1.2. <http://www.w3.org/TR/ soap12-part0>,(参照 2002-11-22). Web Services Description Language (WSDL) 1.1. <http://www.w3c.org/TR/wsdl>,(参照 2002-11-22). UDDI Version 3. <http://www.oasisopen.org/committees/uddi-spec/>,(参照 200211-22). Business Process Execution Language for Web Services (BPEL4WS) Version 1.0. <http://www106.ibm.com/developerworks/webservices/ library/ws-bpel/>,(参照 2002-11-22). OWL Web Ontology Language 1.0 Reference. <http://www.w3.org/TR/owl-ref/>,(参照 200211-22). DAML-S 0.7 Draft Release. <http://www. daml.org/services/daml-s/0.7/>,(参照 2002-1122). Business Transaction Protocol Version 1.0. <http://www.oasis-open.org/committees/ business-transactions/>,(参照 2002-11-22). Web Services Transaction (WS-Transaction). <http://www-106.ibm.com/developerworks/ webservices/library/ws-transpec/>,(参照 200211-22). XML-Signature Syntax and Processing. VeriSign 社が 2002 年 4 月に発表した仕様 権限,制約の表現方法を定義する。 で,現在 OASIS(Organization for Advanced WS-Trust は,XML Web サービス間 Structured Information Standards)にて標 の直接/仲介による信頼関係確立モデ 準化が進められている。WS-Security は, ルを定義する。 XML Web サービス利用者を識別するため WS-Privacy は上記の二つと組み合わ のセキュリティトークン,SOAP メッセージ せて,XML Web サービスにおけるプ に署名を付与する方法,部分暗号を含む ライバシー情報の扱いを示し,それに Web Servies Security (WS-Security). <http:// SOAP メッセージの暗号化について規定す 準拠していることを保証する。 www.oasis-open.org/committees/wss/>,(参照 2002-11-22). る。署名に関しては XML Signature 標準を, WS-SecureConversation は,サービス 暗号化に関しては XML Encryption 標準をそ 提供者と利用者それぞれを管理し,認 れぞれ利用している。WS-Security は,更に 証する方法と,セキュリティコンテキス 包括的セキュリティフレームワークの中の基 トを交換する方法を定義する。 盤となる仕様という位置づけで,下図はその WS-Federation は異なる認証ドメイン フレームワークの構成を示す。現在 OASIS 間で信頼関係を管理し,仲介する方法 内に設立された WS-Security TC(Technical を定義する。 Committee)にて,このフレームワークに沿 WS-Authorization は,認証ポリシーを って仕様の策定が進められている。 管理する方法を定義する。 WS-SecureConversation WS-Federation WS-Authorization WS-Policy WS-Trust WS-Privacy WS-Security <http://www.w3.org/TR/xmldsig-core/>,(参照 2002-11-22). XML Encription Syntax and Processing. <http://www.w3.org/TR/xmlenc-core/>,(参照 2002-11-22). 山田 正隆 YAMADA Masataka e-ソリューション社 SI 技術開発センター SI 技術 担当。Web サービスのシステム開発に従事。 Systems Integration Technology Center 陸 振宏 LU Zhenhong SOAP基盤 WS-Security と包括的セキュリティフレームワークの構成 6 e-ソリューション社 SI 技術開発センター SI 技術 担当。Web サービスのシステム開発に従事。 Systems Integration Technology Center 東芝レビュー Vol.5 8No.2(2003)