...

XML Web サービスの技術動向

by user

on
Category: Documents
6

views

Report

Comments

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)
Fly UP