RSS Feed for This PostCurrent Article

Web Service Basic

REST

The Representational State Transfer (REST) is a web architectural style presented by Roy Fielding back in 2000 in his doctoral thesis.

  • The basic idea of REST is the full exploitation of the HTTP protocol, in particular:
    It focuses on Resources, that is, each service should be designed as an action
    on a resource.
  • It takes full advantage of all HTTP verbs (not just GET and POST, but also
    PUT and DELETE)

Below are the HTTP Verb

  • POST – CREATE (Save new resources)
  • GET -  READ (Read resources)
  • PUT -  UPDATE (Modify existing resources)
  • DELETE – DELETE (Delete resources)

Rules

  • The State can be modified by verbs POST, PUT, and DELETE.
  • The State should never change as a consequence of a GET verb.
  • The verb POST should be used to add resources to the State.
  • The verb PUT should be used to alter resources into the State.
  • The verb DELETE should be used to remove resources from the State.
  • The communication protocol should be stateless, that is, a call should not
    depend on the previous ones.

SOAP

The Simple Object Access Protocol (SOAP) is a web service standard communication protocol defined by the W3C. It basically defines the structure of  the exchanged message, which is composed of an “envelope” with a “header” and a “body”.

  • Automatic generation of classes involved in the communication process
  • Automatic generation of the web service descriptor (WSDL)
  • Automatic generation of client classes starting from the service WSDL
  • Ability to be used with network protocols other than HTTP (for example, SMTP or JMS)
  • Ability to encapsulate authentication mechanisms
  • Ability to establish a stateful conversation

Binding style

  • RPC / literal
  • Document / literal (bare or unwrapped)
  • Document / literal wrapped

Remote Procedure Call (RPC) is a generic mechanism throughout which is a procedure that resides on a computer (or a virtual machine) can be called by a program running on a different computer (or virtual machine). This paradigm has been around for decades and was implemented by several technologies, among which, the most popular are CORBA, DCOM, and RMI.

An RPC call is always characterized by:

  • A remote address
  • A method (or operation) name
  • A sequence of parameters
  • A synchronous response

Document / Literal unwrapped requires one child in the document and you may need to wrap your parameters in one single object.

Document / Literal wrapped is the default for most SOAP implementations. It does not impose the constraint of one single child in the document.

Major SOAP implementations

  • JAX-WS2 available starting JDK 6.
  • AXIS 2
  • Spring WS
  • CXF

Others interesting modules

  • Kandula – implements WS-Coordination, WS-AtomicTransaction and WS-BusinessActivity protocols based on Apache Axis and Axis2.
  • Rampart – WS-Security module for Axis 2
  • Sandesha – WS-ReliableMessaging implementations for Axis and Axis2
  • Muse – an implementation of the WS-ResourceFramework (WSRF), WS-BaseNotification (WSN), and WS-DistributedManagement (WSDM) specifications.
  • jUDDI – an implementation of the Universal Description, Discovery, and Integration (UDDI) specification.

Popularity: 1% [?]


Trackback URL


RSS Feed for This PostPost a Comment