Web Services at W3C and the Status of SOAP Version 1.2
Hugo Haas <[email protected]>
W3C Web Services Activity
Lead
Presentation at Evolve
Conference 2002, Sydney, Australia, 8 October 2002
Slides
available at:
http://www.w3.org/2002/Talks/1008-hh-w3cday/
Overview
- Overview of the work at W3C
- Architecture and description work
- Focus on SOAP 1.2
History
From human to machines:
- Originally
- World Wide Web designed for people to share information
- Early
- People have been using HTML forms as interfaces to access
programs (CGI programs)
- More recently
- Machine to machine interactions
Web service:
- Application
- For use by another application
- Accessed via the Web (URI / XML)
Standardization work
Core technologies have been worked on for a long time:
Web Services Activity:
Web services technologies
Web Services Activity
- Created in January 2002
- Subsumes the XML Protocol Activity started in September
2000
- Large Activity: more than 65 Member organizations
- All the work is done in public: mailing list archives, meeting
records, editors' copies
- Technologies developed under Royalty-Free terms
- Organization:
3 Working Groups:
1 Coordination
Group
Design of the Web Services Architecture
- Goal: define the Web services architecture
- What are we trying to achieve with Web services?
- What technology is needed?
- What is the scope of each technology identified, and its
relationship with the others?
- Output used to scope proposals for new Working Groups
- Work started in January 2002
- Developed by the Web
Services Architecture Working Group
- 71 participants representing 48 Member organizations
Requirements of the Web services architecture
- Enable interoperability
- Reliable:
- Well defined
- Set of metrics, e.g. for measuring quality of service
- Clean integration in the Web
- Security and privacy
- Scalability and extensibility:
- Modular
- Extensible, open-ended
Integration to the World Wide Web
Need to respect the Web's architectural principals
Web is a set of resources that are:
- identified (URI)
- retrieved using certain rules (e.g. HTTP GET)
- structured (e.g. XML)
Design of Web services technologies must be done in a
Web-friendly way
Status of the Web Services Architecture Working Group
Documents
listed on the Working Group's page:
- Requirements for the Web services architecture: Working
Draft
- Usage scenario document: Working Draft
- Architecture document: editors' copy
- Glossary: editors' copy
A language to describe Web services
Problem: I want to use your Web Service
- Where can I find it?
- What messages are accepted / generated? What syntax?
- How should they be transmitted?
Need standard format for describing Web Services
WSDL 1.1 (W3C Submission) used as a starting point
Status of the Web Services Description Working Group
Documents
listed on the Working Group's page:
- Requirements document published:
- Based on the XML Information Set
- Use W3C XML Schema but allow other schema languages
- Simple interaction between Web Services: one-way,
request-response, solicit-response, and faults
- Binding to SOAP 1.2 and HTTP/1.1
- Extensibility and versioning
- Published a set of usage scenarios
- Published a first Working Draft of the description language:
- Web Services Description Language (WSDL) Version 1.2
- Web Services Description Language (WSDL) Version 1.2:
Bindings
Communicating between machines
- Need for a messaging protocol allowing complex machine to
machine interactions
- Information of complex type
- Extensibility is key; support for:
- Security extensions
- Reliability extensions
- Caching extensions
- Etc.
An XML-based protocol: SOAP version 1.2
- Work started in September 2000 as a result of growing interest
in the use of XML in distributed applications communication
- XML Protocol Working
Group: 45 participants representing 27 Member
organizations
- Technical solutions proposed by the SOAP/1.1 submission
evaluated
SOAP 1.2 in a nutshell
- SOAP message:
- Envelope (XML document)
- Composed of a header and a body
- Processing model
- Sent from a sender to a receiver, possibly via
intermediaries
- Headers:
- Can be addressed to certain intermediaries
- Can be marked as mandatory
- Default data encoding provided, but others can be used.
- Can be transfered from one node to another any underlying
protocol (e.g. HTTP): SOAP binding
SOAP 1.2 extensibility
Feature:
abstract piece of functionality typically associated with the
exchange of messages between communicating SOAP nodes
Types:
- SOAP module: expressed as a header
- Provided by a binding
- Message exchange pattern (MEP)
SOAP 1.2 adjuncts
- SOAP Encoding: how to encode data, according to the SOAP Data
Model
- Representation for RPC operations.
- Definition of response and request-response message exchange
patterns
- Abstract model for attachments
- HTTP binding
Status of the work on SOAP version 1.2
Started from SOAP/1.1; more than 300 issues found and then
solved.
Outline of the work done:
- Processing model clarification
- Based on the XML Information Set
- Support from XML Base
- Encoding based on XML Schema 1.0
- Formalization
- SOAP Protocol Binding Framework: underlying protocol
agnostic
- Feature and MEP descriptions
- Etc.
Specifications in Last Call.
Documents produced by the XML Protocol Working Group
Documents
listed on the Working Group page:
- XML Protocol (XMLP) Requirements Document: Working Draft
- XML Protocol Usage Scenarios: Working Draft
- XML Protocol Abstract Model: Working Draft
- SOAP version 1.2, Part 0: Primer: Last Call Working Draft
- SOAP version 1.2, Part 1: Messaging Framework: Last Call
Working Draft
- SOAP version 1.2, Part 2: Adjuncts: Last Call Working
Draft
- SOAP 1.2 Attachment Feature: Last Call Working Draft (deadline
for comments: 15 October 2002)
- SOAP Version 1.2 Specification Assertions and Test Collection:
Last Call Working Draft
- SOAP Version 1.2 Email Binding: Note
Next steps
- SOAP version 1.2 to Recommendation
- Architecture:
- continue architecture definition
- propose new work: choreography being considered
- Description work: address issues found against WSDL 1.1, design
binding to SOAP Version 1.2, develop an RDF mapping
References
This
presentation: http://www.w3.org/2002/Talks/1008-hh-w3cday/
W3C Web Services
Activity: http://www.w3.org/2002/ws/