Application Integration Projects:
Business process integration (BPI) projects involve automation of end-to-end processes, such as order-to-cash, credit-approval, and purchase-to-pay. They require complex business logic, involve extensive human-machine interaction, and require native connectivity to legacy applications in order to leverage the business logic. For example, a credit-approval process involves multiple steps of approval and human interaction, requires complex business logic to determine the creditworthiness of a customer, and typically needs information from multiple systems to determine an answer. Business process integration has now logically extended into a new area called Business Activity Monitoring (BAM), the need to provide a consolidated view of key performance indicators (KPIs) synthesized from different applications.
Enterprise application integration (EAI) technologies effectively solve BPI and BAM problems with a comprehensive suite of complex software modules. A complete EAI solution involves many moving parts, including hardware, operating systems, sophisticated stacks of integration software, adapters installed at endpoints, monitoring software, and the list goes on. Data warehousing projects are similarly complex, involving the movement of massive volumes of business information from enterprise systems to a central repository. Business users perform detailed analytics and run ad-hoc queries against this central repository using front-end reporting tools. Data warehousing projects are batch-oriented and often involve millions of transactions on a daily basis. For example, a company wanting to perform detailed analytics on its sales history for the past year uses data warehousing solutions to provide this information. Extract, transform and load (ETL) vendors have successfully provided very specific batch-oriented tools to solve these types of problems.
However, a vast majority of integration problems in an enterprise are simpler than business process integration and data warehousing projects. Although no integration is simple, this category of integration problems, known as application integration, is mainly point-to-point and simpler than the complex problems already mentioned. Application integration addresses the need to synchronize and integrate business information—such as customers, suppliers, items, inventory, and orders—in a real-time manner across business applications and partners. Application integration creates a consistent view of information across the enterprise and enables businesses to make fact-based decisions and provide better customer service.
Without application integration, organizations create islands of information that lead to operating inefficiencies and customer dissatisfaction. For example, a local phone provider that did not have customer information synchronized across its billing, customer support, and technical support systems would quickly run into trouble. Additionally, since companies need to synchronize and integrate their data across applications before streamlining their business process (using process integration) or reporting on it (using data warehousing), application integration is a necessary first step for these more complex projects. The need for a single, real-time view of core business information such as customers, items, inventory, and pricing, has expanded the need for application integration today. Such projects are more numerous than process integration or data warehousing projects, have simpler requirements, and often require short delivery timeframes.
Using a Chainsaw to Open a Letter
So how are companies solving the growing need for application integration and why are these solutions so time-consuming and expensive? The answer is that some customers have attempted to use complex EAI and ETL technologies for simpler point-to-point projects. While these solutions have been very effective in solving complex integration problems, they have proved to be an overkill for the simpler point-to-point problems. Companies have not only incurred high implementation and operating costs, but also have been faced with project cycles that span many months, mainly driven by the need for sophisticated IT skill sets to develop and manage these complex solutions.
As an alternative to these complex solutions, many customers have chosen to piece together their own one-off custom built solutions for application integration using batch, SQL, VB scripts, and the like. These homegrown solutions may be adequate in the short term but are not a good long-term answer for many reasons. First, they are all one-off solutions to solve a specific need, which are not flexible enough to meet future demands. Second, while they solve a problem if everything works as it should, they are not typically built in a way that feeds the existing management and maintenance infrastructure so critical after deployment.