Today Information Technology (IT) has become very critical for successful functioning of any enterprise in this world. Every form of business thrives on some form of automation. Earlier, the automation had been custom developed, but nowadays everything seems to be through packaged applications, which in a way reduced the amount of software development significantly. Unfortunately these packaged applications, which are self-contained, have become stove-pipe applications. The requirements for next-generation software systems mandate the integration of these stove-pipes with new forms of business logic. The term Enterprise Application Integration (EAI) has become a recent entrant into the jargon of the active software industry. EAI is a buzzword that represents the task of integration of various applications so that they may share information and processes freely. Thus EAI is the creation of robust and elegant business solutions by combining applications using common middleware and other viable technologies. With these realizations, EAI was created by industry analysts to help information technology organizations to understand the emergence of a type of software that eases the pains of integration. EAI is the nexus of technology, method, philosophy and desire to finally address years of architectural neglect.Why EAI?
In the past, enterprise system architectures have been poorly planned. Many organizations built systems based on the cool technology of the day without realizing how these systems would somehow, someday, share information. There are a number of organizations fitted with different types of open and proprietary systems. each with its own development, database, networking and operating system. Thus resulted a heterogeneous environment. Overcoming these ills affecting corporates, there came a number of ad-hoc technologies and methods. But nothing seemed to be a perfect solution considering the complexity associated with these systems. EAI has come as a boon for enterprise architects to set right everything, which today's enterprises face. EAI has become a sophisticated set of procedures with newly refined technologies, such as middlewares and message brokers that allow users to tie systems together using a common glue code. There are powerful tools and techniques to perform EAI successfully.
Another important factor that is driving enterprises toward the promised land of EAI is the broad acceptance of packaged applications, such as Enterprise Resource Planning (ERP) applications. These, called as stovepipe applications that address and solve very narrow problems within departments, has ruled the enterprises for a long time and this is the time that package vendors and enterprises have started to realize the importance of applications integration to face the daunting tasks ahead. It has been found that EAI has the wherewithal to link many disparate systems including ERP applications.
As organizations begin to realize the necessity of interconnection of disparate systems in order to meet the needs of the business, the significance of integration technology is being simultaneously felt. Thus it becomes a very important milestone for every enterprise to effectively architect, design, an develop systems based on EAI technology. As there are a number of excellent EAI technologies, it needs a steep learning curve to acquire the knowledge and wisdom to identify when to apply EAI technology, selecting appropriate technology, architect a solution, and they applying it successfully to the problem.Types of EAI?
An enterprise system is made up of business processes and data. So when an IT expert contemplates to use EAI technology, he has to first understand how these business processes are automated and the importance of all business processes. This understanding will bring out a lot of useful hints for determining the amount of work needed, how much time it will take, which business processes and data are to be integrated etc. Apart from this initial and first task of exploration, the primary knowledge needed is at what level, the integration process has to be performed in an enterprise application as there are mainly four levels, such as data level, application interface level, method level, and user interface level in an application.
1. Data-level EAI is the process and the techniques and technology of transferring data between data stores. This can be described as extracting information from one database, if need, processing that information, and updating the same in another database. The advantage of data-level EAI is the cost of using this approach. Because there may not be any changes in the application code and hence there is no need for testing and deploying the application resulting in a little expenditure. Also the technologies providing mechanisms to move data between databases, as well as reformats that information are relatively inexpensive considering the other EAI levels and their applicable enabling technologies.
2. Application interface level EAI refers to the leveraging of interfaces exposed by custom or packaged applications. Developers make use of these interfaces to access both business processes and simple information. Using these interfaces, developers are able to bring many applications together, allowing them to share business logic and information. The only limitations that developers face are the specific features and functions of the application interfaces.
This particular type of EAI is most applicable for ERP applications, such as SAP, PeopleSoft and Bann, which will expose interfaces into their processes and data, do so in very different ways. The most preferred EAI technology for this type is message brokers as these can extract the information from one application, put it in a format understandable by the target application and transmit the information.
3. Method level EAI is the sharing of the business logic that may exist within the enterprise. Applications can access methods on any other application. The mechanisms to share methods among applications are many including distributed objects, application servers,and TP Monitors. An ORB can take the call of one application to methods stored in other applications. An application server can be a shared physical server for a shared set of application servers. Most of the integration have been happening at this level as there are a number of robust technologies to accomplish this type.
4. User interface level EAI is a more primitive approach. Architects and developers are able to bundle applications by using their user interfaces as a common point of integration. For example, mainframe applications that do not have database or business process-level access may be accessed through the user interface of the application. This type is not a preferred one even though on many occasions, this is the only way of approaching integration task.EAI Technologies?
As seen above, integration task can be accomplished successfully at different levels of an application. Thus there are different compact and elegant technologies to fulfill these goals. There are various middlewares, Object Request Brokers, message brokers, Web technology like XML etc. It becomes mandatory for an architect to have a solid understanding of these technologies, the merits and demerits of each technology, where each shines and is flexible and scalable before embarking on the grand task of integration. There are point-to-point middleware, such as remote procedure calls (RPCs) and message-oriented middleware (MOM), database-oriented middleware, and transactional middleware including TP monitors and application servers. Also distributed object computing facilitated by Object Request Brokers and message brokers are available now for successful EAI.
Also, there is a big hype about the newly crowned Web technology XML that can do wonders as the standard integration mechanism. XML provides common data exchange format, encapsulating both meta-data and data. This permits applications and databases to exchange information without having to understand anything about each other. The primary factor in using XML technology for EAI is that XML is portable data. Finally the Java factor in EAI is also making waves among the EAI architects.
Java, a revolutionary method for building Web-born applications, is now maturing enough to be of benefit to the enterprise and to EAI. Java has become a solid technology for coding enterprise-scale mission-critical applications. Java RMI is already the Java version of distributed object computing architecture and in the recent past, Sun Microsystems has come out with a enterprise component model, referred to as EJB and there came a number of robust EJB-compliant application server. As Java provides portable code, it is bound to play a very important role in uniting enterprise applications.
JMS for EAI - JMS facilitates EAI. It makes two applications to work in concert in order to carry out some new form of transaction. JMS and XML combines well to supplant the relatively brittle and arcane client/server technologies that had until recently dominated the integration landscape, marking healthy trend toward open, flexible infrastructures as well as promoting reusable integration strategies that can be applied to a wide variety of integration projects. Today's integration products frequently employ something of a messaging infrastructure, along with data transformation and migration tools. Java Message Service (JMS) APIs provides implementation-independent interfaces for message-oriented middleware products, such as Progress SonicMQ and IBM MQSeries. These enterprise messaging systems allow stovepipe applications to communicate events and to exchange data while remaining physically independent. Data and events can be exchanged in the form of messages via topics or queues, which provide an abstraction that decouples participating applications. Thus there is a growing number of activities in making Java-based enterprise technologies and services as the able ally to EAI.The Business Advantages of EAI
There are quite a number of distinct benefits being accrued by business houses from EAI. Here comes a brief of what an middleware-enabled EAI can do to the organizations.
Middleware-enabled EAI - Enterprise Application Integration is the creation of new strategic business solutions by combining the functionality of an enterprise's existing applications, commercial packaged applications, and new code using a common middleware. Middleware refers to technology that provides application-independent services that mediate between applications. Middleware also represents the software products that implement these middleware services. There were mechanisms before the arrival of these middleware technologies, such as CORBA, for integrating applications in enterprises. But these mechanisms were found inflexible, requiring very high effort and highly complex.
But middleware has brought some spectacular benefits for enterprises to integrate their applications without much complexity. Middleware is a software tool. Middleware provides elegant and easy mechanisms by which applications can package functionality so that their capabilities are accessible as services to other applications. Middleware is able to hide the complexities of the source and target systems, thereby freeing developers from focusing on low-level APIs and network protocols and allowing them to concentrate on sharing information. Information in different enterprises have not been been organized and formatted in the same manner. Thus the information to be shared among applications in different places has to go through some translations and conversions as it flows from one application to another. These capabilities are being provided by present-day middleware technologies. Finally the middleware comes with mechanisms that help applications to coordinate business processes.
EAI is attractive for developing new applications because few changes to existing legacy or packaged applications are needed and because there is no necessity for extensive programming or custom interfaces. EAI can make use of existing application programming interfaces (APIs) and databases. Suppose there is no APIs exist, EAI may access an application's functionality by mimicking normal users through the application's user interface, using screen-scraping technology. Screen scrapping is the copying of data from specific locations on character-based screens that are displayed on an end-user computer.
The ultimate goal of EAI is to allow an organization to integrate diverse applications quickly and easily. By employing EAI technologies effectively, an enterprise can leverage its existing investments to provide new and advanced products and easy to use services, to improve its relationships with customers, suppliers and other stake-holders and to streamline its operations. EAI makes it possible for the enterprise to greatly simplify interactions with other enterprise applications by adopting a standard approach to integration in a long term perspective. Further, once an EAI infrastructure has been put in place, new EAI-based applications can usually go online more quickly than traditionally developed applications because an enhanced technical infrastructure exists on which to base future development. Thus EAI plays a very critical role in making an enterprise competitive.EAI for Critical New Solutions
Improving Customer Relationships - Customers perceive that there are a number of departments or line of business in an enterprise . Customers often want to be treated by enterprises, which they do business with, as a royal quest. When dealing with one department, they do not want to be required to provide information that they have already supplied to another department. To overcome such kinds of irritations, enterprises seeks the help of EAI technologies, which can make the customers to feel the difference in the relationships with enterprises overnight. Sometimes the enterprise wants to be able to take advantage of all that it knows about a customer. Knowing the products that a customer previously has bought can create opportunities for selling other products or additional services related to previous transactions. Also it does not matter at all if the customer sometimes interacts with the enterprise via the Web, or via a call center or in some occasions in person. That is, all the information should be integrated. Achieving improved customer relationships demands application integration. The information relevant for a customer should be available be available in an integrated form, even though that information may be scattered in numerous stove-pipe applications developed to support various lines of business.
Improving Supply-Chain Relationships - Apart from the customers, enterprises also want to improve relationship with supply-chain partners and other outside organizations through EAI technologies. There are a plenty of opportunities available for electronic information exchange. Sharing information, enterprises open new vista for effective coordination. Partners can also leverage new technologies to create new services. By establishing electronic links with its shipping partners, a retailer, for example, can offer enhanced order status tracking.
Improving customer relationships and acquiring higher levels of integration with supply-chain partners arises new security concerns. If the Internet is being used as a communication channel, rather than dial-up or dedicated lines, an enterprise must take necessary steps to ensure the confidentiality of information flow. Controls must be in its place to ensure that a partner can not see information relevant to other partners.
Integration requirements for interactions with partners are similar to those for interaction with customers. New applications often will be required to integrate with several existing stove-pipe applications. The ability to support information exchange by making use of technology such as the Extensible Markup Language (XML) is becoming a key factor in automated business-to-business integration. A variety of front-end channels may be needed to provide differing levels of functionality such as EDI for automated exchanges with newer Web-centric technologies, which include XML for automated exchanges and Web interfaces for partners.
Improving Internal Processes - Bringing improvement in an enterprise's internal processes happens to be an very important factor for EAI. EAI techniques can be used to simplify information flow between departments and divisions of the enterprise. In some organizations, EAI provides integrated information for decision making process. EAI can be used to populate data warehouses towards analyzing market trends, evaluating the effectiveness of a business initiative, and assessing the performance of organizations within the enterprise. EAI makes easier the construction of a data warehouse by mediating the flow of information from stove-pipe applications to the common warehouse and by supporting the conversion of data from various applications' formats to a common format.
Employee self-service is also a vital application in improving business processes. Web-enabled interfaces may provide employees with better access to the information they need to do their jobs effectively. Employee self-service Web sites for benefits of administration and other Human Resource (HR) functions are getting popular as days go by. Finally, EAI helps to eliminate manual steps in business processes and to avoid redundant entry of data. Such applications of EAI often employ a work-flow-automation tool to bridge between the applications that are being integrated.
Reducing Time to Market - Information Technology (IT) organizations are finding it increasingly hard to maintain developing mission-critical applications on time and on stipulated budget. There are various difficulties in accomplishing these very important requirements. EAI technology comes to the rescue by reducing the time to market new applications. EAI contributes to faster roll-out in several ways. First, EAI leverages the capabilities of existing applications. For example, often the existing code does its job very well and it has been debugged. The only requirement is to make the functionality by this code accessible to new front-end channels like the Web or to new composite applications. EAI helps immensely in this regard and shortens the time to market. Thus, having the EAI architecture in its place, enterprises can reap the benefits in the long term.
Integrating functionality that is hosted on diverse hardware and operating system platforms is really the trickiest and most error-prone task. With the arrival of CORBA, an EAI middleware, this task becomes relatively easy. Again, EAI reduces the amount of code to be written for an application and helps developers to concentrate on the business aspects of the mission-critical application rather on concentrating on infrastructure. There are maintenance benefits as well.
EAI of Legacy and Packaged Applications
An enterprise's legacy applications have become the repositories of the of the enterprise's corporate knowledge. Business rules embedded in legacy applications are often documented nowhere else. As a result, it can be extremely difficult to replicate or re-engineer the legacy applications. Thus, utilizing these applications to support new requirements or to design newer applications out of these by integration technologies is really a tremendous advantage and challenge also. Also, legacy applications that run on mainframe computers have many additional advantages. Mainframe computers are ultra-reliable and can support extremely high transaction rates and a large number of users simultaneously. Thus keeping applications on mainframes can help spread the high fixed costs of that computing across a large number of applications.
In the recent past, most of the organizations have made very high investment to deal with the Y2K problem in the mainframe computers and that resulted in much better understanding and better documentation of their legacy applications. That is why, legacy applications are there as jewels for the enterprises. Thus EAI is bound to play a vital role in extracting the critical components from these legacies and to design new applications to meet the advanced requirements from the customers.
Packaged applications, such as Enterprise Resource Planning (ERP) packages from SAP, PeopleSoft, Oracle and other vendors, also figure prominently in the EAI landscape. In the last decade, utilizing of packaged applications have grown significantly as they can provide proven solutions to common business needs. Development of maintenance become the problem for the vendor only and this helps the IT staff in the enterprises to concentrate on the problems specific to their business. Here comes the need for EAI as packaged products from a single vendor can not meet all the requirements of an enterprise and these products should be integrated with enterprise-specific custom applications and sometimes with other packaged products. Thus nowadays having realized the importance of integration process, package vendors started to seek the help of EAI technologies to make their products EAI-compliant.The World Wide Web and EAI
The Web has become a key factor in the emergence of EAI as an important technology. There are several Web-based applications that depend on EAI. The arrival of Web and its related Internet technologies are fundamentally necessary for EAI. Also the Web happens to be a real revolution and has become the largest information base. There came technologies to disseminate, communicate and share the information to anyone at anytime from anywhere. The Web has brought quite a lot of innovations in commerce and trade, information exchange, etc.
From the perspective of EAI, several aspects of the Web revolution are significant. The Web provides universal connectivity, creates a whole new arena for business explosion and ultimately gives the controlling power to the users. Thus, anyone with a Web browser and an Internet connection can view the Web sites of those who are in the field. Also a business can offer its customers revolutionary products and services through the web and every business is being compelled to join the race to offer those products and services. This provokes competition among the enterprises and results in a number of benefits, such as extraction of the best service and price, for the users, such as employees, supply-chain partners and customers.
The Web affects any enterprise in two ways. One is, a business can offer its customers revolutionary new products and services through the Web and the second one is virtually every business is compelled to join the race to offer those new products and services to face the competitions. The Web also can offer a new and better way to perform an existing service. The Web technology facilitate some novel services that are otherwise impossible. Business partners and consumers can meet and exchange goods and services through electronic markets. Business partners can greatly improve their coordination through Web-based exchange of information, streamlining the flow of goods and paperwork and squeezing costs out of the supply chain.
The Web has opened the floodgates of customer expectations. Customers expect to find a business on the Web. They expect to get information about products and services being offered through the Web. The Web also enhanced customer relationships. Customers like the feeling of control that they get from the best self-service sites. Businesses also like customer self-service because it can significantly reduce the cost of transactions.
Web-based application integration has moved from the experimental phase. It is expected that this process is all set to gain momentum in the days to come. Effective Web-based applications often depend on the integration of existing applications. The information and services that today's enterprises want to exploit in their public Web sites and their corporate intranets are locked up in existing IT applications. Thus EAI is a must to build Web applications that are competitive. Thus the emergence of Web has provided a crucial incentive for enterprises to utilize the benefits of EAI.Conclusion
Interest in EAI is driven by a number of important factors. With the pressures of a competitive business environment moving IT management to shorter application life cycles, financial prudence demands that IT managers learn to use existing databases and application services rather than recreate the same business processes and data repositories over and over. EAI technology is maturing fatly and it has become a key topic for IT due to business imperatives. These include the emergence of the Web, the need to develop and deepen relationships with customers and partners, streamlining internal business processes, and more importantly reducing the time to market for new applications. In fulfilling these requirements, enterprises are highly motivated to make effective use of their existing custom-written legacy applications and commercial packaged applications, which are currently the enterprise's crown jewels. They are highly efficient and robust and above all there represent an enormous investment. But there are a lot of things to be understood before embarking on integration. They are what applications need integration, platforms, data formats, protocols, what EAI technology to be used etc.