Enterprise Application Integration

Enterpriseapplication integration (EAI) is actually a misnomer. Since the fundamentalobjective of EAI software is to integrate data between applications, it shouldreally be called enterprise data integration. Unfortunately, since EDI isalready spoken for, we’ll have to settle for using the existing terminology.

The EAImarketplace is similar to other fast growing high-tech markets with its manyvendors claiming to have a complete solution and all clamoring for attention.The reality is that there are relatively few vendors who have a completesolution. You’ll need to assess how these few solutions address the specific businessproblem you’re attempting to resolve with EAI software.

Theoriginal EAI products came from the health care, telecommunications, andfinancial services industries. These industries have many departmentalapplications that need to share data. In health care, for example, mosthospitals use best-of-breed applications for laboratory, medical records,patient accounting, pharmacy, radiology, scheduling, and myriad otherdepartmental solutions. Integrating the data across all these applications at alarge institution requires reliable software that can handle a wide range ofdata formats, protocols, and platforms.

There areseveral types of EAI applications on the market today. Gateways tend to focuson data and protocol transformation. These systems can take a data stream fromone application and make it compatible with the input required by anotherapplication. This used to involve transformations at the network protocol level-- such as Ethernet to token ring -- but with the widespread adoption of TCP/IPover the past five years, that has become less of an issue. The strength of thegateway approach is that it often doesn’t require any modifications to eitherthe source or target application.

Messagingsoftware, on the other hand, typically does require an application to bemodified to make it compatible with the message queue APIs. This may beworthwhile if the organization has made a corporate commitment to a specificmessaging backbone, or if the applications that are being acquired havebuilt-in message queuing adapters.

The adventof packaged applications has led to the rise of another category of vendors whodeliver pre-configured application adapters that work directly between systemsat the business API level, such as SAP to Siebel. These products can beattractive since they get integration up and running relatively quickly. Thedownside is that you need compatible applications, and the software can beexpensive.

Finally,we’re starting to see systems coming out that enable workflow capabilities thatspan multiple applications. This can be useful when a business process needs totouch several discrete systems, such as accounting, warehousing, customerservice, stock replenishment, and shipping.

What shouldyou be looking for while evaluating the various EAI packages on the markettoday?

The firstpoint is a rich library of build-in adapters, which, hopefully, includes allthe applications, data formats, and protocols your shop supports today andexpects to support in the future.

Forenvironments where customized adapters must be built, you want a gooddevelopment tool with a GUI that lets you drag-and-drop components into a datamanipulation model. This tool should have a complete set of transformationcapabilities that manipulate and manage the data stream as it flows from sourceto target. It should also have complex logic -- such as if-then-else and CASEstatements -- that give the software the flexibility it needs to adjust tochanging inputs and outputs.

The runtimeenvironment needs a robust store-and-forward mechanism. This provides severalbenefits. Data is queued if the target system is overwhelmed or unavailable,which helps ensure that there is no data loss and that throughput can beadjusted to meet the capacity of the target system. A store-and-forwardmechanism based on a transaction-processing relational DBMS provides greaterdata integrity, since it allows the system to recover from a failure. Thismechanism makes it easier for the system to forward a message or data packet tomultiple targets.

The runtimeenvironment should have administration tools that allow you to manage thesystem -- such as add, modify, or delete sources and targets, schedule events,among others. It should also have strong exception and error-handling functionsthat the administrator can monitor.

Otherthings to look for include XML support, cross-platform support, and reliablefault tolerance and fail over capabilities. After all, an EAI system can easilybecome mission-critical and a failure can create a real mess that you might becalled upon to clean up. --Robert Craigis vice president of marketing at Viador Inc. (Burlington, Mass.), and a formerdirector at the Hurwitz Group Inc. Contact him at robert.craig@viador.com.