In a development that reminds me of the Avalanche consortium of corporate open source users, this is an academic effort to avoid the high costs of commercial EAI brokers…

Developers at the University of Illinois are working on a major upgrade to their Java-based OpenEAI project, an Open Source alternative to expensive and proprietary ERP/EAI middleware solutions.

The OpenEAI framework 4.0 is due for release in March, is modeled after Apache, and sports a wide array of integration-enabling technologies for architects and developers, including templates, business workflow rules and components for Java, XML and ERP APIs.

The 4.0 upgrades on tap look to fill in support for XML Schema and key JDKs, but also bring added testing, visibility and management to the OpenEAI suite.

(from OpenEAI 4.0 News Story)

On a technical level, OpenEAI defines a new Open Source messaging protocol (OpenEAI Message Protocol) and message format in XML for both request/reply and publish/subscribe messaging models for any enterprise message object, Wheat explained.

The OpenEAI analysis also helps specify which XML messages (defined in the OpenEAI Message Protocol) are required for each enterprise message object identified during the analysis process.

To get a closer look at the project, Integration Developer News spoke with Stephen Wheat and Tod Jackson, founders of the OpenEAI Software Foundation and enterprise architects for Administrative IT at UoI.

“Our project is trying to provide a project model, artifacts and real-world examples,” Wheat started out. “First, OpenEAI is based on first principles, which means we need to do some work before any coding or integration begins.”

“We always start by documenting the requirements of the integration project and then secondly by defining the message objects,” Wheat explained. To that end, the OpenEAI framework comes with developer templates, which give developers guidance on specifying all the new “objects” that might be needed for an integration project, and listing how a developer makes sure those objects are in place.

Many ERP vendors do not expose Java, C or stored procedure APIs, but they offer a “message gateway” to get customers to purchase and upgrade. The OpenEAI approach looks to define, expose and leverage those APIs, he said.

Roots of OpenEAI — Looking for a Better Way
Wheat explained the roots of their OpenEAI project in simple terms. “Back in 2000, we had put out a simple integration project for bid, and every vendor’s response to the RFP was way more than our budget. We looked around again and said, ‘There’s gotta be a better approach, and maybe with XML, and other standards we can come up with something.'”

In 2001, UoI’s Enterprise Architecture Group of Administrative IT Services developed a comprehensive enterprise application integration methodology, based on a Java message object API, and Java messaging and application foundation components.

First used to begin some tactical implementation projects for personnel departments, the approach began getting the attention of other UoI departments, as well as vendor/suppliers. Given this broad interest, UoI sought to make these integration concepts and software available to these other organizations and the general public on a sound basis.

An Open Source project, patterned on the Apache Software Foundation, was launched. The resultant OpenEAI Software Foundation donated all its work — templates, design, code, methodologies — to the OpenEAI Project in October 2002.

UoI has already saved “significant money” deploying OpenEAI APIs and gateways. The other big savings is with the business manager, Jackson said.

“UoI planned a $1.5 million budget for the purchase of an integration broker and consulting/support services over 2-3 years,” Jackson said. “With OpenEAI, so far we’ve spent just about $80,000 of that budget.” While Jackson admits that staffing costs are harder to determine, because “IT staffing is free in a university setting,” he said the costs for in-house staff are nowhere near those for outside professional services.

Open Integration Starts with a Sharp Blueprint
A key OpenEAI aid to this initial part of the project is the Layout Manager, which lets a developer take a message and transform it into the “complex logic” Java API that may be used for accessing mainframe data.

“When it comes to navigating directly into mainframe applications, there are enough standards and technologies existing today that there is no reason why a Java developer needs to know all that complexity,” Jackson said. “With the OpenEAI Layout Manager, you can even have the business analyst — not the developer — work on that to describe what data he needs to work with what other data or application.”

The OpenEAI methodology presents a step-by-step blueprint for outlining a clear process for documenting requirements for key integration components, including:
1. Interfaces among enterprise applications;
2. Requirements for enterprise data services; and
3. Requirements for information exchange with trading partners.

To double-check this project definition, OpenEAI also sports a feature-rich analysis template, as well as instructions for analysts, functional experts and developers. The OpenEAI analysis process results in a defined set of “enterprise message objects” that use XML.

OpenEAI’s Messaging and Integration Approach
OpenEAI defines a new Open Source messaging protocol (OpenEAI Message Protocol) and message format in XML for both request/reply and publish/subscribe messaging models for any enterprise message object, Wheat explained. The OpenEAI analysis also helps specify which XML messages (defined in the OpenEAI Message Protocol) are required for each enterprise message object identified during the analysis process.

In specific, OpenEAI provides a suite of runtime management and monitoring scripts and documentation for managing messaging gateways and applications. Reference implementations of typical message-aware applications/gateways are also included. Support for a variety of infrastructure applications (including message routers, message proxies, point-to-point destination polling applications and testing app