Web Services

Web services are self-contained, modular applications that are able to work together without relying on custom-coded connections, because they are built on open standards. Web services share a common protocol so they can communicate with each other despite the fact that they speak different languages.

Web services make functionality available in an application or module via standard interface which can be accessed in a platform and language agnostic manner, thus enable delivery of software/application/module-as-a-service.

In recent years web services have be implemented in e-commerce, enterprise applications, application integration, and data integration. Examples of web services include online purchase quotations, order fulfillment, payment processing, shipment tracking, and human intelligent tasks (Amazon – Mechanical Turk).

Web Services Architecture

The web services architecture is fairly simple, built by 3 parts:

  1. Service Consumer
  2. Service Provider
  3. Service Registry

The service consumer sends service request to the service provider, and the service provider returns with response to the service consumer. The service consumer and the service provider can talk to each other because they both are registered to the service registry.

Web Services Standards

The following are the most important 3 basic web services standards:

  1. WSDL – Web Services Description Language. Describes the interface of a service using XML.
  2. SOAP – Simple Object Access Protocol. XML based protocol used for exchanging information.
  3. UDDI – Universal Description, Discovery, and Integration. Registry that has services location and invocation details

In addition, there are many advanced web services standards: WS-Security, WS-Policy, WS-Trust, WS-MetaDataExchange, WS-Reliable Messaging, WS-BPEL, WS-Addressing, WS-Secure Conversation, WS-Transactions, WS-Entrust, WS-Notification, MTOM, WS-Management, and more.

REST Web Services

Although when talking about web services people usually assume that’s SOAP protocol, there is actually a different protocol called REST which stands for Representational State Transfer. A REST web service is limited to HTTP interfaces only. It is based on the concept of “resource”. A resource is anything that has a URI. REST web services have the following semantics are defined:

  • HTTP GET is used for obtaining a representation of a resource. A consumer uses it to retrieve a representation from a URI. Services provided through this interface must not incur any obligation from consumers.
  • HTTP DELETE is used for removing representations of a resource.
  • HTTP POST is used for updating or creating the representations of a resource.
  • HTTP PUT is used for creating representations of a resource.

REST web services are simple and effective because HTTP is the most widely available interface, and it is good enough for most applications. REST web services are now well supported by most programming languages and platforms. Many popular e-commerce companies, such as eBay and Amazon implement REST web services.

Leave a comment

0 Comments.

Leave a Reply


[ Ctrl + Enter ]