W3C Web Services Workshop Marwan Sabbouh, Stu Jolly, Paul Denning, Dock Allen, Paul Silvey, 4/11/2001 Position Paper Organization: D590 Project: , WA, C0, C2
Acknowledgements l The authors thank the MITRE Corporation and their sponsors for making this possible. Also, we thank those who contributed to this work. In particular, Dan Hebert, John Morris, Bede McCall, Doug Norman, Amanda Martino, Eric Chamberlin, and Vuhuy Phan for their comments.
Agenda l Web Model l Any to Any Computing l Extensibility l Interoperability l Description and Discovery l User’s Context l Quality of Service l Security
Web Model l Browser-Web Server interaction is easy, transparent, and works - Relationship: any browser to any web server interaction - No apriori knowledge by the client of the server - Standardizing on HTTP, HTML, and URL - Allows for intermediaries: proxy servers, caching servers l Disadvantage: - Web server to Web server interaction is difficult - Client must make request of various Web sites l Result: - Isolated Web islands
Web Services’ Potential l Web server to Web server interaction is easy - Relationship: Any-to-any l Should all Web services interact at a basic level? l Web sites collaborating on behalf of users - Extending firewalls across corporate networks l Different classes of services on the Web l Extensibility vs. Interoperability? l Made possible by adherence to standards - W3C XML Protocol - Description and Discovery of Web Services - Context - Quality of Service - Semantics
Extensibility l XML Protocol Architecture is based on a layered/extensible approach l Protocol binding allows for the adoption of different protocol stacks l SOAP encoding allows for the adoption of different data models l Modules allow for evolution l Intermediaries provide for reverse proxy, transfer protocol bridges, etc.
Interoperability l Middleware interoperability - XML Protocol, XML Schema l Syntactic interoperability - XML - Uniform way that describes how to access services l WSDL l Structural interoperability - Standardizing on a data model l SOAP encoding - Mapping different data models l RDF? l Semantic interoperability - Ultimate goal
Ensuring Any to Any Computing l Services must bind to standard Internet Protocols l Client must support various Internet Protocols (SMTP, HTTP, FTP) l Adopting a standard data model if possible l Else, provide mapping of distinct data models l WSDL l Strict conformance to specifications l Standards that address module extensions (XAML, reliable delivery semantics) l Tools interoperability l Standards that describe what a service does l Standards that describe users’ context information and needs l Adopting Internet security standards
WSDL l WSDL is used to expose Web Services by defining: l Behavior - Abstract Operations - Concrete Operations l Methods of Access l Style of Payload (RPC/Document) l WSDL files are defined using the following elements - Type - Message - PortType - Binding - Port - Service
UDDI l Provides yellow, green, and white pages functionality l Provides a standard API for registration and lookup of services l Security l Registry enjoys a self-supported business model l Maintains data integrity - Validates entries on registration - Requires renewal of registration periodically - Removes outdated entries
User’s Context l Identity l Role l Access device l Location l Time l Privacy Constraints l Must travel with request
Quality Of Service (QoS) for Web Services l See Usage Scenario in XMLP Requirements Document l Define QoS extensions to XMLP as multiple XMLP Modules - XMLP Blocks for QoS l Use XML Schema to standardize QoS information carried within XMLP Envelope - XMLP Handlers for QoS l QoS processing l Relates to BindingContext (see Abstract Model) - BindingContext assumed to hold parameters needed for lower layer QoS mechanisms (Diffserv, etc.) - XMLP Block propagates QoS (or Class of Service) across XMLP Intermediaries (and potentially different transports) l Preserve end-to-end QoS throughout XMLP message path
Example XMLP QoS Modules l SLA Module - Block Carries UUID or URI of Service Level Agreement (SLA) or ebXML Trading Partner Agreement (TPA) - XMLP Handler looks up Service Level Specification (SLS) for given SLA/TPA (cached), writes appropriate DiffServ parameters into BindingContext - Assumes Binding is QoS-aware (knows how to interpret BindingContext.QoS) l ResponseTime Module - Block Carries timestamps - Handler inserts timestamps, collects Response Time statistics l SLA Monitor Module - Uses data from ResponseTime Module to verify SLA compliance, traffic shaping via SLA Module
Forum for XMLP QoS Module Defintion l Propose a new W3C WG under the XMLP Activity l Specify QoS Modules using XMLP WG’s Module Template l Standardize XML Schema of XMLP Blocks for QoS l Define information model for BindingContext QoS data l Define information model for ModuleContext l Develop QoS usage scenarios l Coordinate with other groups - QoS Taxonomy (Open Group QoS Task Force) - UDDI registration of Web Service QoS capabilities - ebXML Collaboration Protocol Profile
Security l Web services provide new security challenges - WSDL l Web services’ infrastructure must be secure l Security model for UDDI