2. Components of Web Services
• The basic web services platform is XML + HTTP.
• All the standard web services work using the following components −
• SOAP (Simple Object Access Protocol)
• UDDI (Universal Description, Discovery and Integration)
• WSDL (Web Services Description Language)
3. How Does a Web Service Work?
• A web service enables communication among various applications by using
open standards such as HTML, XML, WSDL, and SOAP.
• A web service takes the help of −
• XML to tag the data
• SOAP to transfer a message
• WSDL to describe the availability of service.
• You can build a Java-based web service on Solaris that is accessible from your
Visual Basic program that runs on Windows.
• You can also use C# to build new web services on Windows that can be invoked
from your web application that is based on JavaServer Pages (JSP) and runs on
Linux.
4. Example
• Consider a simple account-management and order processing system.
• The accounting personnel use a client application built with Visual Basic or
JSP to create new accounts and enter new customer orders.
• The processing logic for this system is written in Java and resides on a
Solaris machine, which also interacts with a database to store information.
• The steps to perform this operation are as follows −
• The client program bundles the account registration information into a SOAP message.
• This SOAP message is sent to the web service as the body of an HTTP POST request.
• The web service unpacks the SOAP request and converts it into a command that
the application can understand.
• The application processes the information as required and responds with a new
unique account number for that customer.
5. • Next, the web service packages the response into another SOAP message,
which it sends back to the client program in response to its HTTP request.
• The client program unpacks the SOAP message to obtain the results of the
account registration process.
6. Why Web Services?
Exposing the Existing Function on the network
• A web service is a unit of managed code that can be remotely invoked
using HTTP.
• That is, it can be activated using HTTP requests.
• Web services allow you to expose the functionality of your existing
code over the network.
• Once it is exposed on the network, other applications can use the
functionality of your program.
7. Interoperability
• Web services allow various applications to talk to each other and
share data and services among themselves.
• Other applications can also use the web services.
• For example, a VB or .NET application can talk to Java web services
and vice versa. Web services are used to make the application
platform and technology independent.
8. Low Cost Communication
• Web services use SOAP over HTTP protocol, so you can use your
existing low-cost internet for implementing web services.
• This solution is much less costly compared to proprietary solutions
like EDI/B2B.
• Besides SOAP over HTTP, web services can also be implemented on
other reliable transport mechanisms like FTP.
9. Ability to be Synchronous or Asynchronous
• Synchronicity refers to the binding of the client to the execution of
the service. In synchronous invocations, the client blocks and waits for
the service to complete its operation before continuing.
• Asynchronous operations allow a client to invoke a service and then
execute other functions.
• Asynchronous clients retrieve their result at a later point in time,
while synchronous clients receive their result when the service has
completed. Asynchronous capability is a key factor in enabling loosely
coupled systems.
11. Web Services- Architecture
There are two ways to view the web service architecture −
• The first is to examine the individual roles of each web service actor.
• The second is to examine the emerging web service protocol stack.
12. Web Service Roles
There are three major roles within the web service architecture −
• Service Provider
• This is the provider of the web service.
• The service provider implements the service and makes it available on the Internet.
• Service Requestor
• This is any consumer of the web service.
• The requestor utilizes an existing web service by opening a network connection and
sending an XML request.
• Service Registry
• This is a logically centralized directory of services.
• The registry provides a central place where developers can publish new services or find
existing ones.
• It therefore serves as a centralized clearing house for companies and their services.
13. Web services architecture:
the service provider sends a WSDL file to UDDI.
The service requester contacts UDDI to find out who is the provider
for the data it needs, and then it contacts the service provider using
the SOAP protocol.
The service provider validates the service request and sends
structured data in an XML file, using the SOAP protocol.
This XML file would be validated again by the service requester using
an XSD file.
14. Web Service Protocol Stack
A second option for viewing the web service architecture is to examine the emerging web service protocol stack.
The stack is still evolving, but currently has four main layers.
• Service Transport
• This layer is responsible for transporting messages between applications. Currently, this layer includes
Hyper Text Transport Protocol (HTTP), Simple Mail Transfer Protocol (SMTP), File Transfer Protocol (FTP),
and newer protocols such as Blocks Extensible Exchange Protocol (BEEP).
• XML Messaging
• This layer is responsible for encoding messages in a common XML format so that messages can be
understood at either end. Currently, this layer includes XML-RPC and SOAP.
• Service Description
• This layer is responsible for describing the public interface to a specific web service. Currently, service
description is handled via the Web Service Description Language (WSDL).
• Service Discovery
• This layer is responsible for centralizing services into a common registry and providing easy publish/find
functionality. Currently, service discovery is handled via Universal Description, Discovery, and Integration
(UDDI).
• As web services evolve, additional layers may be added and additional technologies may be added to
each layer.
15. Few Words about Service Transport
• The bottom of the web service protocol stack is service transport. This layer is responsible for actually
transporting XML messages between two computers.
• Hyper Text Transfer Protocol (HTTP)
• Currently, HTTP is the most popular option for service transport. HTTP is simple, stable, and widely
deployed. Furthermore, most firewalls allow HTTP traffic. This allows XMLRPC or SOAP messages to
masquerade as HTTP messages. This is good if you want to integrate remote applications, but it does raise a
number of security concerns.ise a number of security concerns.
• Blocks Extensible Exchange Protocol (BEEP)
• This is a promising alternative to HTTP. BEEP is a new Internet Engineering Task Force (IETF) framework for
building new protocols. BEEP is layered directly on TCP and includes a number of built-in features, including
an initial handshake protocol, authentication, security, and error handling. Using BEEP, one can create new
protocols for a variety of applications, including instant messaging, file transfer, content syndication, and
network management.
• SOAP is not tied to any specific transport protocol. In fact, you can use SOAP via HTTP, SMTP, or FTP. One
promising idea is therefore to use SOAP over BEEP.
16. Web Services- Components
• Over the past few years, three primary technologies have emerged as worldwide
standards that make up the core of today's web services technology.
• These technologies are:
1. XML-RPC
• This is the simplest XML-based protocol for exchanging information between
computers.
• XML-RPC is a simple protocol that uses XML messages to perform RPCs.
• Requests are encoded in XML and sent via HTTP POST.
• XML responses are embedded in the body of the HTTP response.
• XML-RPC is platform-independent.
• XML-RPC allows diverse applications to communicate.
• A Java client can speak XML-RPC to a Perl server.
• XML-RPC is the easiest way to get started with web services.
17. SOAP
• SOAP is an XML-based protocol for exchanging information between computers.
• SOAP is a communication protocol.
• SOAP is for communication between applications.
• SOAP is a format for sending messages.
• SOAP is designed to communicate via Internet.
• SOAP is platform independent.
• SOAP is language independent.
• SOAP is simple and extensible.
• SOAP allows you to get around firewalls.
• SOAP will be developed as a W3C standard.
18. • WSDL
• WSDL is an XML-based language for describing web services and how to access them.
• WSDL stands for Web Services Description Language.
• WSDL was developed jointly by Microsoft and IBM.
• WSDL is an XML based protocol for information exchange in decentralized and distributed
environments.
• WSDL is the standard format for describing a web service.
• WSDL definition describes how to access a web service and what operations it will perform.
• WSDL is a language for describing how to interface with XML-based services.
• WSDL is an integral part of UDDI, an XML-based worldwide business registry.
• WSDL is the language that UDDI uses.
• WSDL is pronounced as 'wiz-dull' and spelled out as 'W-S-D-L'.
19. UDDI
• UDDI is an XML-based standard for describing, publishing, and finding web services.
• UDDI stands for Universal Description, Discovery, and Integration.
• UDDI is a specification for a distributed registry of web services.
• UDDI is platform independent, open framework.
• UDDI can communicate via SOAP, CORBA, and Java RMI Protocol.
• UDDI uses WSDL to describe interfaces to web services.
• UDDI is seen with SOAP and WSDL as one of the three foundation standards of web
services.
• UDDI is an open industry initiative enabling businesses to discover each other and
define how they interact over the Internet.