Introduction to
Web Services
Presented by Royal
 A Web service is a method of communication
between two electronic devices over the World
Wide Web
 In other words, a web service helps to convert
your application into a web-based application.
 Your application can publish its function or
message to the rest of the world.
Department of Information Science Engg
WEB
Services
REST Services
SOAP and
WSDL
 Relying on URIs and HTTP verbs
 Usage of 5 big HTTP verbs
POST, HEAD, GET, PUT, DELETE
Nothing more than CRUD concept of the Web
 Ex: Delicious APIs
Delicious is a leading social bookmarking
service
Visit: http://www.peej.co.uk/articles/restfully-delicious.html
 Data exchange format
XML, JASON or both
 Simple Object Access Protocol
 Exclusively use XML as the data format to
exchange info over HTTP.
 A service that needs to be used by another service
needs to specify its usage through a “Service
Description”.
 In this case, we use WSDL – Web Services
Description Language
 Ex: Apache Axis, Apache CXF
 SOAP has nothing to do with SOA – Service
Oriented Architecture
.
• A service is hosted on a “Discovery Service” in the
internet.
• A client which wants to use this service will have to
“discover”
this service (similar to RMI) using the ‘Discovery
Service’.
• Once the service is “discovered”, the client asks the
service
how it should be invoked. The service replies in WSDL
format.
A SOAP message is an ordinary XML document
containing the following elements:
• Envelope - identifies the XML document as a SOAP message
o Header - contains information about the request.
o Body
 Message data - contains request and response information
itself.
 Fault (optional) - containing errors and status
information.
<?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.example.org/stock">
<m:GetStockPrice>
<m:StockName>IBM</m:StockName>
</m:GetStockPrice>
</soap:Body>
</soap:Envelope>
A SOAP request:
<?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.example.org/stock"
>
<m:GetStockPriceResponse>
<m:Price>34.5</m:Price>
</m:GetStockPriceResponse>
</soap:Body>
</soap:Envelope>
The SOAP response:
 WSDL stands for Web Services Description
Language
 It is an XML-based language that is used for
describing the functionality offered by a Web
service.
 WSDL file contains info about
o How the service can be called
o What parameter it expects
o What data structure it returns
o Which port the application uses
o Which protocol the web service uses (like https)
Need for stubs (similar to RMI)
 A stub is a small program routine that
substitutes for a longer program, possibly to be
loaded later or that is located remotely.
 The stub accepts the request and then
forwards it (through another program) to the
remote procedure.
 When that procedure has completed its service,
it returns the results or other status to the stub
which passes it back to the program that made
the request.
REST SERVICES SOAP SERVICES
 Architectural style
 Simply calls services via
URL path
 Lightweight – not a lot
of extra xml markup
 Easy to build – no
toolkits required
 XML-based protocol
 Invokes services by
calling RPC method
 Rigid – type checking,
adheres to a contract
 Development tools –
WSDL Soap analyser
tool, oXygen XML
WebServices introduction

WebServices introduction