SOA and Web Services
A lot of individuals tend to associate Service Oriented Architecture with World Wide Web based services. The two, however, are not one and the same, and thus must be distinguished from one another. We will first begin by elucidating the concept of Service Oriented Architecture before moving on to Web services. For the moment, we are going to focus on Service Oriented Architecture in order to understand how it is distinct from Web based services. Then we will show how the two are in fact connected.
When Object Oriented programming first began to get popular, C++ was an emerging programming language that also had strong support for object oriented methods of programming. But it was not correct to say that a C++ program was object oriented. While object orientation happens to be an architectural approach, C++ is a language through which such architecture is attained.
One can say the same thing when it comes to Web services and Service Oriented Architecture. “Service Oriented Architecture” is the term that designates a philosophical approach to a solution’s design. The utilization of web services is one method by which such architecture might be attained.
But the use of web services is not the only way one might go about building Service Oriented Architecture. Just as it is possible to utilize C++ language without the use of an object oriented program, one can also have web services without the use of Service Oriented Architecture.
But all that should become clear in a minute!
What are Web Services?
A web service can be thought of as a software component or service that has been published on the World Wide Web in a particular fashion. A web service is typically exposed through such technological entities as Representational State Transfer, XML RPC, or SOAP (the Simple Object Access Protocol). It may also be exposed through the usage of your own special message encoding, as long as it manages to comply with the Hypertext Transport Protocol (or HTTP for short.)
The term “web services” is also used in the industry in a more specific way as a means of describing services that tend to be exposed through the use of Simple Object Access Protocol, which is an XML based message encoding that tends to be transported via HTTP. Simple Object Access Protocol’s current version is 1.2, although Simple Object Access Protocol 1.1 is more commonly used. JAX RPC for Java ME is actually based on this original version.
Through the utilization of well defined interfaces and service descriptors, web services tend to promote the independence of programming language, hardware, and operating systems, as well as loose coupling among consumers and providers, and clean separation among exposed interfaces and their implementations. Such characteristics end up in the form of services that are interoperable, simple to interface with, and quite easy when it comes to aggregating.
Service Oriented Architecture and Web Services
A lot of people tend to equate web services with Service Oriented Architecture. The truth is, web services are merely one element of Service Oriented Architecture. Web services are mainly about the invocation of services. The scope of Service Oriented Architecture is a lot more complex than just mere invocation allows. It is a total software component architectural model, presenting a means of organizing, deploying, managing, discovering, and exposing software components, which are then consumed via the World Wide Web.
From the perspective of software life cycle, in addition to the typical software development aspects of design, deployment, and development, Service Oriented Architecture defines phases that are specific to web services, including discovery, service publishing, consumption, binding, and management.
Universal Description, Discovery and Integration
UDDI stands for Universal Description, Discovery, and Integration. It is an XML based, platform independent registry for Businesses all over the world that would like to be listed on the World Wide Web. Universal Description, Discovery, and Integration is an open industry initiative that is sponsored by OASIS.
It enables companies to publish service listings while discovering one another, as well as defining the ways in which services and software applications interact over the World Wide Web.
A Business registration through Universal Description, Discovery, and Integration consists of the following three components:
- White Pages
- Yellow Pages
- Green Pages
Universal Description, Discovery, and Integration is regarded as one of the main standards of Web Services. Universal Description, Discovery, and Integration is designed to be interrogated by Simple Object Access Protocol messages while simultaneously rendering access to Web Services Description Language documents that describe the message formats and protocol bindings that are necessary for interaction with web services listed in the directory.
Universal Description, Discovery, and Integration was composed in the year 2000 during a time when authors had a vision of a world in which consumers of Web Services would be linked up with providers through either a private or public dynamic brokerage system.
In such a vision, anyone who was in need of a service like credit card authentication could then go to their service broker and choose one supporting the desired SOAP or other service interface and meeting other criteria. In a world like that, the publicly operated Universal Description, Discovery, and Integration broker or node could be critical for everyone.
For the customer, open brokers would return services that were listed for public discovery by others. For the providers of services, the ability to get a good placement through a reliance on the metadata of authoritative index categories within the brokerage would be essential.
The Universal Description, Discovery, and Integration has been integrated in to the Web Services Interoperability standard as a central component of the infrastructure of web services. By the year 2006, it was on the agenda to be utilized by over seventy percent of the Fortune 500 Businesses in either a private or public implementation – especially among those Businesses that were looking to optimize the reuse of services or software.
A lot of those Businesses subscribe to some type of service oriented architecture, server programs, or database software that is licensed by some of the main founders of OASIS and UDDI.org.
The Universal Description, Discovery, and Integration specifications supported a Universal Business Registry that was accessible by the general public. Such a registry was based on a naming system that was built around a Universal Description, Discovery, and Integration driven service broker. In early 2006, it was announced by Microsoft, SAP, and IBM that they would be closing their public Universal Description, Discovery, and Integration nodes.