Enterprise Application Integration (EAI)
Enterprise Application Integration is the process of integrating Enterprise Applications using IT enabled systems. Enterprise Applications are crucial to the operations of various modern organisations and hence their integration is even more crucial to streamline all activities and ensure smooth functioning of enterprise level activities. Applications are integrated along a common platform and need to have data integration in the back end for smooth functioning of the integrated applications.[1]
Enterprise Application Integration, usually the abbreviation EAI is used, is an approach to system integration, which was typical in 90’s. EAI approach was made possible by the development of information technologies and compared to the previous ETL approach, EAI is focused on the integration of application-level (application layer). The advantage of EAI approach was greater independence from the lower layers of an information system, such as operating systems, databases, and last but not least, the related suppliers. EAI approach to the integration of enterprise information system was made possible, in particular by:
- The existence of a universal technical standards, languages and protocols (XML, BPEL, SOAP, WSDL, JDBS, JMS, CORBA, and others)
- The existence of a universal integration technologies and solutions (J2EE, BizTalk, etc.)[2]
Evolution and Growth Of Enterprise Application Integration (EAI)[3]
The need for EAI arose in the 1980s as many companies that had already used information technology (IT) to automate various business processes began to recognize that the integration of these applications could, among other things, increase efficiency and improve accuracy within business processes. According to Internet portal ITtoolbox.com, "many corporate IT staff members attempted to redesign already implemented applications to make them appear as if they were integrated. Examples include trying to perform operational transaction processing (associated with enterprise resource planning (ERP) system functionality) on systems designed for informational data processing." ERP systems, which integrated accounting, human resources, distribution, manufacturing, and other back-end processes—those business procedures that do not directly involve customers—grew in popularity throughout the early 1990s as most major corporations began upgrading their mainframe systems with the new client/server-based ERP systems developed by industry leaders like SAP AG, People-Soft Inc., and J.D. Edwards & Co. To make these systems compatible with their legacy systems, businesses turned to EAI vendors for integration solutions. Another factor fueling the growth of the EAI industry was the growing popularity of e-commerce, which required the integration of front-end business processes—those which involve interaction with clients, such as CRM and online sales—with back-end functions like inventory management. Although many leading ERP vendors began working to incorporate these front-end processes into their systems, several new companies focused specifically on EAI emerged as well. For example, Vitria Technology, Inc. was founded in Sunnyvale, California, in 1994. Four years later, the firm shipped its blockbuster BusinessWare integration server, which linked the existing IT systems and applications of enterprises like Sprint Corp. and Deutsche Bank with the Internet. Firms could also use BusinessWare to link all sorts of disparate systems within their enterprise. For example, wireless receivers maker DMC Stratex Networks Inc. used Vitria's EAI solution to integrate its Oracle order management, financial, and manufacturing systems with its Siebel sales force automation system and its Nortel CRM system. In April of 2001, WinterGreen Research Inc. named Vitria the fastest growing application integration vendor. Another growing EAI vendor, Fairfax, Virginia-based webMethods, Inc., was founded in 1996 to create a business-to-business (B2B) integration tool based on the Internet's extensible mark-up language (XML). The firm conducted its initial public offering (IPO) in early 2000; by then, its client base included the likes of SAP, Eastman Chemical, Lucent Technologies, and Dell Computer Corp. In November of 2001, electronics retailer Best Buy selected webMethod's integration platform to centralize communications with its top suppliers. Also founded in 1996 was CrossWorlds Software Inc., an integration tools and services provider based in Burlingame, California whose clients included Nortel Networks and Caterpillar. IBM Corp. paid $129 million for CrossWorlds in October of 2001 in an effort to add EAI functionality to its WebSphere application server suite. The EAI leader, San Jose, California-based BEA Systems, Inc., was founded in 1995 by Bill Coleman, Ed Scott, and Alfred Chuang. In early 1996, the partners decided to acquire Tuxedo, a transaction processing application, from Novell, Inc. It was this purchase that formed the core of BEA's online transaction processing (OLTP) software, which would later fuel its rise to dominance in the EAI industry. ERP giant PeopleSoft agreed to bundle BEA Tuxedo with its major product releases later that year. BEA also released Jolt, its first Java-based program, which allowed users to move business applications to the Internet. The firm listed its shares publicly for the first time in April of 1997, in what turned out to be the third most lucrative IPO that year. To gain access to an application server, BEA acquired WebLogic in 1998. In February of 1999, BEA eLink, which formed the EAI component of future releases of WebLogic, was shipped. The new EAI program included adapters for integration with SAP and PeopleSoft ERP systems, as well as older legacy systems. According to a June 2000 article in Computer Reseller News, what differentiated BEA "from the pack of fierce competitors in this fragmented and evolving market—such as New Era of Networks, Active Software, Vitria, Mercator, and others—is it supplies the application development platform and integration platform, as well as a formidable services organization." Essentially, the firm was able to support its EAI solution with the well known Tuxedo system. Because EAI solutions can help companies integrate their existing systems, such as ERP and CRM, as well as allow businesses to integrate their systems with Web-based operations, the need for EAI solutions will likely continue to grow. Rising spending for enterprise application integration solutions by enterprises has resulted in improved management of Information Technology (IT) infrastructure, data integrity, and has reduced redundancies. It has eradicated the heterogeneity, multiplicity, and varying distinctiveness of key applications and infrastructures across the enterprise. Enterprise application integration solutions brings cost-effective and a solitary solution for IT infrastructure and application software available globally. It is expected that future outlook for growth in the enterprise application integration will continue to remain bright as businesses continue to search for open and distributed systems/architectures. MarketsandMarkets forecasts the enterprise application integration market to grow from $7.85 billion in 2014 to $13.35 billion in 2019. This represents a Compound Annual Growth Rate (CAGR) of 11.2% from 2014 to 2019.
Categories of Enterprise Application Integration (EAI)[4]
There are four major categories of EAI:
- Database linking: databases share information and duplicate information as needed.
- Application linking: the enterprise shares business processes and data between two or more applications.
- Data warehousing: data is extracted from a variety of data sources and channeled into a specific database for analysis.
- Common virtual system: the pinnacle of EAI; all aspects of enterprise computing are tied together so that they appear as a unified application.
Types of Enterprise Application Integration (EAI) (See Figure 1.)[5]
- Data-level EAI: is the process — and the techniques and technology — of moving data between data stores. This can be described as extracting information from one database, perhaps processing that information as needed, and updating it in another database. While this sounds direct and straightforward, in a typical EAI-enabled enterprise, it might mean drawing from as many as one hundred databases and several thousands of tables. It may also include the transformation and application of business logic to the data that is being extracted and loaded. The advantage of data-level EAI is the cost of using this approach. Because we are largely leaving the application alone, and not changing code, we don't need to incur the expense of changing, testing, and deploying the application. What's more, the technology that provides mechanisms to move data between databases, as well as reformats that information, is relatively inexpensive considering the other EAI levels and their applicable enabling technology. The approach and enabling technology you leverage depends on the requirements of the problem domain.
- Application interface-level EAI: refers to the leveraging of interfaces exposed by custom or packaged applications. Developers leverage these interfaces to access both business processes and simple information. Using these interfaces, developers are able to bundle 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 type of EAI is most applicable to packaged applications such as SAP, PeopleSoft, and Baan, which all expose interfaces into their processes and data, but do so in very different ways. In order to integrate those systems with others in the enterprise, we must use these interfaces to access both processes and data, extract the information, place it in a format understandable by the target application, and transmit the information. While many different types of technologies can do this, message brokers seems to be the preferred solution.
- Method-level EAI: is the sharing of the business logic that may exist within the enterprise. For example, the method for updating a customer record may be accessed from any number of applications, and applications may access each other's methods without having to rewrite each method within the respective application. The mechanisms to share methods among applications are numerous, including distributed objects, application servers, TP (transaction processing) monitors, frameworks, and simply creating a new application that's the combination of two or more applications. There are two basic approaches: You may create a shared set of application servers that exist on a shared physical server, such as an application server, or you may share methods already existing inside of applications using distributed method-sharing technology such as distributed objects. Method-level EAI is something we've been practicing for years as we sought to reuse application development efforts within the enterprises. We've not been largely successful due to both human and technological issues. Perhaps with EAI, we may get it right.
- User interface-level EAI: is a more primitive, but nonetheless necessary, approach. Using this scenario, architects and developers are able to bundle applications by using their user interfaces as a common point of integration (also known as screen scraping). For example, mainframe applications that do not provide database- or business process-level access may be accessed through the user interface of the application. Although many consider leveraging the user interface as a point of integration to be an unstable and archaic approach, the fact is that we've been doing this for years and have worked out many of the issues, such as performance, reliability, and scalability. Although not preferred, it may be the only solution you have in many instances. Remember, EAI at its heart is the ability to leverage any existing system by finding a reliable point-of-integration. Existing 3270 interface middleware that is typically bundled with emulators is an enabling technology to serve user interface-level EAI.
Figure 1. source: Academia.edu
Common Applications Targeted for EAI[6]
Most large companies use at least several kinds of software and types of data that are candidates for integration:
- Supply Chain Management (SCM)
- Customer Relationship Management (CRM)
- Business Intelligence and analytics
- Human resources data
- Internal and marketing communications
- Enterprise Resource Planning (ERP)
- E-Commerce optimization
Making Informed EAI Decisions[7]
All integration solutions have strengths and weaknesses, which are often dependent on the environment in which they are deployed. For this reason, making informed decisions about your EAI strategy is vital to the success of your integration initiative. In order for your EAI and SOA efforts to be successful, you don't just need the "best" technology around - you need hard facts about the product's intended use scenario, performance under load, maturity, and a deep understanding of the present and future integration challenges your organization must overcome. Before you make a decision about EAI, it's important to have a good idea of how you would answer questions like these:
- How many applications do I need to integrate?
- Will I need to add additional applications in the future?
- How many communication protocols will I need to use?
- Do my integration needs include routing, forking, or aggregation?
- How important is scalability to my organization?
- Does my integration situation require asynchronous messaging, publish/consume messaging models, or other complex multi-application messaging scenarios?
When contemplating EAI in the organization, one must first understand the sum and content of the business processes and data in your organization. IT also needs to understand how these business processes are automated (and sometimes not automated) and the importance of all business processes. Depending on the enterprise, this may demand a significant amount of time and energy. Many organizations seek new methodologies to assist them in this process and look closely at the best practices. In brief, organizations must understand both business processes and data. They must select which processes and data elements require integration. This process can take on several dimensions, including:
- Data level
- Application interface level
- Method level
- User interface level
Enterprise Application Integration (EAI) Implementation Pitfalls[8]
In 2003 it was reported that 70% of all EAI projects fail. Most of these failures are not due to the software itself or technical difficulties, but due to management issues. Integration Consortium European Chairman Steve Craggs has outlined the seven main pitfalls undertaken by companies using EAI systems and explains solutions to these problems.
- Constant change: The very nature of EAI is dynamic and requires dynamic project managers to manage their implementation.
- Shortage of EAI experts: EAI requires knowledge of many issues and technical aspects.
- Competing standards: Within the EAI field, the paradox is that EAI standards themselves are not universal.
- EAI is a tool paradigm: EAI is not a tool, but rather a system and should be implemented as such.
- Building interfaces is an art: Engineering the solution is not sufficient. Solutions need to be negotiated with user departments to reach a common consensus on the final outcome. A lack of consensus on interface designs leads to excessive effort to map between various systems data requirements.
- Loss of detail: Information that seemed unimportant at an earlier stage may become crucial later.
- Accountability: Since so many departments have many conflicting requirements, there should be clear accountability for the system's final structure.
Other potential problems may arise in these areas:
- Lack of centralized co-ordination of EAI work.
- Emerging Requirements: EAI implementations should be extensible and modular to allow for future changes.
- Protectionism: The applications whose data is being integrated often belong to different departments that have technical, cultural, and political reasons for not wanting to share their data with other departments
The Benefits of Enterprise Application Integration[9]
The benefits of enterprise application integration services are numerous:
- Improvement in management and sharing of data: EAI increases interoperability between the several departments of an organization. For the automotive industry in the US, interoperability faults may cast up to USD 1 Billion losses. An agile enterprise application software solution enables access to entire information that is gathered by business applications, eradicating data processing responsibilities.
- Automation of the workflow: For instance, you can utilize the CRM customer data to start an email marketing campaign and create reports to assess its efficiency. The EAI platform improves business processes as well as enhances transparency of financial flow.
- Flexibility in IT infrastructure: The integration of software allows organizations to develop IT facilities easily and respond timely to the growing expectations of the customer. When talking about the communication within the enterprise, there are challenges that appear when employees who are not as not as tech-savvy as others need to do technical tasks. They face troubles in managing the structure which is IT based. With bigger organizations, there could be situations when it is difficult for the executives to take care of the IT structure in the enterprise where they are not able to utilize innovative technologies optimally. EAI helps in overpowering these hurdles and streamlines the business process applying better functionality in linking information as well as the functionality of many applications into an easy-to-use interface.
- Creating new opportunities: One of the main organizational benefits of EAI is that it lets the managers know and respond to new opportunities much faster than before. Enterprise applications can help companies address shifts in the market, reputation management issues, supply chain disruption issues and more – all from a single interface.
- Increasing efficiency: EAI enables enterprises by making their communication easier, reduces their time and effort, better functionality, improved control that leads to an increase in the efficiency of the organization. It enables the organization to identify and respond to new opportunities. It can help the companies address the change in market trends, their reputation management matters, issues related to disruptions in supply chain etc. – from only one interface.
When done efficiently, EAI allows organizations to realize the holistic advantages of their investments. Enterprise Application is attaining acceptance among the organizations globally. It is not only advantageous to have EAI for enhancing organizational proficiencies, but also for the improvement an individual’s performance with several features like employee records and rewards. EAI provides several financial benefits to the transportation and logistics companies, network providers, bank, and retail organizations. Nevertheless, enterprise application software and the integration process require an expertise in the implementation of security and coding protocols.The fact is that 66% of organizations store only around one fifth of the data off-premises. This shows that there is a substantial lack of confidence in the cloud as well as EAI solutions.
Enterprise Application Integration (EAI) - Challenges[10]
Intercommunication between enterprise applications (EA), such as customer relations management (CRM), supply chain management (SCM) and business intelligence is not automated. Thus, EAs do not share common data or business rules. EAI links EA applications to simplify and automate business processes without applying excessive application or data structure changes. However, EAI is challenged by different operating systems, database architectures and/or computer languages, as well as other situations where legacy systems are no longer supported by the original manufacturers. EAI meets these challenges by fulfilling three purposes, as follows:
- Data Integration: Ensures consistent information across different systems.
- Vendor Independence: Business policies or rules regarding specific business applications do not have to be re-implemented when replaced with different brand applications.
- Common Facade: Users are not required to learn new or different applications because a consistent software application access interface is provided.
EAI, SOA or ESB: Which is Best? (See Figure 2,)[11]
In contrast to EAI, which deals with linking enterprise applications so they can communicate with one another (by means of an intelligent reasoning engine) and carry out “batch” data transfers, service oriented architecture (SOA) provides “transactional” data transfers, with no third-party software required. SOA is different from the EAI approach in that it does not depend on a third-party solution. ESB as an infrastructure software service-oriented model works as a managed message system that provides routing, data transformation, translation upon a client's request and event-interpretation. An ESB's primary function is to provide the connections between communicating applications - acting much like a router to control the data. It is commonly used in enterprise application integration (EAI) or service-oriented architecture (SOA) principles. The interaction and communication between components are across the bus, which has a similar function as a physical computer bus to handle data transfer or message exchange between services without writing any actual code. ESB is one way to implement a SOA. SOA is one way to accomplish EAI.
In deciding which one to implement, you should consider the pros and cons of each option. For instance, ESB offers a low cost as it is often used by those with limited IT resources. And even though some consider EAI to be a thing of the past, with SOA there are now packaged EAI solutions that might be appropriate for large scale integrations. SOA, on the other hand, offers better flexibility to adapt to changing requirements and technologies.
Figure 2. source: InnovativeArchitects
See Also
References
- ↑ Definition of Enterprise Application Integration (EAI)-HCL
- ↑ What is Enterprise Application Integration (EAI)? -Management Mania
- ↑ Evolution and Growth Of Enterprise Application Integration (EAI) -Encyclopedia
- ↑ What are the Categories of Enterprise Application Integration (EAI)? -Webopedia
- ↑ What are the Different Types of Enterprise Application Integration (EAI)? -Academia.edu
- ↑ What are the Common Applications Targeted for EAI? -SingleMind
- ↑ Making Informed EAI Decisions -Mulesoft
- ↑ The Pitfalls in Enterprise Application Integration (EAI) Implementation -Wikipedia
- ↑ What are the Benefits of Enterprise Application Integration -HokuApps
- ↑ What are the Challenges of Enterprise Application Integration (EAI) -Techopedia
- ↑ EAI, SOA or ESB: Which is Best? -InnovativeArchitects
Further Reading
- Research on the Model of Enterprise Application Integration with Web Services -Xin Jin
- Enterprise Application Integration: An Emerging Technology for Integrating ERP and Supply Chains -Marinos Themistocleous., Zahir Irani, and Peter E.D. Love
- A Case Study of Enterprise Application Integration Based on Workflow Management System -Baosen YangLu Liu
- Effort of EAI projects - a repertory grid investigation of influencing factors -Project Management Institute
- Investigating success factors in enterprise application integration: a case-driven analysis -wing Lam