Coupling versus Cohesion

In looking at the applications and databases that make up the application integration problem domain, you should always consider an integration alternative that, generally, comes down to one of two choices coupling or cohesion. This concept extends to Chapter 4.

Coupling, in the context of application integration, is the binding of applications together in such a way that they are dependent on each other, sharing the same methods, interfaces, and perhaps data.

At first glance, coupling may seem like the perfect idea. However, you should not lose sight of what it really requires the tight binding of one application domain to the next. As a consequence of this requirement, all coupled applications and databases will have to be extensively changed to couple them. Further, as events and circumstances evolve over time, any change to any source or target system demands a corresponding change to the coupled systems as well. Coupling creates one application and database out of many, with each tightly dependent upon the other. Service-Oriented Application Integration (SOAI) clearly leverages coupling in binding applications together.

Because coupling requires changes to source and target systems, it may not fit with most application integration problem domains, where the participating systems are not under central control.

In contrast to coupling, cohesion is the "act or state of sticking together" or "the logical agreement." Cohesively integrated applications and databases are independent from one another. Changes to any source or target system should not affect the others directly. In this scenario, information can be shared between databases and applications without worrying about changes to the applications or databases, leveraging some type of loosely coupled middleware layer to move information between applications, and make adjustments for differences in application semantics.

You need to consider the tradeoffs. Cohesion provides the greatest flexibility as the application integration solution moves into the future. Systems can be added to, changed, or removed from a cohesive application integration solution without typically requiring changes to any of the other systems in the problem domain. Integration brokers provide the technology infrastructure of most cohesive application integration solutions. They are able to account for the differences between systems, accommodating differences in application semantics within a middle-tier process.

Despite cohesion's flexibility, if common business processes are to be reused, then a coupled approach provides more value. Distributed objects, transaction processing (TP) monitors, application servers, and, of course, Web services provide a good technology solution for a coupled application integration solution. We'll cover that in Chapter 4.



Next Generation Application Integration(c) From Simple Information to Web Services
Next Generation Application Integration: From Simple Information to Web Services
ISBN: 0201844567
EAN: 2147483647
Year: 2005
Pages: 220

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net