Application integration is the merging and optimization of data and workflows between two disparate software applications, often a new cloud application with a legacy on-premise application.
The need for application integration usually arises when a company adopts a new software application to improve or replace an outdated business process. The new application is desirable for its efficiency, but problems arise during implementation because the new software must interoperate—usually in both upstream and downstream processes—with legacy applications. Application integration is the effort to create interoperability and to address data quality problems introduced by new applications.
Most businesses employ the use of enterprise applications such as supply chain management (SCM), enterprise resource planning (ERP), or customer relationship management (CRM). When business processes all filter through these large applications, everything works smoothly. But these applications do not always offer the most innovative solution to a common business problem. Cloud and mobile applications often offer an easier way for employees to do certain aspects of their jobs, and when this happens, the organization must create integrations between the old and the new.
Often the easiest way to integrate applications is to manually program point-to-point interactions between two applications. But over time, as more integrations are added, this becomes untenable. Overseeing dozens or hundreds of manual integrations is very challenging. Thus the prevailing best practice for application integration is the use of middleware to consolidate and federate integration architecture.