OpenEAI

Home Contact Follow Donate What's New? About the Project Project Departments Documentation Demos & Downloads Training & Support Subversion Repository Project Wikis Issue & Features Tracking

About the Project » OpenEAI Overview

About Enterprise Application Integration (EAI)

Organizations have practiced enterprise application integration (often without explicitly recognizing it) ever since they used more than one information system or application to share or operate on the same data... so the issues of EAI go back a long way in every organization that maintains information systems. With the advent of the internet and the pervasive use of the World Wide Web as a medium for both delivery of application services and inter- and intra-organizational communication, the need for a structured approach to efficiently interfacing applications has dramatically increased.

In recent years, the term EAI was coined (and mostly stuck) to refer generally to the concepts, principles, and problems involved with integrating information systems. Other buzzwords and catch phrases have also emerged to describe this problem space or a superset or subset of this space. Among these buzzwords are "business-to-business" (B2B) and "business-to-customer" (B2C) "solutions", "integrations", "communications", "exchanges", and a number of other impressive-sounding terms. In order to help understand and discuss even these general concepts, the OpenEAI Project maintains clear definitions of relevant terms. We say "maintains", because like all things in this field, these definitions must be evaluated and updated as the field evolves.

Enterprise Application Integration (EAI) defined

Enterprise application integration is the practice of understanding, defining, and organizing the data and business processes of enterprises and devising a structured approach to communicating changes in the state of enterprise data or requesting changes in the state of enterprise data.

This general definition begins to express the broad expanse of the problem space the OpenEAI Project refers to as EAI. This space includes all types of integration and information exchange among applications within an enterprise and with its partners. Some enterprises are small and relatively simple. Some enterprises are vast, and employ a manifold variety of information technology and applications. Many enterprises fall somewhere in between. All enterprises can benefit from a uniform and consistent practice of enterprise application integration, because most enterprises are growing and becoming more complex. This evolution is a natural part of rising to meet new challenges and of changing to survive. Organizations purchase new information systems to meet new business needs, replace aging systems, and acquire new trading partners who have their own technical challenges and technology legacy. All of these events precipitate integration projects of one type or another.

In the face of this complexity, it is very helpful for an enterprise to have an integration methodology that can be uniformly applied to any new integration project, regardless of the technology involved. Even more helpful is a flexible technology foundation that has already been applied to many types of projects and can be readily extended and applied to new situations. The OpenEAI Project strives to provide this methodology and technology and, most importantly, to provide it in a way that allows all the individuals and enterprises that practice the methodology and use the technology to share their experience and benefit from each other's work. The goal of the OpenEAI project is to explore and codify the science of enterprise application integration in a practical, public, and methodical way.

About OpenEAI

OpenEAI defines a straightforward messaging protocol and message format in XML for both request/reply and publish/subscribe messaging models for any enterprise message object. The message protocol is based on principles inherent to EAI and is not tied to any specific technology used to implement integrations. These fundamental principles are all derived from the root concept of an authoritative source. This root concept, as well as the derivation of the fundamental principles of EAI, are explained in detail in the OpenEAI methodology documentation.

The OpenEAI methodology outlines a clear process for documenting requirements for interfaces among enterprise applications, requirements for enterprise data services, and requirements for information exchange with trading partners. A comprehensive analysis template and instructions facilitate this process for analysts and functional experts. This analysis process culminates in defining enterprise message objects using XML and specifying which XML messages defined in the OpenEAI Message Protocol will be required for each enterprise message object identified during the analysis process.

The OpenEAI application foundation and message object APIs provide patterns and a foundation for building application gateways and message-aware applications using a business-object-oriented API generated from the XML message object definitions specified during integration analysis. Although JavaTM, JMS, and XML are the native technology, message transport, and message format for OpenEAI, many non-JavaTM technologies can also be exposed through gateways or made message-aware using OpenEAI concepts and foundational APIs.

The OpenEAI Project provides a suite of runtime management and monitoring scripts and documentation for managing deployed messaging gateways and applications. Complete reference implementations of typical message-aware applications and message gateways as well as critical infrastructure applications such as message routers, message proxies, point-to-point destination polling applications, and testing applications are also maintained and documented by the project.

OpenEAI Project software and documentation artifacts will be available to the public under the terms of one of the following licenses: the GNU Lesser General Public License (LGPL), the GNU General Public License (GPL), or the GNU Free Documentation License (GFDL).

OpenEAI History

In 2000, the University of Illinois undertook an effort to define an enterprise application integration strategy that could be applied methodically and uniformly to the wide variety of legacy and contemporary enterprise information systems at the University of Illinois. The main goal of this effort was to prepare for the implementation of an enterprise resource planning (ERP) system at the University. The University of Illinois was operating and maintaining more than 150 enterprise applications. The implementation of an ERP system at the University meant that a number of these 150 systems would be replaced by the ERP system. However, many of these existing systems, whose specialized functions could not be assumed by the ERP system, would have to be interfaced with the new ERP system. Additionally, the University recognized that it would have to purchase or develop a number of new applications to fulfill critical, University-specific functional needs that would not be met by any ERP software.

During 2000, University IT staff conducted an intensive initial study of EAI concepts and products in the EAI market space. This process included experimentation with traditional, proprietary integration products and an investigation of integration development using relevant standards such as the Extensible Markup Language (XML) and the JavaTM Message Service (JMS). This initial research culminated in an RFP process in which the University prepared comprehensive integration requirements. At the conclusion of this process, the University determined that standards and products such as JavaTM, XML, JMS, and JMS providers had matured sufficiently for the University to base its integration strategy directly on them rather than on proprietary integration platforms. In doing so, the University saved a significant amount of money: it did not assume the purchase, training, and consulting costs, which are a common when implementing a proprietary integration platform. The University addressed its immediate and long-term integration needs with JavaTM and XML technologies—the same technologies to which the University had already committed itself for future enterprise application development.

In 2001, the Enterprise Architecture Group of Administrative IT Services at the University of Illinois developed a comprehensive enterprise application integration methodology, a JavaTM message object API, and JavaTM messaging and application foundation components, all based on open standards. This methodology and foundation were used to implement integrations required for the University’s ERP implementation project. The clarity of the University’s methodology and the quality of its implementation drew the interest of corporate and academic organizations that work closely with the University of Illinois—especially those involved in integration projects with the University. Given this broad interest, the University of Illinois sought to make these integration concepts and software available to these other organizations and the general public on a sound basis.

The University structured an open source project patterned on other successful open source initiatives, such as the Apache Projects. It established the OpenEAI Software Foundation, modeled closely after the Apache Software Foundation. In October 2002, the University of Illinois and the OpenEAI Software Foundation executed an agreement to initiate the OpenEAI Project. In that agreement, the University gifted its EAI work to the OpenEAI Software Foundation as a seminal contribution to the OpenEAI Project.

JavaTM is a trademark of Sun Microsystems, Inc.