Enterprise IT has been around for few decades and most companies have already deployed several IT systems. In most cases the different IT systems and applications of an enterprise have been developed and deployed independently from each other based on distinct procurement processes and by different vendors. Therefore, enterprise IT systems tend to form disaggregated silos that do not talk to each other, each one dedicated to supporting business processes in key functional areas of the enterprise such as finance, accounting, sales, marketing, production, human resources and more. For example, there are finance and accounting systems that support budgeting and payable accounts processes, as well as human resources systems supporting functionalities such as payroll and tracking of employee benefits. Nevertheless, enterprise processes cannot always be aligned to the “vertical” nature of legacy IT systems, given that a large number of business processes transcend the boundaries of different functional areas. A very common example is a typical order fulfillment process, which involves the reception of an order through a sales system, its invoicing through the finance & accounting system, as well as the scheduling of its production through a manufacturing and production system.
Understanding EAI needs and options
In order to support cross-functional processes, there is a clear need of integrating systems and modules that serve functions across different areas. In practice this requires an integration of diverse software applications and hardware systems, in order to enable previously isolated systems to “talk to each other”. This integration is termed EAI (Enterprise Application Integration), which refers to both the middleware technologies and the specification of the integration processes that empower it. EAI is one of the main IT-related concerns of most modern enterprises, since it enables the streamlining of business operations while facilitating improvements to managerial decision making. From a technological perspective, the goal is to alleviate the heterogeneity of existing distributed systems in terms of their platforms and interfaces. The latter interfaces will provide the common language that systems will use to exchange data and services. From a business perspective, the goal is to express the functionalities of the various systems as services, while at the same time providing the means of combining and integrating services in complex service workflows that align to the desired cross functional business processes.
There is a host of approaches and products for successful EAI implementations, which satisfy the above-listed technology and business requirements. One of these approaches involves the deployment of new IT systems, which support integrated enterprise processes in addition to vertical functionalities and modules. In particular, the well-known Enterprise Resource Planning (ERP) systems support end-to-end cross-functional business processes and provide a unified view of the whole organization. Nevertheless, ERPs are not a good option for organizations wishing to protect their existing investments in legacy IT systems and related processes. To this end, enterprises can opt for EAI approaches that reuse and integrate the majority of legacy IT systems, notably solutions based on distributed middleware platforms. One of the most prominent approaches in this category is the design and deployment of Service Oriented Architectures (SOA), which emphasize the modeling of legacy IT systems in terms of the services they provide and enable the combination of services in order to support cross-functional business processes. SOA approaches have different flavors, since they can be implemented based on the integration of on-premise systems with cloud-based systems in a variety of deployment configurations. Beyond SOA and ERP, there are also other integration approaches which can be used for simpler or specialized problems, such as direct sharing of databases.
The Challenges of EAI
With so many technology options, making the right choices is challenging. A rich set of parameters should be considered, including the total cost of ownership of the EAI project, the existing and target states of the integration, the amount of investment in legacy IT systems, as well as the way technology choices align and support the company’s business strategy. Special emphasis should be given in the assessment of optimal and worst case scenarios, including trade-offs between integration efficiency and cost. Beyond technology and business issues, EAI projects have also to cope with complex change management issues stemming from the need to deal with internal resistance to change, while at the same time taking into account politics and cultural issues within the organization.
In order to cope with these challenges, enterprises need to have strong commitment from senior management, while establishing partnerships with experts that can help them both in taking the right decisions and in the overall management of the EAI project. The right people, the right organization, the right management and the selection of the right technology are the keys to EAI’s success.