Integration and Enterprise Application Integration


Enterprise application integration (EAI) refers to a set of tools, technologies, methodologies, and infrastructure intended to "integrate" the data and functionality in the many applications that exist with an enterprise.

Most businesses now have dozens to hundreds, and in some cases thousands, of applications that they use to run their businesses. Each has its own definition of what the data in these applications mean. They spend between 30% and 60% of their development and maintenance budgets on building and maintaining integration between their applications.

There are several approaches to integrating systems, each with its own advantages and disadvantages:

  • Manual—Still the most common way to integrate two systems is to have a human read information from one system and enter it into another. This has the advantage of flexibility and low capital cost, and it provides a way to handle data anomalies, but it is by far the most expensive way to do integration.

  • Shared database—Having two applications share a single database ensures that they are dealing with a consistent data definition. The main drawback to this approach is that as we add more applications to a database we are essentially creating larger and larger applications. Applications do not scale, and as they get larger they become less economical to build and maintain. In addition, the popularity of packaged software has marginalized this approach.

  • Point-to-point interfaces—There are many ways to write an interface from one application to another: You can call a routine in the other application, you can write out a record specifically for the other system to process, or you can write records directly to the other system's database. They all suffer from a scale problem: If you only have a few applications to integrate, this works fairly well; if you have dozens or hundreds of applications, however, the number of interconnections goes up geometrically while the number of applications only increases arithmetically.

  • Messages and intermediaries—Most of the attention of late has been on approaches that would create some sort of intermediary so that each application would not need to know about every other application. By knowing only about the "hub" or "broker," the number of interconnections can be reduced dramatically. Messages also help with this approach by creating a more flexible structure that can survive many changes without requiring changes on the part of the receiving application.

Almost every company has a combination of all these approaches in place, with most current efforts being directed toward the messages and intermediaries approach.

What makes EAI so difficult and time consuming is that each application has a definition of the terms it uses. Often this definition is not explicit, but it is in use in the organization. Integrators look at the definition of the terms and often assume that the definition is what was implemented. They figure out how the data must be converted to make it compatible, and then they write programs to do those transformations. However, in test, or sometimes in production, it is occasionally discovered that a particular field is used for some purpose other than what it is documented as.

The application of semantics in this area enables us to find what the data in each of the applications really means, both what it is purported to be and how the extant data is being used. Semantic modeling in connection with data profiling is very helpful for this.




Semantics in Business Systems(c) The Savvy Manager's Guide
Semantics in Business Systems: The Savvy Managers Guide (The Savvy Managers Guides)
ISBN: 1558609172
EAN: 2147483647
Year: 2005
Pages: 184
Authors: Dave McComb

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