XML Web Services Hangning Qiu For CS843
What is XML Web service? A Web service is a service program that relies on the Web programming model and XML technologies -- It uses a Web programming model in applications that are not browser-based. It uses XML/XSD for messaging and for achieving interoperability.
Categories of Web Services SOAP and other W3C standards based XML Web services Non-SOAP standards based XML Web Services Non-standards based XML Web services
Non-Standards Based XML Web Services There are many such. An example is:
Non-SOAP standards based XML Web Services A perfect example is RSS (Rich Site Summary), originated – 1997, RSS December 2000, widely used for exchanging news reports and other types of human-readable messages. A consumer example is at
Standard XML Web Services XML (essential) – Messaging format SOAP (essential) - Communication WSDL (optional) - Description UDDI (optional) - Discovery Loose coupling - essential feature for achieving unprecedented interoperability
SOAP Simple Object Access Protocol 1.1: “SOAP is a lightweight protocol for exchange of information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined data types, and a convention for representing remote procedure calls and responses.” (W3C, May 2000)
SOAP (continued) HTTP/ OK Content-Type: text/xml; charset="utf-8" Content-Length: nnnn <SOAP-ENV:Envelope xmlns:SOAP-ENV=" SOAP- ENV:encodingStyle=" 34.5
SOAP (continued) SOAP messaging pattern: Sender (messages/mapping) Receiver Request (SOAP messages) Response Remote method invocations and SOAP messages are mapped to each other – this should be done with Web services tools, and be transparent to application developers!
WSDL Web Service Description Language 1.1: “WSDL is an XML format for describing network services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint. Related concrete endpoints are combined into abstract endpoints (services). WSDL is extensible to allow description of endpoints and their messages regardless of what message formats or network protocols are used to communicate...” (W3C, March 2001)
WSDL (continued) WSDL is complementary to SOAP (but does not require SOAP). It is designed to describe types, bindings and other relevant information of Web services. Language and platform independent. Should be transparent to application developers!
UDDI Universal Description, Discovery and Integration: it defines a a SOAP-based XML Web service whose sole purpose is to categorize and locate WSDL-based descriptions of Web services. It is a “meta service”.
Brief Comparison DCOMCORBAJava RMIWeb Services Messaging Protocol RPCIIOPIIOP or proprietary HTTP (or SMTP, etc) + SOAP Message format NDRCDRJava serverXML Service description IDLOMG IDLJavaWSDL Service discovery Windows registry Naming service RMI registryUDDI
Global XML Web Services Architecture services/gxa_overview.aspx services/gxa_overview.aspx This initiative aims to provide additional capabilities to baseline XML Web services in the areas including: security, message routing, reliable messaging, and transactions.
Case Study: An XML Web Service Solution This is a case study that tries to provide an XML Web service solution to the voting system in our program assignments.
The Future of XML Web Services More work will be done in three major areas: Web service infrastructures will be built - as addressed with the GXA initiative. SOAP, WSDL and related standards will further evolve. Vender support in form of toolkits and frameworks will improve.
Limitations Not appropriate for building time sensitive, life critical, tightly coupled, non-distributed systems
Conclusions A simple, loosely coupled, messaging framework upon which developers can build sophisticated distributed business solutions. Has a bright future.