Tutorial on Integration
In general, integration puts parts together into a whole somehow. Thus systems are integrated when they are to a lesser or greater extent seamlessly combined to support similar conventions or styles. At an enterprise level, enterprise application integration (EAI) software acts as a central command center for coordination between corporate applications.
For our purposes, integration refers to the ease with which systems can be used – we primarily concentrate on the user benefits. Integrated systems basically minimize the effort needed to the user of the system – the user may be a human being or another automated system. This implies that two systems, S1 and S2, are integrated if they:
A well known example of integrated applications is the Microsoft Office Suite that combines word processing (MS Word), presentation (MS PowerPoint), and spreadsheets (MS Excel) into a single package. The package allows information sharing/exchange with minimal intervention, is seamless in terms of operations, and shows consistency of behavior and presentation. Basically, the MS Office Suite minimizes the human effort in developing documents, presentations, and spreadsheets.
Another example of integration are the “unified messaging” systems that seamlessly combine voice mail, fax, and email into a single package. In unified messaging, a voice mail system S1 and an email system S2 are integrated because the voice mail from S1 can be stored as email for S2 (and vice versa) easily, and S1 and S2 provide the same "look and feel" (same type of commands, icons, and screen formats). In the same vein, a legacy application S1 is integrated with a new application S2 if S2 can exchange information with S1 seamlessly and if S1 has the same "look and feel" as S2.
Let us extend this discussion to enterprise application integration (EAI). EAI refers to the process of connecting different applications to allow information to flow between functions within an enterprise. The goal is to minimize the effort by the users of enterprise applications – the corporate personnel. Going beyond enterprises, the flow may include information flows between trading partners to minimize the effort needed for B2B trade. For example, EAI in support of an online order processing system should include the needed connections so that the order can be placed online, the availability of stock in inventory can be verified, the customer's credit can be checked, and the amount of the purchase can be approved. EAI platforms provide the middleware services that transform and route the data throughout an organization so that the individual applications can properly access the information they need. EAI platforms, also known as eAI (e-business application integration) platforms, provide the “bus” for different application to interact with one another in a meaningful way.
Since anyone can patch up a system to communicate with another, are there some guidelines based on sound design principles. Here are a few that good integration efforts should follow:
Source: Umar, A., “Enterprise Architectures and Integration Using SOA”, NGE Solutions, 2010.