Technologies for uniting the enterprise
Peter M. Batty
Smallworld Systems, Inc.
5600 Greenwood Plaza Blvd.
Englewood, CO 80111
Overview
The main focus of this paper is the integration of major business systems, an area which
is now commonly known as Enterprise Application Integration (EAI). The problems with
a traditional point to point integration approach are examined, and an alternative
approach often known as an "integration bus" is explained. The role of XML in this
arena is briefly discussed. An overview is given of IEC TC57 Working Group 14, a
major standards initiative in this area, focused on electric distribution. The industry trend
towards merging of major systems into integrated application suites is also examined.
In the latter part of the paper, a few other aspects of technology for "uniting the
enterprise" are examined. While EAI is primarily focused on data flows between major
systems, there is also a requirement for imbedding functionality from one application
within another to streamline workflow. A brief discussion is included on how component
and distributed object technologies can help to achieve this. Finally, the issue of
distributing functionality throughout an organization is examined, with a particular focus
on the Internet, mobile devices and wireless communications.
Enterprise Application Integration (EAI)
Problems with point to point integration
The traditional approach to integrating corporate systems has been to write direct
interfaces between each pair of systems which need to be integrated. This leads to an
architecture like that shown in the following diagram:

With this approach, in order to integrate n systems it may be necessary to write n * (n-1)
separate interfaces. In addition to the major effort required to develop these interfaces,
there are a number of other serious drawbacks to this approach. A major issue is ensuring
data integrity. If one of these systems fails and has to be recovered from a backup which
is not fully up to date, it may well be impossible to fully restore data integrity between
this system and all the other systems it is interfaced. Another issue is the difficulty of
replacing one of these major systems, since all of the interfaces it is involved with need to
be rewritten.
The "integration bus" approach
There is a much better approach to this problem, which is commonly known as an
"integration bus" or "publish and subscribe" approach.

n bus
In this approach, all systems talk to a single "integration bus", which is a piece of
software (or "middleware") which manages the passing of messages between
applications. There are several companies which provide this type of software, including
specialist companies such as Vitria and TIBCO, as well as some of the major hardware
and software companies such as Compaq, HP, IBM and Microsoft.
Any applications can publish events onto the bus, and the bus takes care of delivering
each message to all applications that have subscribed to events of that type. For example,
assuming that facility updates were done in the GIS, the GIS could publish an event to
indicate that a new facility had been added (or an existing one updated). This event
would be passed to all the other systems which had subscribed to facility change events -
which would probably at least include work and asset management, SCADA, and outage
management in this example. Another example of an event might be that a feeder breaker
had tripped, which would be published by the SCADA system and subscribed to by (at
least) the outage management system. The application which publishes an event to the
bus does so only once, and has no knowledge of which applications have subscribed to
that event. Similarly, an event subscriber has no specific knowledge about the publisher.