Download presentation
Presentation is loading. Please wait.
Published byLucinda Cannon Modified over 9 years ago
1
T-110.5140 Network Application Frameworks and XML Web Services and WSDL 02.04.2007 Sasu Tarkoma Based on slides by Pekka Nikander
2
What is WSDL? n WSDL: Web Service Description Language n An XML language used to describe and locate web services u location of web service u methods that are available u data type information and XML messages n Commonly used to describe SOAP-based services n W3C standard (work in progress) u Initial input: WSDL 1.1 as W3C Note u Current version 2.0 (Candidate Recommendation) u Some differences between 1.1 and 2.0 n WSDL 1.1 in WS-I Basic Profile 1.0 and 1.1.
3
WSDL Document Elements (v.1.1.) n - data type definitions n - Abstract definition of the data being transmitted n - A set of abstract operations n - Concrete protocol and data format specifications for the operations and messages defined by a particular portType. Endpoint type. n - An address for binding. Endpoint instance. n - A set of ports.
4
WSDL Overview : ROOT WSDL element : The data types that are used : What messages are transmitted? : The supported operations : The binding to concrete protocols : Reference to actual location
5
A WSDL Document n A WSDL document contains two parts n Abstract part u Interfaces, types, messages n Concrete part u Binding to conrete protocol and encoding n May be published separately u Interfaces agreed between many companies u Each company published their own implementation in UDDI and import the abstract interface.
6
6 of 20 Mapping SOAP to WSDL
7
Message Styles n The WSDL 1.1 specification defines two SOAP message styles n Determined in binding n Document u contains one or more child elements called parts u There are no SOAP formatting rules for what the contains u preferred, loose coupling, easy validation n RPC u contains an element with the name of the method or remote procedure being invoked u This element in turn contains an element for each parameter of the procedure u less popular today, tighter coupling
8
The main structure (v.1.1) XML Schema types.. a set of operations Communication protocols A list of binding and ports
9
Types n define data types used in message declaration n For platform neutrality, WSDL uses XML Schema syntax to define data u XML Schema must be supported by any vendor of WSDL conformant products u Other kinds of type definitions also possible F Possible interoperability issues u If the service uses only XML Schema built-in simple types, such as strings and integers, the types element is not required
10
WSDL Messages n The element defines the data elements of an operation u the name of the message u contains zero or more message part elements n The parts can be compared to the parameters of a function call in a traditional programming language n All parts are typed by an XML Schema type n V.2.0 changes: message element is not used, replaced by patterns
11
WSDL Ports n The element is the most important WSDL element n The operations that can be performed, the messages that are involved n A defines the connection point to a web service, an instance of n It can be compared to a function library (or a module, or a class) in a programming language
12
Operation Types (v.1.1) n One-Way: The operation can receive a message but will not return a response n Request-Response: The operation can receive a request and will return a response n Solicit-Response: The endpoint sends an output message and then receives an input message. n Notification: The operation can send a message but will not wait for a response n v.2.0 changes: abstract message patterns
14
Example
15
One way and Notification Example
16
Putting it together Source: http://msdn.microsoft.com/
17
WSDL 2.0 n 3 specifications n Part 1: Core u Abstract interfaces, independent of protocol and encoding n Part 2: Message Exchange Patterns u Predefined types of interactions n Part 3: Bindings u SOAP and HTTP/MIME binding n Lot’s of changes from 1.1
18
Changes from 1.1 to 2.0 n Adding further semantics to the description language. n Removal of message constructs. These are specified using the XML schema type system in the types element. n No support for operator overloading. n PortTypes renamed to interfaces. Support for interface inheritance is achieved by using the extends attribute in the interface element. n Ports renamed to endpoints. n Abstracted message patterns
19
WSDL 2.0 Conceptual Model Source: http://webservices.xml.com/pub/a/ws/2004/05/19/wsdl2.html
20
Message Exchange Patterns MEP in-only robust-in-only In-out out-only robust-only-out out-in out-optional-in Description Single input message Output followed by an opt. Input Input message + output message Single output message Output followed by input msg Single input message Fault No Trigger Replace No Trigger Replace Trigger in-optional-outInput followed by an opt. OutputTrigger
21
Implementations n Microsoft.NET u SOAP 1.1, WSDL 1.1 n Java API for XML-based RPC (JAX-RPC) u SOAP 1.1, WSDL 1.1 n Java API for XML Registries (JAXR) n Apache Axis u Tools for automatically creating WSDL to/from Java u SOAP 1.1 and 1.2, WSDL 1.1, JAX-RPC 1.0 u Axis2 supports WSDL 2.0 component model n IBM Websphere, BEA Web Logic, SAP NetWeaver, …
22
Uses of WSDL documents n Description of service interfaces u Compile-time F Developer uses WSDL before service deployment u Run-time F Client downloads WSDL description and uses the info it provides to execute the service n As a side-effect u Developers can use WSDL to speed up the development of code u WSDL Java code u Java interfaces WSDL
23
Summary n Deferred binding, using Web, composition n Some details and conventions still unclear u Possible interoperability issues n Parts hard to understand u Namespaces u Schemas u Differences between versions u Document vs. RPC SOAP style F Also literal vs. encoded F More about this next week
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.