Web Services, Web Services- Technologies

Web Services

  • Web service is often referred to a self-contained, self-describing, modular application designed to be used and accessible by other software applications across the web.
  • This allows client software to dynamically determine what a service does, the data types that a service uses, how to invoke operations on the service, and the responses that the service may return.
  • Once a web service is deployed, other applications and other web services can discover and invoke the deployed service.
  • A web service is defined as a software system designed to support interoperable machine-to-machine interaction over a network
  • A web service has an interface described in a machine-executable format (specifically Web Services Description Language or WSDL).
  • Web services are remotely executed, they do not depend on resources residing on the client system that calls them.
  • 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

Web Services

Web Services

Web Services- Technologies

  • Simple Object Access Protocol (SOAP)
  • Web Services Description Language (WSDL)
  • Universal Description, Discovery and Integration (UDDI)

Simple Object Access Protocol (SOAP)

  • SOAP provides a standard packaging structure for the transmission of XML documents over various Internet protocols, such as SMTP, HTTP, and FTP.
  • A SOAP message consists of a root element called an envelope. The envelope contains a header: a container that can be extended by intermediaries.
  • Additional application-level elements such as routing information, authentication, transaction management, message parsing instructions, and Quality of Service (QoS) configurations are also included.
  • Body element that carries the payload of the message.
  • The content of the payload will be marshaled by the sender’s SOAP engine and unmarshaled at the receiver side, based on the XML schema that describes the structure of the SOAP message.

Web Services Description Language (WSDL)

WSDL describes the interface, a set of operations supported by a web service in a standard format.
  • It standardizes the representation of input and output parameters of its operations as well as the service’s protocol binding, the way in which the messages will be transferred on the wire.
  • Using WSDL enables disparate clients to automatically understand how to interact with a web service.

Universal Description, Discovery, and Integration (UDDI)

  • UDDI provides a global registry for advertising and discovery of web services.
  • Performed by searching for names, identifiers, categories or the specification implemented by the web service

SOAP is an extension, and an evolved version of XML-RPC.

A simple and effective remote procedure call protocol which uses XML for encoding its calls and HTTP as a transport mechanism.

  • A procedure executed on the server and the value it returns was formatted in XML.
  • SOAP mainly describes the protocols between interacting parties
  • Data format of exchanging messages is left to XML schema to be handled.
WS-I Protocol Stack
WS-I Protocol Stack

  • Business Process Execution Language for Web Services (BPEL4WS), a standard executable language for specifying interactions between web services.
    • Web services can be composed together to make more complex web services and workflows.
    • BPEL4WS is an XML-based language, built on top of web service specifications, which is used to define and manage long-lived service orchestrations or processes.
    • In BPEL, a business process is a large-grained stateful service, which executes steps to complete a business goal.
    • That goal can be the completion of a business transaction, or fulfillment of the job of a service.
  • Web Service WS-Notification enables web services to use the publish and subscribe messaging pattern.
  • Web Services Security (WS-Security) are set of protocols that ensure security for SOAP-based messages by implementing the principles of confidentiality, integrity and authentication.
  • Web Services Reliable Messaging (WS-Reliable Messaging) describes a protocol that allows messages to be delivered reliably between distributed applications in the presence of software components, systems, or network failures
  • WS-ResourceLifetime specification standardizes the means by which a WS-Resource can be destroyed.
  • WS-Policy is a specification that allows web services to use XML to advertise their policies (on security, quality of service, etc.) and for web service consumers to specify their policy requirements.
  • WS-ResourceProperties defines a standard set of message exchanges that allow a requestor to query or update the property values of the WS-Resource.
  • WS-Addressing is a specification of a transport-neutral mechanism that allows web services to communicate addressing information.
  • WS-Transaction WS-Transaction is a specification developed that indicates how transactions will be handled and controlled in Web Services.
  • The transaction specification is divided into two parts - short atomic transactions (AT) and long business activity (BA).
  • Web Services Coordination (WS-Coordination) describes an extensible framework for providing protocols that coordinate the actions of distributed applications.
  • The Java Message Service (JMS) API is a messaging standard that allows application components based on the Java Platform Enterprise Edition (Java EE) to create, send, receive, and read messages.
  • Internet Inter-ORB Protocol (IIOP) is an object-oriented protocol
  • Used to facilitate network interaction between distributed programs written in different programming languages.
  • IIOP is used to enhance Internet and intranet communication for applications and services.
  • A SOAP message consists of an envelope used by the applications to enclose information that need to be sent.
  • An envelope contains a header and a body block.
  • The EncodingStyle element refers to the URI address of an XML schema for encoding elements of the message.
  • Each element of a SOAP message may have a different encoding, but unless specified, the encoding of the whole message is as defined in the XML schema of the root element.
  • The header is an optional part of a SOAP message that may contain auxiliary information.
  • The body of a SOAP request-response message contains the main information of the conversation, formatted in one or more XML blocks.
  • In an example, the client is calling CreateBucket of the Amazon S3 web service interface.
  • In case of an error in service invocation, a SOAP message includes a Fault element in the body.