Summary
Enterprise Application Integration (EAI) is one of the hot-button issues in
Information Technology in 2000. Information Week's research survey of
300 technology managers showed nearly 75% of respondents said EAI is a planned
project for their IT departments in the coming year. According to a study by
Bank Boston, the market for EAI is expected to be $50 Billion USD by 2001.
Successful EAI requires a careful combination of a middleware framework, distributed
object technologies, and custom consulting. Many vendors have evolved out of
the middleware space, and some are coming from the Extract/Transform/Load space.
It remains to be seen what approach will provide the most value for a new EAI
product. Many of these products are refashioned middleware tools.
Vendors
are attempting "out of the box" solutions, but there is immense complexity involved
in integrating applications, particularly extended supply chain, e-commerce,
and customer relationship management/sales force automation. The key to the
entire puzzle is in the architecture of the integration, which must be carefully
examined before any implementation is attempted.
EAI
began at Goldman Sachs in New York nearly 10 years ago, where they funded the
Teknekron Information Bus (TIB) to pump stock market quotes into different systems.
The programmers who wrote Teknekron then left and founded TIBCO. Many of those
same developers are now with Vitria.
The
basic components required to achieve EAI are the following:
Business
Rule Component: to allow the applications to understand your business processes
Business Logic Modules (i.e. supply planning, sales order
processing. Methods for business process management.)
Transformation
tools (to define how to map data from one system to another)
Data
Acquisition Component: to allow access to the data
Data Source and Target Interfaces (i.e. Siebel, SAP, PeopleSoft, ODBC,
Oracle, CICS, IMS) - note that the data acquisition component is crucial to
EAI success. Most vendors refer to these interfaces as "adapters" -
System
Development Component: to allow programmers to design and test custom requirements
-
Design tools (for business process design, debugging, and testing)
A published API (Application Programming Interface) to the
product so custom extensions can be written as needed
System Control Component: to allow the application to
be monitored and controlled
Management tools (for application-specific monitoring), preferably
with support for the Simple Network Management Protocol (SNMP) via a vendor-supplied
SNMP agent
Directory tools (for locating other applications on different
platforms), particularly support for the Lightweight Directory Access Protocol
(LDAP)
ommitment control management mechanisms (for control of business-level
logical units of work)
Strong support for metadata management, preferably distributed
and bi-directionally synchronized
Message Brokers (to control transactions, control security,
and perform event notification, i.e. IBM's MQSeries, or Microsoft's MSMQ for
Windows NT). The product should also include the capability to "bridge" messages
between different messaging systems (i.e., an IBM MQSeries mainframe application
that needs to communicate with a Microsoft MSMQ application on Windows NT)
Scalability for high-volume transaction throughput. We
cannot put enough emphasis on attention to scalability. It is almost impossible
to know at implementation time what the data volumes will be in the future
Support for varying levels of fault tolerance, load balancing,
and failover for mission-critical systems
Workflow enablement (via SMTP, publish/subscribe capabilities,
etc.) is a key requirement to reduce latency between distributed processes.
The product should also have links to workgroup products such as Lotus Notes
System
Access Component:
A Web-based portal for transparent, integrated information
access
The
ability to work both inside and outside the corporate firewall
To
attempt to explain EAI, an understanding of data-oriented middleware is necessary.
In addition, the "portal" concept must be explained, as the web is the standard
front-end to these distributed technologies. The topology of this type of application
can be split into two parts; the first is the middleware that connects the disparate
data sources, the second is the business logic that provides a unified view
of the data. Given the complexity of this solution, consulting is required to
integrate all the pieces, as there is no "out of the box" solution that can
provide plug-and-play integration.
Much
consideration must be given to the coupling of time and process. There are three
basic communication types which may be required for the middleware solution:
Asynchronous:
provided by products such as IBM's MQ Series, used in situations where the communicating
applications don't need to be active at the same time. This allows applications
to be "loosely coupled in time". An example of this would be a terminal application
feeding a batch process.
Synchronous:
provided by OMG's CORBA and Microsoft's COM, used where the business logic requires
that the applications communicate in real-time. The requesting transaction waits
until it receives the result set from the other application.
Transactional:
using transaction monitors such as IBM's CICS or BEA's Tuxedo. This is required
where the logical unit of work (defined as one business transaction) spans multiple
systems.
The
last major requirement for an EAI system is security, typically in the form
of single sign-on (to provide access to all the required data without multiple
passwords.) Using EAI provides a business with the ability to consolidate "stovepipes"
of information from various transactional, legacy, relational, and other sources
into a unified and secure view.
An additional challenge is the need to rationalize the data in the different
data sources. For example, the definition and datatype of the "customer" field
may vary from one database to another. These dimensions need to be conformed
in order for any meaningful integration to take place. The integrator must also
take into account how "real-time" the application's data needs to be. Event-based
synchronous communications can be difficult to define, usually requiring database
triggers or database log analyzers. When the data source is not a relational
database (i.e., a text file), this process can become extremely complicated.
Market
Impact
Data extraction tool and message-oriented middleware vendors are having to scramble
to add additional functionality to their software. According to Richard Soley,
chairman and CEO of the Object Management Group, "The need for enterprise application
integration is nothing new. Common business problems driving the EAI market
include mergers and acquisitions, supply chain integration, accessibility to
legacy data, and the emergence of e-commerce and globalization. All of these
factors are driving demand for an integrated enterprise. By implementing these
EAI-oriented initiatives, the OMG is concentrating on end-user needs and helping
define integration specifications based on existing standardized middleware
frameworks, including the OMG's CORBA technology."

The OMG's first technical workshop on EAI will be held in February 2000. Look
for packaged EAI applications to become more prevalent in the next two years
(90% probability). Custom consulting, however, will still be required to "wire"
the middleware together (100% probability.)

Vendors
in this market space include:
Active Software: ActiveWorks Integration System
Alier: EnterpriseConnect
Auxilium: Info*Engine
BEA Systems: WebLogic
Candle: Roma
Cel Corporation: Celware
Constellar: Constellar Hub
CrossWorlds Software: CrossWorlds integration applications
Extricity Software: AllianceSeries
Iona Technologies: Orbix
MITEM: MitemView
New Era of Networks: (NEON) Convoy
Oberon Software: Business Integrator, Commerce Integrator
Saga Software: Sagavista
Software Technologies (STC): e*Gate Enterprise Integration
Talarian: SmartSockets
Tanit: Tanit CAST, Tanit STREAM
Tempest Software: Tempest Messenger System
Tibco: TIB/ActiveEnterprise
TSI International Software (Mercator): Mercator E-Business Broker
Vitria Technology: BusinessWare
Many
of these vendors have only written pre-packaged applications for particular
vertical industries (i.e., Telecom), so customers will have to investigate multiple
vendors to insure there is support for their particular industry.

User
Recommendations
Customers
with a need for EAI should ensure that the vendor and/or consulting firm used
to build the application has a proven methodology for application integration,
and check reference sites. Since the whole idea behind EAI is to integrate disparate
data and technologies, the methodology should be component-based. The effort
will be arduous, but the returns from an integrated information portal can be
significant. Customers should try for the highest level of abstraction from
the middleware to help promote reuse of components, reduce the level of coupling
between applications, and reduce the amount of custom coding required in lower
level languages (i.e. C or C++).
If
the application is to be used over an extranet or the Internet (EAI is also
sometimes referred to as IAI, or Internet Application Integration, when used
with external customers), the product should support the Secure Sockets Layer,
access control lists, and X.509 certificates. In addition, the prospective customer
should ensure that the tool employs UML (Unified Modeling Language) compliant
business process modeling.
Glossary
ODBC:
Open Database Connectivity. A database programming interface from Microsoft
that provides a common language for Windows applications to access databases
on a network. ODBC is made up of the function calls programmers write into their
applications and the ODBC drivers themselves.
JDBC: Java Database Connectivity. A programming interface that lets Java
applications access a database via the SQL language. Since Java interpreters
(Java Virtual Machines) are available for all major client platforms, this allows
a platform-independent database application to be written. JDBC is the Java
counterpart of Microsoft's ODBC. Java was originally developed by Sun Microsystems.
OLE
DB: OLE (Object Linking and Embedding) Database. A programming interface
for data access from Microsoft. It functions in a similar manner as ODBC, but
for every type of data source not just SQL databases. Applications can use OLE
DB to access ODBC databases as well. OLE DB for OLAP is used to access OLAP
databases. OLE DB is a COM object.
COM:
Component Object Model. A component software architecture from Microsoft, which
defines a structure for building program routines (objects) that can be called
up and executed in a Windows environment.
Native
Interface: An interface written to a specific database API (Application
Programming Interface) which gives access to all of the features provided by
the database vendor. It is typically more robust and faster than using ODBC,
JDBC, or OLE DB (which are database translation interfaces.)
Database Gateway: A product that provides a connection to a database
through a proprietary interface. Typically gateways make the database being
connected to "look" like the gateway vendor's database (i.e., Oracle's gateway
to IBM DB2 makes DB2 look like an Oracle database). Database gateways translate
SQL calls into a standard format known as Format and Protocol (FAP). One of
the most popular gateway architectures is IBM's Distributed Relational Database
Access (DRDA).
CORBA:
Common Object Request Broker Architecture. A standard from the Object Management
Group (OMG) for communicating between distributed objects (objects are self-contained
software modules). CORBA provides a way to execute programs (objects) written
in different programming languages running on different platforms no matter
where they reside in the network. CORBA is suited for three-tier (or more) client/server
applications, where processing occurring in one computer requires processing
to be performed in another. CORBA is often described as an "object bus" or "software
bus," because it is a software-based communications interface through which
objects are located and accessed.
Business
Intelligence Portal: A corporate portal that enables users to query and
produce reports on enterprise-wide databases. The term was coined by Information
Advantage, makers of the MyEureka software, which was the first to combine BI
software with a corporate portal. Information Advantage has since been acquired
by Sterling Software.
UML:
Unified Modeling Language. An object-oriented design language from the Object
Management Group (OMG). Many design methodologies for describing object-oriented
systems were developed in the late 1980s. UML "unifies" the popular methods
into a single standard.
SSL:
Secure Sockets Layer. The leading security protocol on the Internet. When an
SSL session is started, the browser sends its public key to the server so that
the server can securely send a secret key to the browser. The browser and server
exchange data via secret key encryption during that session.