1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow /...
-
Upload
roderick-norris -
Category
Documents
-
view
217 -
download
1
Transcript of 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow /...
![Page 1: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/1.jpg)
1
W3C Web Services Architecture: An Overview and Update
David Booth, Ph.D.W3C Fellow / Hewlett-Packard
OOP2004 Munich, Germany 22 January 2004
Slides: http://www.w3.org/2004/Talks/0122-munich-wsa-dbooth/ or: http://tinyurl.com/2bp55
![Page 2: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/2.jpg)
2
Speaker Info
• Fellow at W3C
• Sponsored by Hewlett-Packard / Software
• Working on W3C standards & technologies
• Web Services
• Semantic Web
• PhD in Computer Science from UCLA
• Many years of programming and OSs
![Page 3: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/3.jpg)
3
Outline• Web Services work at W3C
• W3C Web Services Architecture (WSA) Working Group (WG)
• Goals and challenges
• W3C Web Services Architecture
• Lessons learned
• Status of WS work at W3C
![Page 4: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/4.jpg)
4
AcknowledgementsThanks to:• Carine Bournez, W3C• Hugo Haas, W3C• Yves Lafon, W3C• Philippe Le Hégaret, W3C• C. M. Sperberg-McQueen, W3C
Special thanks to:• Michael Champion,
for allowing me to adapt many of his slides
![Page 5: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/5.jpg)
5
“Web Services” is Confusing!
•Bewildering number of specifications, some overlapping•Difficult to track and make sense of it all•Mixture of real standards, proto-standards, good ideas, marketing fluff•See also:http://www.w3.org/2003/03/ws-specs.html
SOAP WSDL
UDDI
BPEL
?WS-
Security
WS-Reliability
Etc. etc. etc.
![Page 6: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/6.jpg)
6
W3C• Consortium of nearly 400 member companies
• Mission: "Lead the Web to its full potential"
![Page 7: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/7.jpg)
7
W3C Standards WorkFour umbrella domains, many activities:
• Architecture– XML, Web Services, Internationalization, etc.
• Interaction– HTML, Graphics, Voice Browser, Device
Independence, etc.
• Technology & Society– Semantic Web, Privacy, Patent Policy, etc.
• Web Accessibility Initiative– See http://www.w3.org/WAI/
![Page 8: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/8.jpg)
8
W3C Work on Web Services – Foundations
XML Activity:
• XML, XML Schema, XML Query, XKMS
Technology and Society Domain:
• XML Encryption, Canonicalization, Digital Signatures, P3P
![Page 9: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/9.jpg)
9
W3C Work on Web Services – Web Services Activity
Web Services Activity:
• XML Protocol (SOAP 1.2)
• Web Services Architecture Working Group
• Web Services Description Working Group (WSDL 2.0)
• Web Services Choreography Working Group
• Semantic Web Services Interest Group – (NEW)
![Page 10: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/10.jpg)
10
W3C Web Services Architecture Working Group (WSA WG)
•Formed in Feb. 2002•Goals:
– Describe vendor-neutral architecture of Web services
• Consistent with existing Web architecture and Semantic Web
– Identify new W3C work needed
•Challenge:– Vendor architectures propose what should happen
– WSA tries to analyze what is happening.
![Page 11: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/11.jpg)
11
Not an Easy Task• It's hard to define exactly what some
common terms really mean– E.g., "Web service" or "asynchronous"!
• How can an industry-wide technical group achieve consensus on matters that their employers are hotly disputing in public?
![Page 12: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/12.jpg)
12
What Is a "Web Service"?(Informal, Street Definition)
Web service:
•Application intended for use by another (client) application
•By exchanging XML messages
•Via the Web or network
![Page 13: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/13.jpg)
13
What Is a "Web Service"?(WSA WG Definition)
•"A Web service is a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards." [Emphasis added]
![Page 14: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/14.jpg)
14
What is the Web Architecture?W3C Technical Architecture Group (TAG) document at http://www.w3.org/TR/webarch/
A networked information system involving "agents":
– Each URI identifies a “Resource”
– “Representations” of this resource may be retrieved (if available)
– Representations may use an open-ended set of formats such as HTML, XML, CSS, RDF Source: W3C TAG "Architecture of the
World Wide Web"
![Page 15: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/15.jpg)
15
The Web and Web Services
•WSA attempts to be based on Web architecture•But WSA is protocol-neutral
– WSA must support any “transport” protocol
•Diagram clarification: SOAP use is not always RESTful, but can be
Adapted from Noah Mendelsohn, "How Many Webs" http://www.w3.org/2003/Talks/techplen-ws/w3cplenaryhowmanywebs.htm
Web of URIs
Web of HTTP
RESTful Web
Web of widely deployed media types
SOAP
RESTful Web Services
HTTP tunneled
Otherprotocols
![Page 16: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/16.jpg)
16
The Great Debate over REST• Consumed much time and bandwidth, BUT
• Raised important architectural issues
Key questions:
• What is a RESTful WS?
• Should WSA support RESTful WS?
• Should WSA require WS to be RESTful?
![Page 17: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/17.jpg)
17
What is REST?• “REpresentational State Transfer”• Architectural style defined in
Ph. D. thesis by Roy Fielding, a key developer of HTTP, to explain the Web’s success
• Key Points:– "Stateless" (a misnomer): Message
meaning does not depend on the recipient's state
– "Uniform interface": Set of actions should be generic (e.g. HTTP verbs)
![Page 18: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/18.jpg)
18
Thoughts on REST Debate• REST perspective has been taken seriously:
– SOAP 1.2 supports HTTP and REST more fully than SOAP 1.1 did
– "Asynchronous Document exchange" approaches are getting mindshare at the expense of "RPC" approaches
– There is an increasing tendency to use Web URIs in specs when a universal identifier is needed
– State management much more explicitly discussed …
• But it has not prevailed overall in the WG
![Page 19: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/19.jpg)
19
Web Services and RESTWSA encompasses both RESTful and
non-RESTful styles:
• Web services can be RESTful, but
• Web services are not required to be RESTful
• Whether they should be remains in dispute
![Page 20: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/20.jpg)
20
Overview of the W3C Web Service Architecture
Service Oriented Model:Concepts related to services offered and requested, as well as their semantics, choreography, etc.
Policy Model:Concepts relating to constraints on the behavior of agents and services, e.g. security, quality of service, management, etc.
Message Oriented Model:Concepts related to message structure, transport issues without reference to the significance of the messages themselves
Resource Oriented Model:Concepts relating to the abstraction of a Web resource, how it is identified, and how it is manipulated.
![Page 21: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/21.jpg)
21
The Message Model
• Concepts & relationships are defined in "mind map" diagrams (above) and in prose
![Page 22: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/22.jpg)
22
The Service Model
![Page 23: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/23.jpg)
23
The Resource Model
![Page 24: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/24.jpg)
24
The Policy Model
![Page 25: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/25.jpg)
25
Formalization in OWL Ontology Language
• In addition to prose, the working group is using OWL to define the concepts and relationships involved in the WSA– OWL is a Web ontology language defined by W3C
("Ontology": A defined set of concepts and the relationships between them)
– Conversion from prose to OWL is being done by collaborators at Carnegie-Mellon University
• OWL formalization helps find ambiguities and inconsistencies in the prose descriptions
![Page 26: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/26.jpg)
26
OWL Formalization Example
<!-- Restriction: a message can have at most one description -->
<!-- inferred from the wording "...may have a... -->
<owl:Class rdf:about="Message"> <rdfs:comment> A message can have at most one message description </rdfs:comment> <rdfs:subClassOf> <owl:Restriction> <owl:onProperty rdf:resource="#describedUsing"/> <owl:maxCardinality rdf:datatype=
"&xsd;nonNegativeInteger">1</owl:maxCardinality> </owl:Restriction> </rdfs:subClassOf></owl:Class>
![Page 27: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/27.jpg)
27
Spin-off Work
• WSA WG recommended chartering a Web Services Choreography group in late 2002– Soon after, a similar effort was launched to
standardize the Business Process Execution Language (BPEL4WS) at OASIS
– WS Choreography working group chose to try to minimize overlap with the BPEL effort
• BPEL and WS-Choreography arose from similar ideas and proto-requirements, but are moving in different directions
![Page 28: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/28.jpg)
28
"Orchestration" is architecturally distinct from "Choreography"
An Orchestration has one agent in charge, executing the processes as prescribed by a Business Process Language document
A Choreography is an interaction among equals, each guided by the Choreography Description Language document
CDL
BPL
![Page 29: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/29.jpg)
29
What Have We Learned?• Noted architectural gaps between specs
– Intermediaries!– Concepts of MEP, Choreography,
Orchestration, composition …
• Noted the role of semantics, and the need for machine-processable semantics
• Clarified the role of discovery
• Clarified relationships among WS and Web, REST, OO
![Page 30: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/30.jpg)
30
What Have We Learned?-- WS Specs
• WS specs form a "cloud", not a "stack"
• There is no One True Web Services Stack– Stack diagrams are vendor-specific– Each reflects its own viewpoint
• None of this will come easily
• Industry-wide consensus is elusive.
![Page 31: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/31.jpg)
31
What Have We Learned?-- Objects and the Web
• No contradiction between REST and Web services– WSA discussions helped clarify
• Distributed Object / RPC perspective not fashionable– Still appropriate in fast, secure, well-managed
environments
– XML/SOAP/WSDL help bridge platforms as COM/CORBA could not
• Either is appropriate in some situations, not all
![Page 32: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/32.jpg)
32
What Have We Learned?-- It's Hard!
• No methodology, business process diagramming tool, IDE, programming language, etc. is going to make implementing a "service oriented architecture" quick and easy.
• Collaboration between business and technical people is required
![Page 33: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/33.jpg)
33
Remaining Needs• Handling diversity
– It's clear that we're not close to having a single standard format/protocol for every "box" in the WSA
– Finding the right tradeoff between innovation and standardization will be difficult
• Performance– Many reports of 10X overhead of XML vs "binary"– Good performance – interoperability tradeoff may be hard to
achieve. Moore's Law may rescue us– SOAP 1.2 binding framework permits optimizations, e.g. MTOM
• Machine processable semantics– Discovery– Evolution of concepts– Subtle incompatibilities in message vocabularies
![Page 34: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/34.jpg)
34
WS Semantics
• WSDL only defines syntactic-level interface
• Client and Service must also agree on semantics – "Semantics" = "meaning"
– Can be oral or written (preferably)
– Can be human-oriented (e.g., English) or machine-processable (e.g., RDF)
– Subtle differences can arise if not formalized
WSD
ClientApp
Web
WebService
definesdefines
![Page 35: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/35.jpg)
35
Semantics and Discovery
• Semantics are also critical to discovery• Need machine-processable "Functional Description" that captures
partial semantics
![Page 36: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/36.jpg)
36
Status of W3C WS Work• WSA WG
– coming to end of chartered lifetime– WSA document will be published as a W3C
Note to capture what we learned
• SOAP 1.2 – essentially done; working on MTOM
• WSDL 2.0 – in progress
• WS-Choreography – in progress
• Semantic Web Services Interest Group– recently started
![Page 37: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/37.jpg)
37
Semantic Web Services Interest Group
• Forum for exchange
• Breeding ground for new work
• Some topics under discussion:– WS Semantics in Discovery & Composition– Mapping WS technologies to Semantic Web– Leveraging Semantic Web technologies to
enhance Web services– OWL-S
• Ontology language for Web Services
![Page 38: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/38.jpg)
38
Outline• Web Services work at W3C
• W3C Web Services Architecture (WSA) Working Group (WG)
• Goals and challenges
• W3C Web Services Architecture
• Lessons learned
• Status of WS work at W3C
![Page 39: 1 W3C Web Services Architecture: An Overview and Update David Booth, Ph.D. W3C Fellow / Hewlett-Packard dbooth@w3.org dbooth@w3.org OOP2004 Munich, Germany.](https://reader035.fdocuments.in/reader035/viewer/2022062718/56649e8e5503460f94b921ef/html5/thumbnails/39.jpg)
39
END• W3C Mission: "Lead the Web to its full
potential"