Upload
salaj-k
View
505
Download
0
Tags:
Embed Size (px)
DESCRIPTION
International conference slide
Citation preview
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