The W3C defines a web service as a software system designed to support interoperable machine-to-machine interaction over a network. It has an interface described in a machine-processable format (specifically Web Services Description Language WSDL). Other systems interact with the web service in a manner prescribed by its description using SOAP messages, typically conveyed using HTTP with an XML serialization in conjunction with other Web-related standards.”
The W3C also states, “We can identify two major classes of Web services, REST-compliant Web services, in which the primary purpose of the service is to manipulate XML representations of Web resources using a uniform set of “stateless” operations; and arbitrary Web services, in which the service may expose an arbitrary set of operations.”
Web Service is a method of communication between two electronic devices.
Web Service can be defined as software system that supports interoperable machine-yo-machine interaction over a network. The interface of the Web Service is described using Web Service Description Language (WSDL). The interaction between the systems is accomplished through the exchange of SOAP messages.
There are three common ways in which a Web Service can be used.
Remote Procedure calls (RPC)
Service Oriented Architecture (SOA)
Representational State Transfer (REST)
Remote procedure calls
Architectural elements involved in the XML-RPC.
Main article: Remote procedure call
RPC web services present a distributed function (or method) call interface that is familiar to many developers. Typically, the basic unit of RPC web services is the WSDL operation.
The first web services tools were focused on RPC, and as a result this style is widely deployed and supported. However, it is sometimes criticized for not being loosely coupled, because it was often implemented by mapping services directly to language-specific functions or method calls. Many vendors felt this approach to be a dead end, and pushed for RPC to be disallowed in theWS-I Basic Profile.
Other approaches with nearly the same functionality as RPC are Object Management Group’s (OMG) Common Object Request Broker Architecture (CORBA), Microsoft’s Distributed Component Object Model (DCOM) or Sun Microsystems’s Java/Remote Method Invocation (RMI).
Remote Procedure Calls
The RPC Web Services provide a distributed function call interface. In RPC implementation, the services are mapped directly to functions and method calls that are language-specific. In other words, it was not loosely coupled
Main article: Service-oriented architecture
Web services can also be used to implement an architecture according to service-oriented architecture (SOA) concepts, where the basic unit of communication is a message, rather than an operation. This is often referred to as “message-oriented” services.
SOA web services are supported by most major software vendors and industry analysts. Unlike RPC web services, loose coupling is more likely, because the focus is on the “contract” that WSDL provides, rather than the underlying implementation details.
Middleware analysts use enterprise service buses which combine message-oriented processing and web services to create an event-driven SOA. One example of an open-source ESB is Mule, another one is Open ESB.
Web Services can be used to implement an architecture based on Service-Oriented Architecture concepts. Messages are used as the basic unit of communication. Hence Service-Oriented Architecture is also known as “Message-Oriented” services.
Representation of concepts defined by WSDL 1.1 and WSDL 2.0 documents.
Representational state transfer (REST)
Main article: Representational State Transfer
REST attempts to describe architectures which use HTTP or similar protocols by constraining the interface to a set of well-known, standard operations (like GET, POST, PUT, DELETE for HTTP). Here, the focus is on interacting with stateful resources, rather than messages or operations.
An architecture based on REST (one that is ‘RESTful’) can use WSDL to describe SOAP messaging over HTTP, can be implemented as an abstraction purely on top of SOAP (e.g., WS-Transfer), or can be created without using SOAP at all.
WSDL version 2.0 offers support for binding to all the HTTP request methods (not only GET and POST as in version 1.1) so it enables a better implementation of RESTful Web services. However, support for this specification is still poor in software development kits, which often offer tools only for WSDL 1.1.
Representational State Transfer
RESTful Web Services are implemented using HTTP or protocols of similar kind. The interface of the Web Services is constrained to standard operations like PUT, DELETE, GET, POST for HTTP. SOAP messaging used by REST based architecture can be described using WSDL
A web service can be defined as a software application whose interface and bindings can be identified, described and discovered by XML artifacts. It supports direct interaction with other software applications using XML based messages via Internet based protocols.
IMPORTANCE OF WEB SERVICES
These days, most of the distributed systems are using Web Services to interact with their old systems which knows only a particular protocol.
Web Businesses making use of Web Service for e-commerce need to be able to detect and manage communication problems and other failures.
Distributed systems are prone to have more failure points than stand alone systems. Hence it is important for clients to be able to recover from failures that occur during interaction with remote clients.
Cite This Work
To export a reference to this article please select a referencing stye below:
Related ServicesView all
DMCA / Removal Request
If you are the original writer of this essay and no longer wish to have your work published on UKEssays.com then please: