Understanding the Application Integration Problem

There are three major problems to solve when considering application integration: application semantics, information content, and platform heterogeneity.

We know that application semantics are different from application to application. For example, how you define a customer within one application is very different from how you define a customer in another. So, if you're looking to move information between two or more applications you must account for the differences in application semantics by changing the structure or schema of that information, typically on the fly as information moves from application to application.

Accounting for application semantics typically deals with the process of transformation, or changing the structure of a message or a document moving from one application to another. Most application integration-oriented technologies, such as message brokers or Business to Business Integration (B2Bi) servers, have some transformation facilities built in. Lately, as we'll discuss below, application integration technology vendors have been looking at standard transformation mechanisms based on XML, namely XSLT.

Just as we adjust the structure of information so it fits nicely into the data structure of the target application or applications, we need to alter the information content in real time as well. Using the same transformation mechanism, information content within the document or message is translated into something the target system or systems will understand. For example, while 01/01/00 might work in Application A, Application B will need that same information represented as January 1, 2000. Other typical problems we need to solve include numeric to alphanumeric, and back; fixed to variable, and back; and even looking up information on the fly for transformation such as finding the current exchange rate from yen to U.S. dollars. Once again, XSLT is proving useful for accounting for differences within both application semantics and information content.

Finally, application integration needs to account for operating system and interface differences, or platform heterogeneity. Information is not stored in the same way across platforms, nor are the native interfaces the same. For example, accessing mainframe information may require a gateway-type interface, such as ACCP, where accessing information contained inside a database uses a more traditional database interface, such as JDBC. Moreover, the way information is stored such as EBCDIC or ASCII varies from platform to platform. At some point, application integration developers have to figure out the best way to interface with source or target systems, and consume information from, as well as publish information to, specific platforms. Typical application integration problem domains consist of mainframe-based applications, ERP packaged applications, CRM applications, transaction processors, and a variety of database flavors.

The platform heterogeneity problem resolves itself in one of two ways. First, some application integration-oriented middleware provides APIs, allowing developers to create custom interfaces between the source and target systems. This typically entails creating a small application between the applications and the integration server (e.g., a message broker). Second, some application integration vendors provide adapters or prebuilt connections for a variety of systems. Adapters are able to interact with specific source and target systems using whatever native point of integration is available, ultimately consuming information into the integration technology, using a common message or document (e.g., XML). Likewise, adapters publish information to target systems using the same mechanisms.



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