
What is application integration?
Unfortunately the term “integration”
is ambiguous and can mean many things.
“Integration” is defined
as the process of enabling existing
and new applications to easily and
securely exchange data and functionality
with one another on an internal
and/or external basis.
EAI
(enterprise application integration)
refers to the plans, methods, and
tools aimed at modernizing, consolidating,
and coordinating the computer applications
in an enterprise. Typically, an
enterprise has existing legacy applications
and databases and wants to continue
to use them while adding or migrating
to a new set of applications that
exploit the Internet, e-commerce,
extranet, and other new technologies.
EAI may involve developing a new
total view of an enterprise's business
and its applications, seeing how
existing applications fit into the
new model, and then devising ways
to efficiently reuse what already
exists while adding new applications
and data.
Presentation Level Integration™
-- a new approach to integration
So at the end of the day today,
each enterprise has a multitude
of applications deployed on its
premises and they have a real business
need to have these applications
communicate with one another to
streamline their business.
There has to be a simpler way to
make the process of enterprise application
integration cheaper, faster, and
more predictable.
Taking
every consideration aside, i.e.
disregarding what layers the application
touches, the operating systems it
runs on, the platform it’s
built on, etc. the overwhelming
majority of enterprise applications
work by human beings interacting
with them. To “interact”
with an application can mean typing
on a keyboard, clicking buttons
on a mouse, speaking into a microphone
or other means. This human interaction
point with applications is called
a “user interface” and
any application, whether it is mainframe-based
or J2EE-based is controlled via
some form of a user interface.
This is of course nothing more
than the obvious – there’s
no brilliance in realizing it in
and of itself. However, if you follow
the same realization, you can abstract
any application to simply be a series
of controlled interactions between
a user interface and the underlying
business logic. A human being does
not compile code nor do we get plugged
into a machine ala the Matrix. We
simply see objects (text areas,
buttons, windows, links) on a screen,
and navigate accordingly by using
the appropriate peripherals (keyboards,
mouse, voice, etc.) Our interactions
with the user interface of an application
results in that application performing
whatever functions it was programmed
to do.
For example, a mainframe library
system can be modeled as a human
being interacting with a terminal
emulator by typing commands into
a text area. For every text command
the user types in, the library system
has a discrete response which is
delivered back over the terminal.
Similarly, more complex applications,
like purchasing a book at Amazon,
can be modeled as a finite state
model of text entries, option selections,
and button clicks executed via a
Web browser: You enter in a title
and search, you get a list of links,
you select the book you want and
then click purchase; each state
of the application expressed in
unique user interface steps.
|