Developmeant and deployment of webservice

Post on 26-May-2015

493 views 0 download

Tags:

description

International conference slide

transcript

Development and Development and Deployment of Deployment of Web Services Web Services

What is Web service ?• Method of communication between two electronic

devices over the web

• A service that is "always on”

• W3C definition– a software system designed to support interoperable 

machine-to-machine interaction over a network.

3

• 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

More about Web service

Web service Platform elements

• SOAP is a simple protocol for exchange of information.

• UDDI is a specification designed to allow businesses of all sizes to benefit in the new digital economy.

• WSDL defines the XML grammar for describing services as collections of communication endpoints capable of exchanging messages.

Communication between Web-Service and heterogeneous clients

Web Service Architecture

WSDL

• WSDL is written in XML• used to describe & locate Web servicesWSDL 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.

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:

PortType

<portType name="glossaryTerms">  <operation name="getTerm">    <input message="getTermRequest"/>    <output message="getTermResponse"/>  </operation></portType>

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

SOAP-based communication

SOAP:• Data in a well-defined XML format• Transport over various protocols

• HTTP, SMTP are the most used• Server side: either an RPC call or a message

delivered

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.

<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>

SOAP Request

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>

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

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.

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>

XML Messaging Using SOAP

JSON

• Java Script Object Notation

• A new ”fat“ free alternative to XML

• Much smaller grammar

• Maps more directly onto the data structures used in modern programming languages

• JSON has the same interoperability potential as XML

JSON Objects and JSON Arrays

• JSON values can be• Number, string, Boolean or null value

• JSON Objects• Contains multiple name value pairs

• JSON Array• Contains multiple JSON objects

JSON code example

{"employees": [

{ "firstName":"John" , "lastName":"Doe" }, { "firstName":"Anna" ,

"lastName":"Smith" }, { "firstName":"Peter" , "lastName":"Jones" }

]}

Deploying a Web Service

Web deploying tools

• Web Deploy for Microsoft IIS• Web Sphere for IBM servers• Axis• UDDI4J• Ivory

A more specific example

THANK YOUTHANK YOU