Web Services: A Fit for EAI: Part 2
In the first part of this two-article series, we discussed the concepts of Enterprise Application Integration (EAI) and its evolution over a period of time. Various approaches, their significance, and limitations to resolve EAI problems/issues were discussed.
Now, let us understand the emergence of Web Services as the Internet-based standard to share information among incompatible Enterprise Applications and Information Sources. We will discuss the advantages/limitations of Web Services over other EAI approaches discussed in Part 1.
Web Services—Introduction and Fit for EAI
Web Services is a distributed computing technology, which is defined by loosely coupled, dynamically located software components on the Web. These components break down the larger software system into smaller logical modules, or shared services. These services can reside on different systems and can be implemented by vastly different technologies, but they are packaged and transported using standard Web protocols, such as XML and HTTP, thus making them easily accessible by any user on the Web. Web Services Technology has become a key to the Service Oriented Internet World in very short time period because it promises the interaction of unknown and unrelated applications on the Internet in a more standardized and simpler way than any other approach ever claimed.
Although the older technologies such as CORBA, RMI, and COM introduced the concepts of Services, they are not able to interoperate as they are implemented using their own standards. This interoperability among the existing applications is easily achieved by Web Services because Web Services leverage the open Internet standards:
|Web Services Description Language||WSDL||To describe|
|Universal Description, Discovery and Integration||UDDI||To advertise and syndicate|
|Simple Object Access Protocol||SOAP||To communicate|
|Web Services Flow Language||WSFL||To define work flows, not yet a W3C standard|
See Figure 5 to understand a typical Web Service.
The use of the above-mentioned standard XML protocols makes the Web Services platform-, language-, and vendor-independent, and an ideal candidate for use in EAI solutions. Please note that Web Services does not aim to be or implement EAI; it is just a technology that enables EAI.
Earlier approaches or solutions proposed for EAI are based on tightly coupled, hard-coded, point-to-point software components that require high investments in terms of capital and human resources. They have substantially high maintenance costs and continued commitments from the enterprise.
On the contrary, Web Services materializes the loosely coupled services paradigm where the applications in the form of services are registered, discovered, and integrated dynamically. Therefore, they are easy and cost effective for an enterprise to deploy. A typical deployment scenario of Web Service as a solution for EAI is demonstrated in Figure 6. This shows the flow of a Web Service for ordering a book from an online bookstore.
Advantages of Web Services Over Traditional EAI Solutions
As opposed to the traditional EAI solution's point-to-point, hard-coded approach to developing interfaces among various enterprises applications, Web Services takes a loosely coupled software components approach, which can be dynamically located and integrated on the Web. That's why Web Services are flexible and fast enough to easily design a workflow based composite service that addresses real-life business problems. Web Services provide a dynamic approach to EAI. The enterprises can expose the functionalities of their applications based on the target end-user.
The point to be noted is that Web Services can also be implemented over traditional EAI solutions by exposing the functionalities of the Integration Component (for example, Integration-bus or Integration Broker) as Web Services. Thus, the organizations may not necessarily replace their already existing traditional EAI solutions with Web Services. This will lead to an upgrading of the existing EAI.
Web Services are easier to design, implement, and deploy than any other traditional distributed technology. Web Services can span their influence by easily exposing and integrating the services on the Web. This makes Web Services "the technology of tomorrow."
Web Services use Web standards such as SOAP, HTTP, UDDI, and WSDL unlike proprietary EAI solutions. It is vital in the world of interoperability and reuse of traditional software applications developed by enterprises. The use of SOAP allows the invocation of Web Services through the firewall, also. (Refer to Figure 5.) Therefore, the implementation of Web Services for an application makes it accessible to other applications as well as exposes its functionalities on the Web.
The rationale behind Web Services is to divide and conquer large business problems into small services. Each service addresses a specific business need; therefore, the integration of these small services solves the larger business problems. There is absolutely no need to own the implementation of a service by only one of solution provider, but the idea is to discover the solutions on the Internet and aggregate them to provide ready-to-use business processes, thus satisfying the market needs in much less time and with much less effort. In this way of openness, Web Services are much more efficient than the traditional EAI solution, where all the integration solutions are intended to be provided in one EAI software without reusing the existing solutions on the Web.
The scope of Web Service implementation is indefinite because the logical units of solution (as services) of a given big business problem may be floating on the Web, unlike the case of Integration Broker EAI where the applications (to be integrated) are treated as single entities.
Needless to say, because of the simplicity of Web Services, they are cheaper in all the aspects than other EAI approaches/solutions.