| Lesson 6
| Enterprise application integration
| Describe enterprise application integration.
Enterprise Application Integration
What is Enterprise Application Integration?
Enterprise application integration (EAI) products package a variety of integration technologies, often optimized for e-Commerce style solutions.
In a way, they are middleware suites. Though the name Enterprise Application suggests integration of enterprise applications, like ERP, HR, and
financial management. EAI has become a bit of a misnomer. Use the MouseOver below to learn more about EAI.
- Integration Techniques: While EAI products may offer interfaces to the market leading enterprise application
products, EAI products often bring together a variety of cutting edge integration techniques, including XML, data integration, publish and subscribe, and ORBS.
- Standard Components: To add to the positive story of EAI products, many of the products express their capabilities through standard
components, like Enterprise Javabeans and COM objects, making them easy to extend and integrate into server side e-Commerce Solutions.
- Infrastructures: In addition, some EAI products now include their own design/development environments, and management infrastructures.
Finally, we see EAI products moving into the enterprise portal space, precisely because they can offer threads to a variety of application types.
- Message Oriented Middleware: Also in the EAI category we see the next generation of Message-Oriented Middleware, which extensively uses the publish and subscribe model for Message and Application brokering. This topic was previously discussed within the Message-Oriented Middleware lesson.
Integrating Legacy Data
In e-Commerce there is an incredible demand for integration with legacy applications.
Many EAI products offer that integration, either through "screenscraping" (mapping 3270 and 5150 green screens to replacement front-ends or middle-tier services), or data-streamscraping
EAI products typically offer a rich and varied set of products, and many EAI vendors have done a good job integrating these products.
Ultimately, however, programmers will need to interoperate with all the EAI goodies, often through a development tool.
Therefore, EAI products that package their goodies in easy-to-digest form, that follow component standards like EJB 
for example, will prove friendliest in the long run.
Consider the risk associated with EAI product vendors
EAI vendors typically look like new-generation vendors, finding ways to creatively mix and match a variety of integration technologies, even
though some are in fact older companies with new faces. Nonetheless, continued consolidation is expected in the EAI marketplace. There is
certainly a small amount of risk associated with practically any EAI vendor choice.
Two areas of EAI that may have a startling effect on evolving e-Commerce solutions include XML-based
legacy integration and publish and subscribe message brokering.
Enterprise application integration (EAI) tools/vendors
Click the link below to read more about the vendors and tools associated with EAI products.
We should emphasize that our characterization of the following vendors reflects a rather narrow segmentation of EAI products.
EAI Tools Vendors
Data-streamscraping has picked up significant momentum, for EAI products can use XML as the mapping and synchronization technology to get data out of the legacy application's data stream into the more modern e-Commerce solution.
Enterprise JavaBeans (EJB):
Define how Java objects interact with other objects. It is actually possible to develop Enterprise JavaBeans in
other languages, but they must be translated into Java byte codes, and organized as a EJB component. The EJB is executed within the context
of a J2EE or J2SE virtual machine.
Component Object Model (COM):
Microsoft's language independent component architecture intended to provide general purpose, object oriented
means to encapsulate commonly used features and functions. The following page contains more information with respect to
Enable designers to create customized tags that provide functionality not available with HTML.
For example, XML enables links to point to multiple documents, as opposed to HTML links, which reference one destination each.
The following page contains more information with respect to