ACM SIGMOD TCNT Web yuhara@jp.fujitsu.com 2002 7 12 1
Web Web SOAP WSDL UDDI Web e 2
Web (Web Services) Web XML SOAP SOAP/WSDL/UDDI 3
Web 4
5
(OS, ) WWW(HTML) CORBA DCOM 6
Ethernet(MAC) TCP/IP HTTP XML HTML XML 7
XML Schema WSDL Semantic Web AI Semantic Net RDF SchemaWeb 8
Web ARPANET (1969) TCP (1974) IETFWWW (1986) (1991) MOSAIC (1993) IE (1995) imode (1999) ISP (1990 ) SGML (1986) HTML (1989) XML (1998) XHTML (2000) OMGCORBA (1989) (1991) COM(OLE2) (1993) DCOM (1997?) SOAP (1999) B2B EDI (1975) RosettanetebXML (1998) (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 10
Web WSFL(IBM), XLANG(MS), WSCL(W3C), Wf-XML(WfMC), BTP(OASIS) RosettaNet, OASIS, UN/CEFACT RosettaNet, ebxml, WS-I.NET My Services,.NET Passport, Liberty Alliance GRID OGSA Web ServicesW3C, 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 11
Web 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 12
Web Interstage NetCOBOL for.net MS.NET (2001.01.29) B-Front / SOAP (ebxml) (2001.05 ) NTT Web 13
Web Google Google Web APIs Web 1000 IBM WebSphere B2C EC @Buy24 EC SOAP KDDI Web PayCounter (www.est.co.jp) MS, JTB Books.or.jp Web 14
SOAP Web SOAP WSDL UDDI Web e 15
SOAP Simple Object Access Protocol XML RPC SOAP-RPC 16
SOAP SOAP Intermediary SOAP Node MustUnderstand SOAP Envelope/Header/Body SOAP Fault Encoding XML XML SOAP over HTTP HTTP binding 17
SOAP SOAP Header To/From/Via namespace SOAP Body 18
SOAP SOAP SOAP Initial Sender Intermediary Ultimate Receiver SOAP RPC Message Exchange Pattern RPC 19
SOAP <SOAP-ENV:Envelope xmlns:soap-env=http://schemas.xmlsoap.org/soap/envelope/> <SOAP-ENV:Header> SOAP 1.1 < >(Header Block)</ > < >(Header Block)</ > </SOAP-ENV:Header> actor(v1.1)/role(v1.2) mustunderstand <SOAP-ENV:Body> < >(Body Child)</ > < >(Body Child)</ > encodingstyle </SOAP-ENV:Body> </SOAP-ENV:Envelope> 20
SOAP XML CORBAXML XML 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 22
WSDL Web SOAP WSDL UDDI Web e 23
WSDL Web Services Description Language XML SOAP XML Schema SOAP binding 24
WSDL msg msg <type> <PortType> <PortType> <input> <output>,<fault> <operation> <operation> <operation> <Port> URL= <service> <Port> URL= <input> <output>,<fault> <operation> <operation> <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> </ > <wsdl:message name=.. > </ > <wsdl:porttype name=.. > I/F </ > 0 1 0 N 0 N operation, input, output, fault <wsdl:binding name=.. type= > </ > 0 N <wsdl:service name=.. > </ > 0 N </wsdl:definitions> port URL 26
operation one-way <input> request-response <input> <output> notification <output> solicit-response <output> <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 28
UDDI Web SOAP WSDL UDDI Web e 29
UDDI Universal Description, Discovery, and Integration Microsoft, IBM, Ariba (V1 2000.09) API XML (SOAP) 30
UDDI UDDI Registry (2) (1) (3) 31
UDDI UDDI IBM HP MS SAP NTT Com 32
White/Yellow/Green White Pages <businessentity> Yellow Pages <businessservice> Green Pages <bindingtemplate> Service Type <tmodel> 1 N 1 N Web NAICS UN/SPSC EC ID ID tmodelkey 33
UDDI <businessentity> <businessservice> <bindingtemplate> <tmodel Instance Info> <bindingtemplate> <tmodel Instance Info> <businessservice> <bindingtemplate> <tmodel Instance Info> <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 35
UDDI UDDI SOAP UDDI Microsoft UDDI Web Services http://uddi.microsoft.com/details/servicedetail.aspx?s erviceid=33c3d124-e967-4ab1-8f51-d93d95fac91a 36
UDDI Business detail: Microsoft Corporation - 0076B468-EB27-42E5- AC09-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 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 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 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. 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 40
UDDI V1 V2 V3 V1: 2000.9 V2 2001.6.18 beta 2001.11.19 V3 2002.07.03 V3 UDDI Web Web 41
UDDI UDDI UDDI UDDI 42
Web e Web SOAP WSDL UDDI Web e RosettaNet ebxml BTP 43
e Web SOAP/WSDL/UDDI Web EDI 1 1 closed EDI open edi DELL SCM RosettaNet IT/PC ebxml 44
45
HTTP HTTP RosettaNet V1.1, V2.0 RNIF RNIF SOAP SOAP PIPs PIPs RosettaNet V3.0 ebxml SOAP (.NET ebxml Messaging ebxml Messaging CPP/CPA CPP/CPA BPSS BPSS JEITA JEITA Rosetta Rosetta CC CC UN/CEFACT OASIS W3C RosettaNet PC PC xx xx xx xx xx xx IETF UDDI Registry/ Repository Dictionaries Dictionaries
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 47
RosettaNet http://xml.fujitsu.com/jp/standard/10_jisso.pdf 48
RosettaNet PIPs PIP 3A4 0 8) 3 3A 3A4 Request Purchase Order 87 49
RosettaNet PIP (3A4) Table 3-1: Partner Role Descriptions Role Name Buyer Seller Role Description An employee or organization that buys products for a partner type in the supply chain. An organization that sells products to partners in the supply chain. Role Type Functional Organizational Table 3-4: PIP Business Documents Business Document Purchase Order Request Purchase Order Confirmation Description A request to accept a purchase order for fulfillment. 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. 50
3A4 :Buyer Service transaction(exactly once) :Seller Service 1. request (PurchaseOrderRequestAction) 1.1 signal (ReceiptAcknowledgment) 1.2 response (PurchaseOrderConfirmationAction) 1.2.1 signal (ReceiptAcknowledgment) transaction(exactly once) 51
3A4 Table 4 3: Message Exchange Controls - Request Purchase Order # Name Time to Acknowl edge Receipt Signal Time to Ackno wledg e Accept ance Signal Time to Respond to Action Include d in Time to Perfor m Is Author ization Requir ed? Is Non- Repudi ation Requir ed? Is Secure Transp ort Requir ed? 1. Purchase Order Request Action 2 hrs N/A 24 hrs Y Y Y Y 1.1. Receipt Acknowledgment N/A N/A N/A Y Y Y Y 1.2. Purchase Order Confirmation Action 2 hrs N/A N/A Y Y Y Y 1.2.1. Receipt Acknowledgment N/A N/A N/A N Y Y Y 52
RosettaNet XML DTD 53
ebxml e- XML OASIS XML UN/CEFACT EDI 54
[ebxml] ebxml ebxml Business Process Specification ebxml Business Process Specification Business Document Specification Business Document Specification ebxml Core Components ebxml Core Components Context For Reference To Built With Collaboration Protocol Profile Collaboration Protocol Profile Collaboration Protocol Profile Collaboration Protocol Profile Registry/ Repository PartnerRole Collaboration Protocol Agreement Collaboration Protocol Agreement PartnerRole Business Service Interface Business Service Interface A B
[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) 56
[ebxml] Reliable Messaging Once-and-only-once (Exactly-once, all-or-nothing) Party A MSH Message Party B MSH ebxml Message Acknowledgement ebxml Ack Message Acknowledgement Ack MSH: Message Service Handler 57
Reliable Messaging ( CPA <DuplicateElimination> <AckRequested> <Retries> <RetryInterval> <TimeToLive> <PersistDuration> <syncreplymode> 58
59
ACID ACID 60
confirm 61
compensation /ACID 62
BTP Business Transaction Protocol (OASIS) 2002.05.16 TC approve v1.0 2002.06.03 Two-Phase Outcome coordination protocol Provisional Effect (Prepare) Final Effect (Confirm) / Counter Effect (Cancel) Web SOAP 63
Provisional Effect (Prepare) [BTP] Two-Phase Outcome undo undo compensation undo Final Effect (Confirm) Counter Effect (Cancel) 64
[BTP] Superior : Inferior Superior : Inferior initiating application element service application element BTP Superior PREPARE CONFIRM CANCEL BTP BTP Inferior PREPARED CONFIRMED CANCELED 65
[BTP] Business Transaction Tree Superior Inferior B Superior A Superior Inferior Superior E Superior Inferior F Inferior C Inferior D 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 67
[BTP] Autonomous Cancel, Autonomous Confirm Inferior "prepared" Cancel Confirm CANCELED CONFIRMED Superior outcome Inferior Superior CONTRADICTION Superior 68
[BTP] Superior : Inferior Superior Inferiors Nested Transaction Superior Inferior prepared Inferior 69
70