web services nasrullah. motivation about web service there are number of programms over the internet...

24
Web Services Nasrullah

Upload: alma-pebworth

Post on 14-Dec-2015

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

Web Services

Nasrullah

Page 2: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

Motivation about web service • There are number of programms over the

internet that need to communicate with other programms over the internet.There are nubmer of technologies that enable this type of communication such as PRC,DCOM,MSMQ ,but the greatest disadvantage of these technologies is that inorder to communicate ,they require the same technology in the other system too.we need the technology that enables the client to talk to any server independent of the OS and the language on which they were developed

Page 3: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

History• Web services evolved from previous

technologies that served the same purpose such as RPC, ORPC (DCOM, CORBA and JAVA RMI).

• Web Services were intended to solve three main problems:

1. Interoperability2. Firewall traversal3. Complexity

Page 4: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

web service

• Web services are application components• Web services communicate using open

protocols• Web services are self-contained and self-

describing• Web services can be discovered using UDDI• Web services can be used by other applications• XML is the basis for Web service

Page 5: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

Web Service

• A web service is a method of communication between two electronic devices over the World Wide Web. A web service is a software function provided at a network address over the web or the cloud

Page 6: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

The W3C defines a "Web service" as

• a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically WSDL). Other systems interact with the Web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards

Page 7: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

Web Service definition revisited

an application component that: • Communicates via open protocols (HTTP, SMTP,

etc.) • Processes XML messages framed using SOAP • Describes its messages using XML Schema • Provides an endpoint description using WSDL • Can be discovered using UDDI

Page 8: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

Web Service Components

• XML – eXtensible Markup Language – A uniform data representation and exchange mechanism.

• SOAP – Simple Object Access Protocol – A standard way for communication.

• UDDI – Universal Description, Discovery and Integration specification – A mechanism to register and locate WS based application.

• WSDL – Web Services Description Language – A standard meta language to described the services offered.

Page 9: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

Web Service Model

• The Web Services architecture is based upon the interactions between three roles:– Service provider– Service registry– Service requestor

• The interactions involve the:– Publish operations– Find operation– Bind operations

Page 10: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

The Web Service Model (cont)

The Web Services model follows the publish, find, and bind paradigm.

1. publish 2. find

3. bind/invoke

Web ServiceRegistry

Web Service Provider

Web Service Client

Page 11: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

XML

• XML stands for EXtensible Markup Language. • XML is a markup language much like HTML. • XML was designed to describe data.• XML tags are not predefined. You must define

your own tags.• The prefect choice for enabling cross-platform

data communication in Web Services.

Page 12: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

XML vs HTML

An HTML example:<html><body> <h2>John Doe</h2> <p>2 Backroads Lane<br> New York<br> 045935435<br> [email protected]<br> </p></body></html>

Page 13: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

XML vs HTML

• This will be displayed as:

• HTML specifies how the document is to be displayed, and not what information is contained in the document.

• Hard for machine to extract the embedded information. Relatively easy for human.

John Doe

2 Backroads LaneNew [email protected]

Page 14: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

XML vs HTML

• Now look at the following:

• In this case:– The information contained is being marked, but not for

displaying. – Readable by both human and machines.

<?xml version=1.0?><contact> <name>John Doe</name> <address>2 Backroads Lane</address> <country>New York</country> <phone>045935435</phone> <email>[email protected]</email></contact>

Page 15: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

SOAP• SOAP originally stood for "Simple Object Access

Protocol" .• Web Services expose useful functionality to Web

users through a standard Web protocol called SOAP. • Soap is an XML vocabulary standard to enable

programs on separate computers to interact across any network. SOAP is a simple markup language for describing messages between applications.

• Soap uses mainly HTTP as a transport protocol. That is, HTTP message contains a SOAP message as its payload section.

Page 16: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

SOAP Characteristics

• SOAP has three major characteristics:– Extensibility – security and WS-routing are among

the extensions under development.– Neutrality - SOAP can be used over any transport

protocol such as HTTP, SMTP or even TCP.– Independent - SOAP allows for any programming

model .

Page 17: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

SOAP Building Blocks

A SOAP message is an ordinary XML document containing the following elements: – A required Envelope element that identifies the XML

document as a SOAP message.– An optional Header element that contains header

information.– A required Body element that contains call and response

information.– An optional Fault element that provides information about

errors that occurred while processing the message.

Page 18: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

SOAP RequestPOST /InStock HTTP/1.1 Host: www.stock.org Content-Type: application/soap+xml; charset=utf-8 Content-Length: 150

<?xml version="1.0"?> <soap:Envelopexmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle=http://www.w3.org/2001/12/soap-encoding”>

<soap:Body xmlns:m="http://www.stock.org/stock">     <m:GetStockPrice> <m:StockName>IBM</m:StockName>      </m:GetStockPrice> </soap:Body></soap:Envelope>

Page 19: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

SOAP ResponseHTTP/1.1 200 OK Content-Type: application/soap; charset=utf-8Content-Length: 126 <?xml version="1.0"?> <soap:Envelope xmlns:soap="http://www.w3.org/2001/12/soap-envelope" soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">

<soap:Body xmlns:m="http://www.stock.org/stock"> <m:GetStockPriceResponse> <m:Price>34.5</m:Price> </m:GetStockPriceResponse> </soap:Body></soap:Envelope>

Page 20: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

WSDL• WSDL stands for Web Services Description Language.• When we create the web service we must provide the

information the programmers may need to consume it.For exmple we must provide the information about the methods available ,types of parameters and return value of method s ,ways of calling these methods,how the web service should be used .location of the web service in the from of URL.this information is made availabe in the form of file .wsdl.

• The WSDL description contains the XML schema that describes the web service

• You can view the WSDL LIKE THIS• http://localhost:56241/Service.asmx?wsdl

Page 21: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

The WSDL Document Structure

• A WSDL document is just a simple XML document.

• It defines a web service using these major elements:– port type - The operations performed by the web

service.– message - The messages used by the web service.– types - The data types used by the web service.– binding - The communication protocols used by

the web service.

Page 22: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

WSDL Document<message name="GetStockPriceRequest"> <part name="stock" type="xs:string"/> </message> <message name="GetStockPriceResponse"> <part name="value" type="xs:string"/> </message>

<portType name=“StocksRates"> <operation name=“GetStockPrice"> <input message=“GetStockPriceRequest"/> <output message=“GetStockPriceResponse"/> </operation></portType>

Page 23: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over

UDDI((Universal Description, Discovery and Integration)

• Like any other resource on the web it would be virtually impossible to find a particular web servi.ce without some means to search it .Web services directories provide central locations where web servce providers can publish information about web service ,such directories can be accessed driecly or progammaticallay.

• UDDI is such a locaiton that defines a stadard way to publish and discover information about web services

• UDDI is like the phone directory that is used to locate the web service.

Page 24: Web Services Nasrullah. Motivation about web service There are number of programms over the internet that need to communicate with other programms over