Web Services
Web Services
• AGENDA
• Service Descriptions
• Web services Description Language
• Messaging with SOAP (Simple Object Accessing Protocol)
• Service Discovery
• UDDI (Universal Description, Discovery and Integration)
• Message Exchange Pattern
• Orchestration
• Choreography
• WS Transactions
• Today we will learn
<types>
datatype definition….
</types>
<message>
definition of the data being communicated…..
</message>
<portType>
set of operations……
</portType>
<binding>
protocol and data format specification……
</binding>
</definitions>
• The <definitions> element must be the root element of
all WSDL documents. It defines the name of the web
service.
<definitions name="HelloService"
targetNamespace="http://www.examples.com/wsdl/HelloService.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.examples.com/wsdl/HelloService.wsdl"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
................................................
</definitions>
• From the above example, we can conclude that definitions −
• is a container of all the other elements.
• specifies that this document is called HelloService.
• specifies a targetNamespace attribute. The targetNamespace is a
convention of XML Schema that enables the WSDL document to refer to
itself. In this example, we have specified a targetNamespace of
http://www.examples.com/wsdl/HelloService.wsdl
• specifies a default namespace: xmlns=http://schemas.xmlsoap.org/wsdl/.
All elements without a namespace prefix, such as message or portType,
are therefore assumed to be a part of the default WSDL namespace.
• specifies numerous namespaces that are used throughout the remainder
of the document.
<types>
<schema targetNamespace = "http://example.com/stockquote.xsd"
xmlns = "http://www.w3.org/2000/10/XMLSchema">
</schema>
</types>
• Types are XML documents, or document parts.
• The types element describes all the data types used
between the client and the server.
• WSDL is not tied exclusively to a specific typing
system.
• WSDL uses the W3C XML Schema specification as its
default choice to define data types.
• If the service uses only XML Schema built-in simple
types, such as strings and integers, then types element
is not required.
• WSDL allows the types to be defined in separate
elements so that the types are reusable with multiple
web services.
• <message name = "SayHelloRequest">
• <part name = "firstName" type = "xsd:string"/>
• </message>
What is SOAP?
– SOAP is a communication protocol
– SOAP is for communication between applications
– SOAP is a format for sending messages
– SOAP is designed to communicate via Internet
– SOAP is platform independent
– SOAP is language independent
– SOAP is based on XML
– SOAP is simple and extensible
– SOAP will be developed as a W3C standard
• SOAP 1.0: Microsoft, Userland, DevelopMentor
– Specific to COM and HTTP
• SOAP 1.1: includes contributions from IBM and Lotus
– Substitutable transport binding (not just HTTP)
– Substitutable language binding (e.g. Java)
– Substitutable data encoding
– Completely vendor-neutral
– Independent of: programming language, object model, operating system,
or platform
• SOAP 1.2: current working draft from w3.org “XML Protocol” working
group
SOAP Message Structure
• Introduction
• History
• Architecture
• Data inside UDDI
• UDDI Technical Overview
• UDDI data model
• Working
• Conclusion
• References
INTRODUCTION
What is UDDI?
• UDDI stands for Universal Description, Discovery, and
Integration.
• Defines a way to publish and discover information about web
services.
• “Web service” describes specific business functionality to be
used by another company.
• It represents technical specification for publishing and
finding businesses and Web services.