...

SOAP

by user

on
Category: Documents
20

views

Report

Comments

Description

Transcript

SOAP
ACM SIGMOD日本支部
ネットワークトランザクション技術専門委員会(TCNT)
Webサービス関連技術のご紹介
湯原雅信
[email protected]
富士通研究所
2002年7月12日
1
【1】Webサービスの概要
【1】Webサービスの概要
【2】SOAP
【3】WSDL
【4】UDDI
【5】Webサービスとeビジネス
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
2
Webサービス(Web Services)とは?
• 広義
– インターネット上のサービス(従来のWebページ
も含む)
– あるいは,XMLを使ったインターネット上の
サービス
• 狭義(
本日の定義)
– SOAPを使ったサービス
– SOAP/WSDL/UDDIを使ったサービス
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
3
Webサービスの意義
(1)ビジネス的意義
(2)
部品化技術的意義
(3)
通信技術的意義
(4)
知識技術的意義
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
4
(1)ビジネス的意義
• 自社のコアコンピタンスを生かすため,バ
リューチェイン(ビジネスコラボレーション)を
ダイナミックに構築
– 自社の機能をインターネット上で他社に提供
(販売チャネルの拡大)
– インターネット上の他社の機能を利用
(アウトソーシング)
例:知らない海外の会社と即座にビジネス
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
5
(2)部品化技術的意義
• ソフトウェアの機能をサービスという観点で部品
化(コンポーネント化)
– インターネット上に分散する部品を組合わせること
で,高度な機能を簡単に実現しようという考え方
– サービス部品を動的に,かつ,自動的に組合わせ
る世界の実現を目指している
– プラットフォーム(OS,ハード)非依存,プログラミング
言語非依存,通信プロトコル非依存
– WWW(HTML)は,人間用で機械向きではない
– CORBAやDCOMはインターネットで広がっていな
い(ファイアウォール問題,難しい)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
6
(3)通信技術的意義
• 通信の標準レイヤが上がってきている(どこ
が統一されているか)
– Ethernet(MAC) à TCP/IP à HTTP à XML
• バイナリ通信からテキスト通信へ
– 開発者,開発ツールの裾野の広がり(1桁∼2
桁?違う)
• 人間(
ブラウザ)用から機械用に
– HTML à XML
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
7
(4)知識技術的意義
• メタ情報を利用した知識処理への道が開け
る
– データに関するメタ情報: 例:XML Schema
– サービスに関するメタ情報:例:WSDL
– データ間,サービス間の意味的な関係付けのた
めの最低限の基盤が整った
– Semantic Webは,AI的発想からアプローチ
(Semantic Net のインターネット版,RDF
Schema).Webサービスは,実世界からのアプ
ローチ.
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
8
Webサービス関連技術の歴史
インターネット
ARPANET TCP
(1969)
(1974)
IETF結成
(1986)
WWW MOSAIC IE
(1991) (1993) (1995)
iMode
(1999)
商用ISP
(1990頃)
構造化
ドキュメント
分散オブジェクト
B2B
SGML
(1986)
HTML
(1989)
OMG結成
(1989)
XML
(1998)
CORBA COM(OLE2)
(1991) (1993)
EDI
(1975)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
DCOM
(1997?)
Rosettanet結成
(1998)
XHTML
(2000)
SOAP
(1999)
ebXML結成
(1999)
9
Webサービスの基本仕様
• XML (eXtensible Markup Language)
– 構造化された情報のテキスト表現形式
• SOAP (Simple Object Access Protocol)
– メッセージの形式 (Webサービスは,SOAPメッ
セージをやりとりする.XMLの一種)
• WSDL (Web Service Definition Language)
– サービスの形式的記述(XMLの一種)
• UDDI (Universal Description, Discovery and Integration)
– 企業等のビジネス(サービスの集合)の記述
(XMLの一種).UDDIサーバに登録する(電
話帳に相当)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
10
Webサービス関連の仕様
ワークフロー/プロセス記述
WSFL(IBM), XLANG(MS), WSCL(W3C), Wf-XML(WfMC), BTP(OASIS)
ビジネス関連(RosettaNet, OASIS,
UN/CEFACT)
コンシューマ関連
GRID関連
.NET My Services,
.NET Passport,
Liberty Alliance
RosettaNet, ebXML,
その他業界標準
OGSA
WS-I
Web Services関連(W3C, MS/IBM, uddi.org, OASIS)
SOAP, SOAP with Attachment, WSDL, UDDI,
WS-Routing, WS-Referral, WS-Security, WS-Inspection,
WSRP, WSIA
XML関連(主にW3C)
XML, namespaces in XML, XML Schema, Xpath, XPointer, XLink,
XML Signature, XML Encryption, Canonical XML, DOM, XSLT,
SAX, HTML, XHTML, voiceXML, CC/PP, RDF, SAML, XACML
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
11
Webサービスの実例(1)
• Microsoft (.NET)
– .NET My Services (一般消費者向けサービス)
• トライアルいろいろ(eBay, Amex, Groove, Accenture, イースト,
JTB, JR東日本,ニッセン,NTT東日本情報システム)
– OPW(Online Printing Wizard)
• WinXP標準搭載.MSN+富士写真フィルムなどでSOAP利用
– その他
• ebXML実証デモ(2000.11.10;
富士通も参加)
• Terrarium (エコシステムのゲーム)
• IBM (Web Sphere他)
– DB2のWebサービス対応
• UPnP (Universal Plug and Play)
– SOAPを利用. ルータ,WinXPですでに利用されている
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
12
Webサービスの実例(2)
• 富士通(Interstage,NetCOBOL for .NET,他)
– MS .NETとの接続に成功(2001.01.29)
– B-Front
• 従業員向けポータルサイトの構築/運営サービス
• ポータルとサービス提供企業の間の連携(の1つ)としてSOAP
を採用
– 企業間電子商取引(ebXML)の相互接続実験(2001.05
など)
– ファンクラブサービス
• NTT情報通信プラットフォーム研究所と共同実験
• ファンクラブホームページと,バックの個々のサービスの間を
Webサービスで結ぶ
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
13
Webサービスの実例(3)
• Google
– Google Web APIs:検索をWebサービス化してトライ
アル提供中(1人1日1000回まで)
• 日本IBM(WebSphere)系
– 日立ソフトのB2CのECサイト「@Buy24」
• ユーザとECサイトの間をSOAPで.
– KDDIの決済Webサービスである「PayCounter」
• イースト社(www.est.co.jp)
– MS, JTBとビジネストラベルシステムのパイロット版
– 凸版などと書籍検索(Books.or.jp)
Webサービスの本格的な運用は今後
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
14
【2】SOAP
【1】Webサービスの概要
【2】SOAP
【3】WSDL
【4】UDDI
【5】Webサービスとeビジネス
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
15
SOAPとは?
• Simple Object Access Protocol
• XMLを基本としたメッセージ交換プロトコル
• プラットフォーム非依存,プログラミング言語
非依存,通信プロトコル非依存
• シンプルがモットー
– 複雑なことはあとから決める
• RPC (
SOAP-RPC)
だけでなく,一方向のメッ
セージもあり
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
16
SOAPが規定すること
• SOAPの処理モデル
– 中継点(Intermediary)を含めたSOAP Nodeでの動作
– ヘッダでのMustUnderstand属性の扱い
• SOAPのメッセージの構造
– Envelope/Header/Body や,SOAP Fault
• Encoding
– もともとXMLでないデータを,モデル化し,XMLで表現
する方法
• プロトコルへのバインディングの枠組みと具体的な
バインディング規則
– SOAP over HTTP (HTTP binding)のみ具体的に規定さ
れている
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
17
SOAPが規定しないこと
• SOAP Header の具体的な形式
– To/From/Via,認証情報,暗号化情報,セッショ
ン情報など
⇒ それぞれ別の規格で定義
(別のnamespaceになる)
• SOAP Body の具体的な形式
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
18
メッセージ交換パターン
SOAP
メッセージ
SOAP
メッセージ
一般のSOAP
Intermediary
Initial Sender
Ultimate Receiver
要求
SOAP RPC
応答
いろいろなMessage Exchange Patternがある.RPCはその1つ.
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
19
SOAPメッセージの構造
SOAP 1.1の場合
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=http://schemas.xmlsoap.org/soap/envelope/>
<SOAP-ENV:Header>
<…>(Header Block)</…>
<…>(Header Block)</…>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<…>(Body Child)</…>
<…>(Body Child)</…>
属性として,
actor(V1.1)/role(V1.2)
mustUnderstand
が規定されている
グローバル属性として,
encodingStyle
が規定されている
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
20
SOAPの長所・短所
• 長所
– インターネット(疎結合),XMLと相性がよい
– 拡張性が非常に高い
– プラットフォーム,言語,プロトコルに非依存
• 短所
– 性能が悪い
• CORBAなどと比べて,XMLを経由する分遅い
– メッセージサイズが大きい
• テキストかつXMLであるため大きくなりがち
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
21
SOAP仕様の経過
•
•
•
•
V0.9 Draft (1999.09)
V1.0 Draft (1999.12.10)
V1.1 W3C Note (2000.05.08) ← 現在のメイン
V1.2 W3C Last Call Working Draft (2000.06.27)
• 関連ドキュメント
– SOAP Messages with Attachments (W3C Note,
2000.12.11)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
22
【3】WSDL
【1】Webサービスの概要
【2】SOAP
【3】WSDL
【4】UDDI
【5】Webサービスとeビジネス
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
23
WSDLとは?
• Web Services Description Language
• サービスの仕様を記述するためのXML
フォーマット
– プロトコル非依存(SOAPに限らない)
– データスキーマ言語非依存(XML Schemaに限
らない)
– データバインディング非依存(SOAP bindingに
限らない)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
24
WSDLの要素
抽象的記述
<PortType>
<type>
msg
<input>
msg
データモデル
<operation>
<output>,<fault>
<operation>
<PortType>
<operation>
具体的データ表現方法
(バインディング)
具体的記述
<Port>
<service>
URL=
<input>
<operation>
<output>,<fault>
<operation>
<Port>
URL=
<operation>
バインディング先の例:
SOAP,
HTTP GET/POST,
MIME
WSDLドキュメントの構造
<wsdl:definitions name=“..” targetNamespace=“..”
xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/>
抽象的
定義
<wsdl:import namespace=“..” localion=“..”/>
0∼N
<wsdl:types>
</…>
0∼1
<wsdl:message name=“..”> メッセージ型定義 </…>
0∼N
<wsdl:portType name=“..”> 抽象I/F定義
0∼N
データ型定義
operation, input, output, fault
具体的
定義
</…>
メッセージフォーマットや転送プロト
コルを具体的に指定
<wsdl:binding name=“..” type=“…”>
</…>
0∼N
<wsdl:service name=“..” >
</…>
0∼N
</wsdl:definitions>
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
port(エンドポイント,URL)の集合
26
4つのタイプの operation
request-response
one-way
<input>
<input>
<output>
サービス提供者
notification
サービス提供者
solicit-response
<output>
<output>
サービス提供者
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
<input>
サービス提供者
27
WSDL仕様の経過
• WIDL(WebMethods), NASSL(IBM), SDL(MS),
SCL(MS)などがもと
• V1.0 W3C Note (2000.11)
• V1.1 W3C Note (2001.03.15) ←現在はこれを利用
• V1.2 W3C WGで検討中 (2002.07.09に最初の
public draft公開)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
28
【4】UDDI
【1】Webサービスの概要
【2】SOAP
【3】WSDL
【4】UDDI
【5】Webサービスとeビジネス
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
29
UDDI
• Universal Description, Discovery, and
Integration
• Microsoft, IBM, Ariba が半年で設計(V1
2000.09)
• APIもXML形式のメッセージで規定(SOAP)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
30
UDDIの利用形態
UDDI
Registry
(1)登録
(2)検索
(3)利用
サービス利用者
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
サービス提供者
31
パブリックUDDI
どのUDDIレジストリノードを使っても同じ結果が得られる
登録
HP
IBM
相互に
同期
MS
検索
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
NTT
Com
SAP
32
White/Yellow/Greenページ
White Pages
企業情報
企業名,テキストでの説明,連絡先(電話番号,
Webサイト等),企業のカテゴリ
<businessEntity>
1
N
Yellow Pages
サービス分類
ビジネスサービスのカテゴリ(産業:NAICS,製品・
サービス:UN/SPSC,位置
<businessService>
1
N
Green Pages
バインド情報
<bindingTemplate>
Service Type
サービス技術仕様
<tModel>
ECを行うためのビジネス情報.実際のサービスにバイ
ンド.
ネストしたモデル(ビジネスプロセス,サービス表記,
バインディング情報),プラットフォーム・実装非依存
サービスタイプを示すネームスペースをポイント
サービス提供者のID
サービスタイプ登録のID(tModelKey)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
33
UDDIの登録情報
<businessEntity>
<businessService>
<bindingTemplate>
<tModel
Instance
Info>
<bindingTemplate>
<tModel
Instance
Info>
<businessService>
<bindingTemplate>
<tModel
Instance
Info>
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
<bindingTemplate>
<tModel
Instance
Info>
34
UDDIへのアクセス
• SOAPインターフェイス
– Inquiry 系
• find_business, find_service, find_binding, find-tModel, など
• get_businessDetail, get_businessDetailExt, get_serviceDetail,
get_bindingDetail, get_tModelDetail
– Publishing 系
• save_business他,delete_business他,など
• Webブラウザ向けインターフェイス
– http://www.uddi.org/ の”Find”からたどれる
• V1は,IBM, MS
• V2(beta)は,HP, IBM, MS, SAP
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
35
UDDI登録情報の例
• 例:UDDIレジストリのSOAPサービス自体に
関する UDDI登録情報
– ビジネス名:Microsoft
– サービス名:UDDI Web Services
• ブラウザからアクセスして得た情報を示す
http://uddi.microsoft.com/Details/ServiceDetail.aspx?s
erviceID=33c3d124-e967-4ab1-8f51-d93d95fac91a
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
36
UDDI登録情報の例(続き)
• Business detail:
Microsoft Corporation - 0076B468-EB27-42E5AC09-9955CFF462A3
Empowering people through great software - any time, any place and
on any device is Microsofts vision. As the worldwide leader in
software for personal and business computing, we strive to produce
innovative products and services that meet our customer's
Contacts: Microsoft本社のコンタクト情報(住所,電話),など
Services: UDDI Web Sites, UDDI Web Services, Home Page,
Online Shopping, Microsoft Developper Network, Technet,
Volume Licensing Select Program, Electronic Business
Integration Services, Web services for smart searching
(多くは Webページをさしているだけ)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
37
UDDI登録情報の例(続き)
• Service detail: UDDI Web Services -
33C3D124-
E967-4AB1-8F51-D93D95FAC91A
UDDI SOAP/XML message-based programmatic web service interfaces.
• Bindings: (Production/Test×Publish/Inquireの4
つ.そのうち1つを示す)
Access pointURL: http://uddi.microsoft.com/inquire
type:http
Description: Production UDDI server, Inquiry interface
Binding Key: ED223839-4A96-482C-86BF-FED8AE6427E4
Instance details:
Specification signature:
tModel: uddi-org:inquiry (uddi.orgによる定義を参照)
Description: UDDI SOAP Inquiry Interface
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
38
UDDI登録情報の例(続き)
• tModel detail: uddi-org:inquiry -
UUID:4CD7E4BC-648B-426D-9936-443EAAC8AE23
UDDI Inquiry API - Core Specification
Overview URL:
http://www.uddi.org/wsdl/inquire_v1.wsdl
次ページ
Description: This tModel defines the inquiry API calls for
interacting with the UDDI registry.
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
39
UDDI登録情報の例(続き)
• WSDL (tModelの参照先)
データ型定義:
http://www.uddi.org/schema/2001/uddi_v1.xsd
をインポート
メッセージ定義:
find_business, find_service, find_binding, find_tModel ,
businessList, serviceList, bindingList, tModelList,
… など
ポート型定義:
InquireSoap
operation: find_business (input: find_business,
output: businessList),
find_service(…), ….
binding定義:
SOAP over HTTP へのバインディング
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
40
UDDI仕様の経過と現状
• V1⇒V2⇒V3
V1: 仕様 2000.9 ,現在運用中
V2:仕様 2001.6.18,beta運用開始 2001.11.19
V3:ドラフト公開 2002.07.03
• 仕様は当面V3で固定の方向
• パブリックUDDI
– 現在は有用な登録情報が少ない(鶏と卵)
• 実際にWebサービスを運用している企業はまだ少な
い(テストやWebページ参照のみが多い)
• 動的にサービスを探す必要/価値がまだ(?)
ない
• 与信機関などの環境が整っていない
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
41
UDDI仕様の経過と現状(続き)
• プライベートUDDI
– 企業内で,他社(や社内)のサービス情報のリ
ポジトリとして利用
– パブリックUDDIより,先に広がりそう
– 標準のUDDIだけでは不足している情報を付加
• 自社のみに意味があったり,公開できない情報(各
社の評価,取引の優先順位など)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
42
【5】Webサービスとeビジネス
【1】Webサービスの概要
【2】SOAP
【3】WSDL
【4】UDDI
【5】Webサービスとeビジネス
• RosettaNet
• ebXML
• BTP
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
43
eビジネスでのWebサービス利用
• SOAP/WSDL/UDDIなどWebサービスの仕様だけ
では,ビジネスを行うには不十分
• ビジネスコラボレーションについては,古くEDIで検
討されてきていて,そのレベルの仕様が必要
– 1対1で closed なEDIから,open ediへの流れがあった
– DELL のSCMに刺激を受けたRosettaNet(IT/PC業界,
電子部品業界,半導体業界)
– より一般的な ebXMLへの流れ
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
44
ビジネスに必要なもの
• ボキャブラリ(用語)やビジネスプロセスの部品
• ビジネスプロセス(手順)の記述方法
• ボキャブラリやプロセス記述を登録するリポジトリ
/レジストリ
• 契約/合意の記述
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
45
ビジネスコラボレーション
RosettaNet
V1.1, V2.0
RosettaNet
V3.0(検討開始)
xx
xx
業界
業界
仕様
仕様
PC
xx
PC
xx
業界 業界
業界
業界
仕様 仕様
仕様
仕様
PIPs
PIPs
RosettaNet
Dictionaries
Dictionaries
xx
xx
業界
業界
仕様
仕様
ebXML
純SOAP
(.NET流)
自動車
自動車
JEITA Rosetta
業界 JEITA Rosetta
業界
仕様 仕様
仕様
仕様
仕様
仕様
BPSS
BPSS
CC
CC
UN/CEFACT
OASIS
CPP/CPA
CPP/CPA
ebXMLMessaging
Messaging
ebXML
RNIF
RNIF
Registry/
Repository
W3C
UDDI
SOAP
SOAP
IETF等
HTTP等
等
HTTP
RosettaNet
• 情報機器(IT)業界,電子部品(EC)業界,半導体製
造(SM)業界,およびソリューション提供(SP)業界
のコンソーシアム
• Dellのサプライチェーンに対抗
• 規格
PIPs(Partner Interface Processes):取引企業間のビジネ
ス・プロセス
Dictionaries: 共通の用語定義 (Business Directory,
Technical Directories)
RNIF(RosettaNet Implementation Framework):PIPのメッ
セージやシグナルのpackaging, routing, transport
現在はWebサービス準拠ではないが,3.0ではSOAP準
拠の ebXMLに準拠すると宣言している
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
47
当社でのRosettaNet適用例
http://xml.fujitsu.com/jp/standard/10_jisso.pdf より
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
48
RosettaNet の PIPs
• PIP 3A4 のような指定の仕方
クラスタ(
0∼8)
3は発注管理
セグメント
3Aは見積もりと発注
– 3A4は,Request Purchase Order
• 現在公開されているものが 87個位あり,さ
らに検討中のものがある
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
49
RosettaNet PIP の例(3A4)
Table 3-1: Partner Role Descriptions
Role
Name
Role Description
Role Type
Buyer
An employee or organization that buys
products for a partner type in the supply chain.
Functional
Seller
An organization that sells products to partners
in the supply chain.
Organizational
Table 3-4: PIP Business Documents
Business Document
Description
Purchase Order
Request
A request to accept a purchase order for fulfillment.
Purchase Order
Confirmation
Formally confirms the status of line item(s) in a
Purchase Order. A Purchase Order line item may
have one of the following states: accepted, rejected,
or pending.
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
50
3A4のメッセージ交換
:Buyer Service
:Seller Service
transaction(exactly once)
発注伝票
(要求)
受注伝票
受信確認
1. request (PurchaseOrderRequestAction)
1.1 signal (ReceiptAcknowledgment)
発注伝票
受信確認
1.2 response (PurchaseOrderConfirmationAction)
受注伝票
(応答)
1.2.1 signal (ReceiptAcknowledgment)
transaction(exactly once)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
51
3A4のメッセージ交換制御
Table 4-3: Message Exchange Controls - Request Purchase Order
#
Time to
Acknowl
edge
Receipt
Signal
Time
to
Ackno
wledg
e
Accept
ance
Signal
2 hrs
Time to
Respond
to
Action
Include
d in
Time to
Perfor
m
Is
Author
ization
Requir
ed?
Is
NonRepudi
ation
Requir
ed?
Is
Secure
Transp
ort
Requir
ed?
N/A
24 hrs
Y
Y
Y
Y
N/A
N/A
N/A
Y
Y
Y
Y
2 hrs
N/A
N/A
Y
Y
Y
Y
N/A
N/A
N/A
N
Y
Y
Y
Name
1.
Purchase Order
Request Action
1.1.
Receipt
Acknowledgment
1.2.
Purchase Order
Confirmation Action
1.2.1.
Receipt
Acknowledgment
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
52
RosettaNetのプロトコルスタック
添付以外はXML
(スキーマ記述はDTD)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
53
ebXML
• e-ビジネスの情報を利用するための,相互運用可
能で安全で一貫性が保たれた,XMLベースの
オープンなインフラを提供する
• OASIS(下位,XMLの流れ)とUN/CEFACT(上位,
EDIの流れ)で標準化
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
54
[ebXML] ebXMLによるビジネス
ebXML
ebXML
Business
Business
Process
Process
Specification
Specification
Context For
Reference To
Business
Business
Document
Document
Specification
Specification
伝票のやりとり方法
Built With
伝票の形式
登録
ebXML
ebXML
Core
Core
Components
Components
用語,構造部品
登録
登録
Registry/
Repository
A社のビジネス
Collaboration
Collaboration
Protocol
Protocol
Profile
Profile
一方の
PartnerRole
を実装
Business
Service
Interface
B社のビジネス
合意
Collaboration
Collaboration
Protocol
Protocol
Agreement
Agreement
通信
Collaboration
Collaboration
Protocol
Protocol
Profile
Profile
Business
Service
Interface
他方の
PartnerRole
を実装
[ebXML] ebXMLでのSOAP利用
通信プロトコル envelope (HTTP等)
SOAP with Attachements MIME envelope
MIME Part
SOAP-ENV:Envelope
SOAP-ENV:Header
eb:MessageHeader
eb:Error
eb:なんとか
他:なんとか
SOAP-ENV:Body
eb:Manifest
eb:なんとか
他:なんとか
MIME Part(s)
ペイロード
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
56
[ebXML] Reliable Messaging
Once-and-only-once (Exactly-once, all-or-nothing)の実現
Party A
MSH
Party B
MSH
Message
Acknowledgement
ebXMLメッセージ
レベルの再送
ebXMLメッセージ
レベルのAck
Message
Message
重複のため廃棄
ただし,Ack再送
Acknowledgement
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
MSH: Message Service Handler
57
(続き)
• Reliable Messagingのパラメータ
(多くはCPAで指定)
n <DuplicateElimination> 重複チェック要請
n <AckRequested> 確認要請
n <Retries>
最大再送回数
n <RetryInterval> 最小再送間隔
n <TimeToLive>
有効期限
n <PersistDuration> 最低保管期限
n <syncReplyMode> 同期応答要請
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
58
(続き)
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
59
ビジネスプロセスとトランザクション
• 管理ドメインが複数で,疎に分散し,それぞれが自
律している
– 相手の会社のシステムに口出しできない(自社のマシン
がクラッシュしたからといって,他社のシステムを停止し
てリカバリ処理を行うことなどできない)
– 相手が意図したように動作してくれるとは限らない(相手
が自分の資源をロックしたまま何もしてくれないかもしれ
ない)
– 相手が信用できない(言った言わない問題)
– 期間の長いビジネスプロセスがある
ビジネスプロセス全体を,ACIDトランザクションとするのは
不適切,ACID性だけでは不十分
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
60
予約の例
• デフォルトキャンセル型予約システム
– 予約後一定時間内に確認(confirm,例:支払
い)をしないと自動的にキャンセル
• 例: チケット電話予約で予約番号ゲット
– 予約金(手付金)が必要な場合あり
• デフォルト契約型予約システム
– 予約後なにもしなければ自動的に契約成立
• 例: ホテルの予約(3日前までキャンセル無料)
– 違約金が必要な場合あり
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
61
時間感覚の問題
ロング
トランザクション
人間社会のタイムフレーム
社会的動作が必要
• ロックでなく,予約
• ロールバックというより,逆操作
(compensation)
• ビジネスプロセスとして,
時間条件や金銭条件も含めて契約
• 特に,予約や契約違反には金銭が関係
ショート
トランザクション
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
機械のタイムフレーム
機械的動作(ロック/ACID)でOK
62
BTP
• Business Transaction Protocol (OASIS)
– 2002.05.16に,TCが approve
– v1.0 の仕様書 (2002.06.03)
• 複数の自律組織の管理する参加者の間で,ビジ
ネスプロセスを調停する
• Two-Phase Outcome coordination protocol
I
.Provisional Effect (Prepare)
I
I
.Final Effect (Confirm) / Counter Effect (Cancel)
• Webサービスに限定していないが,SOAPバイン
ディングが示されている
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
63
[BTP] Two-Phase Outcome
いくつかの例(参加者が状態をどのように管理するかは規定しない)
Provisional
Effect
(Prepare)
Final
Effect
(Confirm)
Counter
Effect
(Cancel)
変更を記憶,実行
はせず
変更を実行
記憶した変
更を削除,
実行はせず
変更を行い,結果
を公開.変更の
undo 情報を記憶
undo情報を undo動作を compensation
方式の1例
削除
行う
コメント
もとの状態を記憶. アクセスを許 もとの状態 典型的なデー
外部のアクセスを 可
に戻す.アク タベース方式
禁止,変更を実行
セスを許可
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
64
[BTP] Superior : Inferior 関係
• 2者間の関係が基礎
– Superior : Inferior の関係
initiating
application
element
BTP
Superior
service
アプリケーション
application
メッセージ
element
BTPメッセージ
BTP
Inferior
PREPARE
PREPARED
CONFIRM
CANCEL
CONFIRMED
CANCELED
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
65
[BTP] Business Transaction Tree
A
Superior
Superior
Inferior
Inferior
C
Inferior
Inferior
B
Superior
Superior
E
F
Superior
Inferior
D
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
66
[BTP] Atom とCohesion
• Atom (Atom Business Transaction)
– 全ての Inferior を Cancel,または全ての
Inferior を Confirm のどちらか
• そのような Superior を,Atom Coordinator(トップ)ま
たは,Sub-coordinator(中間)と言う
• Cohesion (Cohesive Business Transaction)
– どの Inferior を Cancelし,どの Inferior を
Confirm するかは,Superior に結びついたアプ
リケーションが決定する
• そのような Superior を,Cohesive Composer(トップ)
または Sub-composer(中間)と言う
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
67
[BTP] 自律的判断の許容
• Autonomous Cancel, Autonomous Confirm
– Inferior は,"prepared"の状態を保持する有効
期限を示すことができる
– その期限後は,勝手に(自律的に)Cancel また
は Confirm 相当の処理をして,CANCELED ま
たは CONFIRMED メッセージを送ってよい
– Superior の outcome(判断)と,Inferior の判断
が異なった場合には,Superior から
CONTRADICTION メッセージが送られる.ど
のように処置するかは Superior 次第
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
68
[BTP] コメント
• 2者間の Superior : Inferior を基盤としているのは,
互いに自律したシステム(例:他社)を扱うため.
• Superior が,対応する Inferiors との関係において
トランザクション処理モニタ的役割を果たす.
• 階層化しているところは,Nested Transaction の考
え方.Superior が,別の関係では Inferior の役割
となり得るため,全体を集中管理しているわけで
はない.階層に合わせて分散管理している.
• prepared に有効期限を設け,Inferior が自律的に
判断することを許している
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
69
おしまい
Copyright © 2002 FUJITSU LIMITED.All rights reserved.
70
Fly UP