310 likes | 701 Views
Web Services Description Language (WSDL). Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002. Outline. What is a web service? Web Services Model Web Services Stack Lower level WS protocols What is WSDL? Explain contents of WSDL documents
E N D
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002
Outline • What is a web service? • Web Services Model • Web Services Stack • Lower level WS protocols • What is WSDL? • Explain contents of WSDL documents • Higher level WS and WS-related applications
What is a Web Service? • Self-contained, modular web application that can be published, located, and invoked across the Web. • Can perform functions of varying complexities • Once deployed, other applications (and other Web services) can discover and invoke the deployed service.
Web Services Model Port Server (Web Service) Backend App WS Request Client WS Response
Common Transfer Protocols • HTTP • SMTP
HTTP • HTTP=HyperText Transfer Protocol • Protocol commonly used to transfer information on the web
SMTP • SMTP = Simple Mail Transfer Protocol • Protocol used to exchange information between mail servers
MIME • MIME = Multipurpose Internet Mail Extensions • Internet standard that specifies how messages are formatted for exchange between different email systems • flexible format
Review of XML • XML = EXtensible Markup Language • A markup language like HTML (HyperText Markup Language) • Designed to describe data • Tags are not predefined • Uses a Document Type Definition (DTD) or an XML Schema to describe the data • Designed to be self-descriptive
XML vs. HTML • XML is about describing information • HTML is about displaying information
XML Example <note> <to>Gerald</to> <from>Ron</from> <heading>Reminder</heading> <body>Don't forget the meeting on Friday.</body> </note>
HTML Example <b>This is a note</b><br> <font face=“arial” size=-1>To: Gerald</font><br> < font face=“Terminal”>From: Ron</font><br> <b>Heading: Reminder</b><br><br> <center>Don't forget the meeting on Friday.</center>
XML Documents • Not quite the same as HTML documents • Can be seen independently of files (one document can contain many files; one file can contain many documents) • Concerned more with logical structure than physical structure
XML Namespaces • An XML namespace is a collection of names, which are used in XML documents as element types and attribute names • WSDL document elements belong to WSDL namespace
SOAP (Simple Object Access Protocol ) • a lightweight and simple XML-based protocol that is designed to exchange structured and typed information on the Web • Standard way of representing remote procedure calls and responses • Standard to encapsulate messages between Web service clients and servers • SOAP Envelope
SOAP Envelopes Soap Envelope/HTTP Port Server (Web Service) Backend App WS Request Client WS Response Soap Envelope/HTTP
What is WSDL? • Web Services Description Language • An XML format for describing network services as a set of endpoints operating on messages.
Characteristics of WSDL • Operations and messages are described abstractly • Endpoints defined by binding concrete network protocol and message format to abstract operations and messages • Can describe any endpoint regardless of the underlying network protocol or message format
WSDL Document Elements • Types – a container for data type definitions using some type system • Message – an abstract, typed definition of the data being communicated • Operation – an abstract description of an action supported by the service • Port Type – an abstract set of operations supported by one or more endpoints • Binding – a concrete protocol and data format specification for a particular port type • Port – a single endpoint defined as a combination of a binding and a network address • Service – a collection of related endpoints
Example The following example is taken from the WSDL description document provided by the world wide web consortium. This document can be found at http://www.w3.org/TR/wsdl#_wsdl. It is the WSDL definition for a simple service providing stock quotes.
Expanding on WSDL • WSXL • IBM web services component model • based on open standards • .NET • Microsoft web services component model • UDDI • Web Service Registry
WSXL • Goals • enable businesses to deliver interactive Web applications through multiple distribution channels • enable new services or applications to be created by leveraging other interactive applications across the Web
.NET • Goal • Applications constructed from multiple Web services that work together to provide data and services for the application
UDDI • Universal Description, Discovery and Integration • Platform-independent, open framework for describing and discovering web services using the Internet • UDDI Registries
Popular Web Services Servers • IBM Websphere • Not Open Source • Trial Versions Available • Apache Axis • Open Source • Free
Useful Links • WSDL description/specification • http://www.w3c.org/TR/wsdl • Apache Axis • http://xml.apache.org/axis/ • IBM Websphere • www.ibm.com/software/info1/websphere