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.
Challenges for Web Services
Because Web Services Technology is in its infancy, it is yet to be matured to solve complete real-life, end-to-end EAI problems. This is a technology that is going further in its development at a great pace. Following are some of the limitations of Web Services, which are being worked upon by various forums and organizations of IT.
At present, Web Services lack a mechanism to provide robust Security (support for authentication, authorization, and encryption) and Transactional capability. To address this issue, standards are being worked out in the industry; some are listed here:
|BizTalk||Microsoft||For security and guaranteed message delivery|
|XAML (Transaction Authority Markup Language)||IBM, HP, Oracle, and Sun Microsystems||Endows Web Services with transactional properties|
|Biz Transaction Protocol (BTP)1||OASIS (Organization for the Advancement of Structured Information Standards)||supported by BEA, HP, and Sun Microsystems|
|SAML2 (Security Assertion Markup Language)||OASIS|
|XKMS (XML Key Management Specification)||Based on PKI (Public Key Infrastructure)|
Web Services provide only functional-level integration and the need is arising to give User Interface-based integration to the enterprise applications. The Web Services User Interface (WSUI) standard has already been announced in June 2001 to provide this functionality. This standard is in progress.
We are approaching an Internet-oriented world. Businesses have started showing their presence on the Web long ago. Additionally, with IPv6, the efforts are being done to accommodate an immense number of computer systems and devices on the Internet. This is the time for the businesses to share information not just with their concerned services (in-house and partners solutions) but also with unknown, already developed, and remotely hosted software applications present on the Internet.
Web Services technology is the key to the enterprise applications integration. It promises a bright future of applications integration on the Web. The essence is to register, discover, and invoke the software components dynamically on the Web and reuse the logical entities floating on the Web. Because they are platform independent, legacy systems and various heterogeneous enterprise applications can share information with significant flexibility, in a way supported by standards rather than proprietary systems.
Enterprises should implement Web Services first in their internal integration business scenarios, which are non-transactional in nature. This is vital for the enterprises to first understand the Web Service approach and its feasibility. Additionally, enterprises have to adapt themselves to the new Service Oriented World paradigm where aggregation of remotely hosted applications, running on heterogeneous platforms, is getting more cost-effective, productive, and efficient by the use of Web Services.
White Papers are posted at the following locations:
About the Author
Manoj Seth is a senior software engineer at Hewlett Packard, India. He is a Post Graduate from the Indian Institute of Information Technology, Bangalore.
Manoj has been involved in designing and developing J2EE based solutions over various platforms in the domains of Financial/Banking and Middleware for more than two years. He has good exposure to Web Services and their emerging standards in development/deployment and management space. He can be contacted at email@example.com.
The author would like to acknowledge the contributions of Srinivas Varadarajan, Ashish Chitkara, Latha Bhashyam, Pankaj Kothari, Ravi Trivedi, Shyam Bijadi, and Jainendra Kumar at Hewlett-Packard, India for their insightful comments and reviews.
1 BTP—This protocol brings transactions to the world of Web services, while preserving the ability to incorporate traditional distributed transaction managers and to coordinate standard resource managers such as relational DBMS, transactional queuing/messaging products, and transactional connectors.
2SAML is an XML security standard for exchanging authentication and authorization information.