9 Jan 2015

SOAP and REST

Web services are of two kinds:
  •                  Simple Object Access Protocol (SOAP) and 
  •                   Representational State Transfer (REST).

SOAP-Based Web Services

SOAP-based web services is an important technology used to implement many services, but there are alternative service implementation technologies, such as REST. Web services are based on a core set of communication standards:
SOAP (to communicate) defines an XML-based structure for passing information, such as messages and data, between web services and applications.
WSDL (to describe) is an XML-based language for modeling web services. A WSDL document describes the service interface, message format, and the service instance location.
UDDI (to advertise and syndicate) allows organizations to register their web services in a uniform manner within a directory, so clients can locate their web services and learn how to access them.
The benefit of using web services artifacts such as WSDL and XSD is that they are “accepted standards.” These XML document structures are easily exchanged using the standard Internet (web services) protocols such as Hypertext Transfer Protocol (HTTP) among others.
SOAP, WSDL, and UDDI are standards at the core of web services, and they are followed by many additional specifications that define reliability, security, metadata management, transactions to meet requirements for enterprise features, and qualities of service. These specifications are collectively referred to as the WS-*.
Note that using a service-oriented design approach does not require SOAP web services; however, web services is the most common way to implement SOA. 

Representational State Transfer (REST) Web Services

REST-based services are based on a very different model than SOAP-based services. The model is based on resources. The idea is that you send a request for a resource, the resource that is returned shows you the options for the next step. This model is very flexible and does not require that the client know in advance what services and service calls are available.
REST services rely on a stateless, client-server, cacheable communications protocol—and in virtually all cases, the HTTP protocol. HTTP methods such as GET, PUT, POST, and DELETE are used to represent CRUD type operations (Create, Read, Update, Delete).
RESTful services do not impose constraints on the data format exchanged. Data can be formatted as XML, HTML, JavaScript Object Notation (JSON), and so on.

No comments:

Post a Comment