Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and...

29
Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002

Transcript of Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and...

Page 1: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

Web Services Description Language (WSDL)

Jason GlennCDA 5937

Process Coordination in Service and Computational

GridsSeptember 30, 2002

Page 2: 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

Page 3: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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.

Page 4: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

Web Services Model

Server(Web Service)

Client

WS Request

WS Response

Port

Backend App

Page 5: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

Web Services StackImplementation Layer

UDDI Publishing and Discovery

WSXL/.NET Web Applications

IBM WSFL/MS XLANG Workflow

WSDL/WSCL Service Descriptions

SOAP/ XML/ HTTP/SMTP Transactions/Reliability/ Messaging

Internet/ Intranet Transport Network

Page 6: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

Common Transfer Protocols HTTP SMTP

Page 7: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

HTTP HTTP=HyperText Transfer

Protocol Protocol commonly used to

transfer information on the web

Page 8: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

SMTP SMTP = Simple Mail Transfer

Protocol Protocol used to exchange

information between mail servers

Page 9: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

MIME MIME = Multipurpose Internet Mail

Extensions Internet standard that specifies

how messages are formatted for exchange between different email systems

flexible format

Page 10: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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

Page 11: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

XML vs. HTML XML is about describing

information HTML is about displaying

information

Page 12: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

XML Example

<note>

<to>Gerald</to>

<from>Ron</from>

<heading>Reminder</heading>

<body>Don't forget the meeting on Friday.</body>

</note>

Page 13: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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>

Page 14: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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

Page 15: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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

Page 16: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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

Page 17: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

SOAP

Page 18: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

SOAP Envelopes

Server(Web Service)

Client

WS Response

Port

Backend App

WS Request

Soap Envelope/HTTP

Soap Envelope/HTTP

Page 19: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

What is WSDL? Web Services Description

Language An XML format for describing

network services as a set of endpoints operating on messages.

Page 20: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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

Page 21: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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

Page 22: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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.

Page 23: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

Example

Microsoft Word

Document

Page 24: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

Expanding on WSDL WSXL

IBM web services component model based on open standards

.NET Microsoft web services component

model UDDI

Web Service Registry

Page 25: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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

Page 26: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

.NET Goal

Applications constructed from multiple Web services that work together to provide data and services for the application

Page 27: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

UDDI Universal Description, Discovery and

Integration Platform-independent, open framework

for describing and discovering web services using the Internet

UDDI Registries

Page 28: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

Popular Web Services Servers IBM Websphere

Not Open Source Trial Versions Available

Apache Axis Open Source Free

Page 29: Web Services Description Language (WSDL) Jason Glenn CDA 5937 Process Coordination in Service and Computational Grids September 30, 2002.

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