web services description language (wsdl)kena/classes/7818/f06/...•microsoft’s soap contract...

27
Web Services Description Web Services Description Language (WSDL) Language (WSDL) Wanasanan Thongsongkrit

Upload: others

Post on 27-Jan-2021

14 views

Category:

Documents


0 download

TRANSCRIPT

  • Web Services DescriptionWeb Services DescriptionLanguage (WSDL)Language (WSDL)

    Wanasanan Thongsongkrit

  • 2

    WSDL DevelopmentHistory at W3C WSDL 1.1

    was submitted as a W3C Note by Ariba, IBM andMicrosoft

    • March 2001• Merging 3 previous proposals:

    • Microsoft’s SOAP Contract Language (SCL)• Service Description Language• IBM’s Network Accessible Service Specification

    Language (NASSL)

    WSDL 2.0 March 2006

    not yet a W3C standard

  • 3

    What WSDL is for

    When you create a service, you typically do itbecause you want other people to use it.

    In order for them to do that, they need to knowwhat information to send to the service, whatinformation the service is going to send back, andwhere to find the service in the first place.

    It is much more helpful to have a standard,preferably human- and machine-readable, formatfor this information.

  • 4

    What is WSDL?

    is an XML document used to describe Web services: specifies

    the location of the service the operations (or methods) the service

    exposes

  • 5

    WSDL Data Structure

    WSDL does not presume that exchangeswill take place using a particular form ofcommunication Different services could combine

    different interfaces using differentbinding, and could make them available atdifferent addresses

  • 6

    The WSDLDocumentStructure

    Abstract part : describes the messages it sends and

    receives the operation associates a

    message exchange patternwith one or more messages

    Concrete part : specifies transport and wire format

    details for one or moreinterfaces

    a port (an endpoint) associatesa network address with abinding

    a service which groupstogether endpoints thatimplement a common interface

    WSDL specification

    abstract part

    types

    messages

    operations

    port types

    concrete part

    bindings

    services andports

    Copyright Springer Verlag Berlin Heidelberg 2004

  • port andservice

    binding

    operation andport type

    messages

    abstractpart

    concretepart

    Copyright Springer Verlag Berlin Heidelberg 2004

  • 8

    The WSDL DocumentStructure

    definition of types........

    definition of a message....

    definition of a port.......

    definition of a binding....

    definition of a service

  • 9

    Definitions

    The definitions element defines namespaces. xmlna:xxx defines the aliases or prefixes for

    namespaces of the actual elements that make upthe WSDL

    targetNamespace, defines the namespace to whichthe items defined by the WSDL belong

  • 10

    Abstract part

    The data elements of anoperation

    The data types used by theweb service (XML Schemasyntax used in general)

    The operations performedby the web service and themessages that are involved.

    DefinesElementabstract part

    types

    messages

    operations

    port types

  • 11

    Abstract part

    Message element Parts : name + type/element

    PortType (Interface) element defines operations, whichare made up of messages Operations : One-way/Request-response/ Solicit-response /

    Notification

    operation andport type

    messages

  • 12

    Operation Types

    The operation can send a messagebut will not wait for a responseNotification

    The operation can send a request andwill wait for a responseSolicit-response

    The operation can receive a requestand will return a responseRequest-response

    The operation can receive a messagebut will not return a responseOne-way

    DefinitionType

    A service can proactively initiate the interaction (unlike IDLs) – operationcan invoke thus a service can also behave like a client

  • 13

    Concrete part

    port andservice

    binding

    concrete part

    bindings

    services andports

  • 14

    InterfaceBinding

    binding attributes are name (any name) type (points to the port type defined in the abstract part)

    soap:binding attributes are style("rpc“ / "document”) Transport(Communication protocol : SOAP, Transport protocol : HTTP/SMTP)

    operation element defines each operation that the port exposes. must also specify how the input and output are encoded

    (literal(for document)/SOAP(for rpc))

  • 15

    Port and Service

    A service may have more than one endpoint,with each one defined by its own portelement.

    The port element corresponds to a particularbinding, and includes information on how toaccess it (URI).

    Different ports represent different bindings forthe same port type – allows the samefunctionality to be accessible via multipletransport protocols and interaction styles

  • 16

    Reusability

    abstract interfaces: reusable WSDL documents may import other WSDL

    documents Some documents define abstract

    interfaces, while other documents importthose definitions and make them concreteby defining bindings and addresses

  • 17

    Using WSDL WSDL document

    can be generatedfrom APIs.

    service providerservice requestor

    application object(client)

    application object(service provider)

    stub skeleton

    WSDL ofservice provider

    WSDL compiler(server side)

    WSDL compiler(client side)

    SOAP-basedmiddleware

    SOAP-basedmiddlewareSOAP messages

    WSDLgenerator

    12

    Copyright Springer Verlag Berlin Heidelberg 2004

  • 18

    WSDL and OtherStandards Generic service description language – WSDL Specific standards

    Electronic Data Exchange (EDI) used in manufacturing SWIFT used in financial world

    Possibility Hybrid : other standards + WSDL Independent WSDL as a wrapper for these standards so that the

    systems that support them become Web enabled and canuse generic tools for Web access.

    WSDL may not describe the entire service but only theinterface and protocol bindings. The details of theoperations will be hidden under a description that uses aspecification other than WSDL.

  • 19

    WSDL 2.0

    inherited most of the WSDL 1.1architectural principles, including layersof description, flexible authoring style ormodularization capability, andextensibility. Abstract Interface: Protocol Binding Service Endpoints

  • 20

    WSDL 1.1 vs. WSDL 2.0

    Flexible Authoring Styles

    for WSDL definitions with a differentnamespace

    for WSDL definitions with the samenamespace.

    WSDL2.0

    enables importing WSDL definitions definedin separate files with the same or differentnamespaces

    WSDL 1.1

  • WSDL 2.0 Component Model

  • 22

    WSDL 1.1 vs. WSDL 2.0

    Namespace

    http://www.w3.org/2004/08/wsdlWSDL2.0

    http://schemas.xmlsoap.org/wsdl/WSDL 1.1

  • 23

    WSDL 1.1 vs. WSDL 2.0 Message Exchange Patterns (MEPs)

    Out-OnlyRobust Out-OnlyOut-InOut-Optional-In

    Out-bound

    In-OnlyRobust In-OnlyIn-OutIn-Optional-Out

    In-bound

    WSDL2.0

    One-wayRequest-responseSolicit-responseNotification

    WSDL 1.1

  • 24

    Example : Messageexchange patterns

  • 25

    WSDL 1.1 vs. WSDL 2.0

    Supported Schema

    supports also other schemas,such as RELAX NG andSchematron

    WSDL 2.0

    supports XML schemaWSDL 1.1

  • 26

    Example: Amazon WSDL

    http://www.awszone.com/

  • 27

    More details

    Understanding Web services https://www6.software.ibm.com/developerworks/educatio

    n/ws-understand-web-services2/index.html First Look at WSDL 2.0

    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/74bae690-0201-0010-71a5-9da49f4a53e2

    Web Services Description Language (WSDL) Version2.0 Part 1: Core Language http://www.w3.org/TR/wsdl20/#intro