web services

16
Web Services [email protected]

Upload: balas-kandhan

Post on 07-Jul-2015

57 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Web services

Web Services

[email protected]

Page 2: Web services

• SOAP (Simple Object Access Protocol) is a simple protocol for exchange of information.

• UDDI (Universal Description, Discovery, and Integration) is a specification designed to allow businesses of all sizes to benefit in the new digital economy.

• WSDL (Web Services Description Language) defines the XML grammar for describing services as collections of communication endpoints capable of exchanging messages.

[email protected]

Page 3: Web services

Communication between Web-Service and heterogeneous clients

[email protected]

Page 4: Web services

4

Introduction• A Web service is a method of communication between

two electronic devices over the web (internet).

• It has an interface described in a machine-processable format (WSDL)

• Other systems interact with the Web service using SOAP messages

Features of Web Services• Language Independent• Operating System Independent

Page 5: Web services

WSDL

• WSDL is written in XML• used to describe & locate Web services

WSDL Ports• The <portType> element is the most

important WSDL element.• It defines a web service, the operations that

can be performed, and the messages that are involved.

[email protected]

Page 6: Web services

PortType

<portType name="glossaryTerms"> <operation name="setTerm"> <input name="newTerm" message="newTermValues"/> </operation></portType >

[email protected]

Page 7: Web services

[email protected]

Type DefinitionOne-way The operation can receive a message but

will not return a responseRequest-response The operation can receive a request and will

return a responseSolicit-response The operation can send a request and will

wait for a responseNotification The operation can send a message but will

not wait for a response

Operation Types

The request-response type is the most common operation type, but

WSDL defines four types:

Page 8: Web services

UDDI

• Universal Description, Discovery and Integration (UDDI)

• UDDI is a directory for storing information about web services

• UDDI is a directory of web service interfaces described by WSDL

• UDDI communicates via SOAP• UDDI uses WSDL to describe interfaces to web

services

[email protected]

Page 9: Web services

Sending requests,

getting results

Sending requests,

getting results

Waiting for requests

(known location,known port)

Waiting for requests

(known location,known port)

Data in XML format

SOAP-based communicationSOAP-based communication

• SOAP:SOAP:– Data in a well-defined XML formatData in a well-defined XML format

– Transport over various protocolsTransport over various protocols

• HTTP, SMTP are the most used, perhaps because HTTP, SMTP are the most used, perhaps because they are firewall-friendlythey are firewall-friendly

– server side: either an RPC call or a message deliveredserver side: either an RPC call or a message delivered

Page 10: Web services

SOAP Elements• Envelope (mandatory)

– Top element of the XML document representing the message.

• Header (optional)– Determines how a recipient of a SOAP message should

process the message– Adds features to the SOAP message such as

authentication, transaction management, payment, message routes, etc…

• Body (mandatory)– Exchanges information intended for the recipient of the

message. – Typical use is for RPC calls and error reporting.

Page 11: Web services

SOAP Request

<SOAP-ENV:Envelope

xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/”

SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/”>

<SOAP-ENV:Header>

<t:transId xmlns:t=“http://a.com/trans”>345</t:transId>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<m:Add xmlns:m=“http://a.com/Calculator”>

<n1>3</n1>

<n2>4</n2>

</m:Add>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Page 12: Web services

SOAP Response

<SOAP-ENV:Envelope

xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/”

SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/”>

<SOAP-ENV:Header>

<t:transId xmlns:t=“http://a.com/trans”>345</t:transId>

</SOAP-ENV:Header>

<SOAP-ENV:Body>

<m:AddResponse xmlns:m=“http://a.com/Calculator”>

<result>7</result>

</m:AddResponse>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

Page 13: Web services

SOAP Fault

• Used to carry error and/or status information within a SOAP message

• Appears within the SOAP body• Defines the following:– faultcode (mandatory)

• algorithmic mechanism for identifying the fault • defined in the SOAP spec

– Faultstring (mandatory)• human readable explanation of the fault

Page 14: Web services

SOAP Fault

– faultactor (optional)• information about who caused the fault to happen • URI value identifying the source

– Detail• error information related only to the Body element. • if not present then indicates that the fault is not

related to the Body element.

Page 15: Web services

SOAP Fault Example

<SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/” SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/”> <SOAP-ENV:Body> <SOAP-ENV:Fault> <faultcode>SOAP-ENV:Server</faultcode> <faultstring>Internal Application Error</faultstring> <detail xmlns:f=“http://www.a.com/CalculatorFault”> <f:errorCode>794634</f:errorCode> <f:errorMsg>Divide by zero</f:errorMsg> </detail> </SOAP-ENV:Fault> </SOAP-ENV:Body></SOAP-ENV:Envelope>

Page 16: Web services

XML Messaging Using SOAP