1
Write short note on: (i) SOAP (ii) UDDI (iii) REST (iv) Resource Oriented Architecture
1
0

## Simple Object Access Protocol (SOAP)

• SOAP is a communication protocol that allows applications to exchange information. The SOAP is not a language or a platform specific protocol; instead it allows communication between applications running on different platforms.
• SOAP is light-weight, text-based protocol and uses XML based rule to allow applications and softwares interchange information over HTTP or RPC.
• SOAP is based on vendor agnostic technology, namely XML and HTTP and is shared by all the platforms. It uses the internet application layer protocol as transport protocol and is used to access WS.
• SOAP is nothing but XML message based document with pre-defined format i.e. HTTP+XML=SOAP.

SOAP Message

• SOAP message is a well-structured XML document required for interoperable machine-to-machine interaction.
• It inherits all the features of XML, such as platform independence, human readability and self-documenting format.
• SOAP messages transform the way business applications communicate over Web with the notion of WSs.
• SOAP message is made up of with Envelope, Header, Body and Fault elements.
• The default namespace for SOAP envelop is https://schemas.xmlsoap.org/soap/envelope SOAP namespaces take care of the SOAP message’s syntax details.
• Some of the rules of that a SOAP message has to follow are as follows:
• A SOAP message must be encoded using XML.
• A SOAP message must use the SOAP Envelope namespace.
• A SOAP message must use the SOAP Encoding namespace.
• A SOAP message must not contain a DTD reference.
• A SOAP message must not contain XML processing instructions.

## Universal Description Discovery and Integration (UDDI)

• UDDI provides a way to publish and discover information about Web services. UDDI is like a registry rather than a repository which stores information of WSs and communicate using SOAP, CORBA, Java RMI Protocol. It uses WSDL to describe interfaces to WSs.
• In short, UDDI is an XML-based platform-independent, open framework standard for describing, publishing, and finding web services.
• For example, if any industry wants its services to be used by others, it registers its service in the UDDI directory. Users then search for the UDDI directory to find the service. When an interface is found, users can communicate with the service.
• Once the Web service is selected through the UDDI then it can be located using the discovery process.
• Before UDDI, there was no Internet standard for businesses to reach their customers and partners with information about their products and services. Neither was there a method of how to integrate businesses into each other’s systems and processes.
• UDDI solves many problems. It enables us to choose the correct business from online ones and then start it. It also tells us how to find new customers and make services in secure environment.
• UDDI is a combined effort of many platform and software providers. It can make WS a resource-centric WS. It has an entity, that is, businessEntity, that represents an organization.
• All method in UDDI API can also be implemented through HTTP-based URIs.
• Everything in UDDI database can also be recognized by URI-addressable XML resources. Experts are focusing on the use of XML in UDDI system.
• A UDDI entry in one registry points to a UDDI entry in another. When a business changes its information, it registers that change in the UDDI.
• Elements in a single UDDI registry refer to each other, but are not able to refer to objects elsewhere on the web. If the businessEntity documents are written in XML, then it will be easy to add elements and attributes.

## Representational State Transfer (REST)

• The REST architecture is focusing on XML aspects so that WSs can be easily integrated with each other.
• The motivation to define REST is to collect successful characteristics of the Web. There is no such term as REST toolkit or REST standard. It is just an architecture that you can follow while designing your WSs.
• REST, is an architectural style for providing standards between computer systems on the web, making it easier for systems to communicate with each other.
• REST uses standards like HTTP, URL, XML/HTML/GIF, text/html, and image/gif.
• Examples of REST-based WSs are search and online dictionary services.
• REST is popular due to its simplicity and the fact that it builds upon existing systems and features of the internet's HTTP in order to achieve its objectives, as opposed to creating new standards, frameworks and technologies.
• The main concept of REST-based WS is a single unifying namespace of URIs to recognize resources. REST describes how networked resources are defined and addressed.
• URIs recognizes resources that are logical objects. These resources are sent across the Web in the form of HTTP messages. The entire Web is now considered as a set of resources.
• A resource can be the one you like; for example, ABC Corp. has declared a resource 123. Users can access it by typing the following URL: https://www.abc.org/product/123
• REST has proved to be a popular choice for implementing Web Services.
• An application or architecture considered RESTful or REST-style is characterized by:
• State and functionality are divided into distributed resources.
• Every resource is uniquely addressable using a uniform and minimal set of commands (typically using HTTP commands of GET, POST, PUT, or DELETE over the Internet).
• The protocol is client/server, stateless, layered, and supports caching.

## Resource Oriented Architecture (ROA)

• A resource-oriented architecture (ROA) is the structural design supporting the internetworking of resources. A resource, in this context, is any entity that can be identified and assigned a uniform resource identifier (URI).
• In software engineering, a resource-oriented architecture (ROA) is a style of software architecture and programming paradigm for designing and developing software in the form of resources with "RESTful" interfaces.
• These resources are software components (discrete pieces of code and/or data structures) which can be reused for different purposes.
• ROA design principles and guidelines are used during the phases of software development and system integration.
• Resource-Oriented Architecture has four important concepts:
• Resources
• Their names (URIs)
• Their representations and
• The links between them.
• It also has four important properties: