Enterprise Integration Technical Foundation

Enterprise Integration Technical Foundation

DOI: 10.4018/978-1-4666-3910-2.ch003
OnDemand PDF Download:
No Current Special Offers


In an organization, its business changes in a variety of ways over time, and so do its underlying supportive IT systems. For example, the changes required at Malvern iStore were clearly shown in last chapter; one positive change that would make a significant impact on the growth of business at Malvern iStore is to conduct effective enterprise integration. Note that the underlying distributed applications and the corresponding business and operational needs vary from organization to organization, and there is surely no one-size-fits-all solution to integrating distributed applications to meet a variety of needs across organizations. As discussed in last chapter, a solution might be technically optimal, but it might not be viable financially or due to other restrictions like human capitals and time constraints. However, for organizations, no matter which approach and technology will be applied in conducting enterprise integration, in a small or large scale fashion, the ultimate goal should be the same – improving the business’s competitiveness. This chapter starts with the discussion of the foundation of enterprise integration, focusing on the basic integration mechanisms, patterns, and technologies that have been applied in integrating distributed applications over the years. Different methods of sharing data and functionality between applications will be first introduced. Certain explorations on the differences between sharing data and functionality will be presented. As socket communications, remote procedure calls, and remote invocation methods are the foundation of the middleware technology and state-of-the-art service computing, numerous relevant examples are provided.
Chapter Preview

1. The Interactions Among Enterprise Applications

Enterprise software applications interact with each other to work as a whole, so the optimal services can be offered and delivered to end users. Depending on what specific supports (e.g., order information, payment transaction, or enterprise-wide coordinated action on an auditing account) a business operation requires at a given time, the interactions among applications to support a given business activity typically differs from each other (Cummins, 2002; Smith & Fingar, 2003; Qiu, 2007). It might be different from time to time, or even change from role to role, as an application is different from another and evolves as time goes. Figure 1 shows the types of interactions among distributed applications.

Figure 1.

Interaction types among distributed applications


Figure 1 (a) is derived from Figure 2 in Chapter 1. The functionality enabled by a given application essentially defines what the IT supports the application can provide and how the application interacts with others in an organization. The computing objects at the fine-grained level in the application might be required to coordinate with other applications (Sandoe et al., 2001; Qiu, 2009). For example, updating a user’s contact information in a database warrants that all interacted applications have the same customer profile. Computational modules focusing on different units of business works at the coarse-grained level in enterprise applications might often interact with each other; integration practitioners should make sure that business activities across departments are synchronized for delivering the optimal services to customers. A good example can be modules managing a customer’s order in both the OiA and WMS applications at Malvern iStore.

Figure 2.

An example of file-based data sharing


As each enterprise application in an organization might be different in terms of the enabled integration features, interface levels, and the applied computing and networks technologies, the interactions between enterprise applications vary with the inherited design and implementation differences. Figure 1 (b) shows the interaction types among five different enterprise applications. Because of the existence of different interaction relationships among enterprise applications, it is critical for integration practitioners to choose an appropriate design and implementation financially and technically to ensure the success of enterprise integration in the long run.

Interaction types applied at different levels create either loose or tight coupling relationships between applications. A wrong design could result in an unscalable and unreliable enterprise integration implementation or undesirable business operations in an organization. Therefore, before the architectural design, integration patterns and technologies and enterprise connectivity are fully discussed, loose or tight coupling as an extremely important integration concept and terms should be introduced and discussed.

Complete Chapter List

Search this Book: