  Many of today's applications have an, almost tangible, monolithic nature.
They are built as 'islands', purporting to be self contained, offering little
or nothing in the way of integration with other applications. In the past,
being large and self-contained may have eliminated the need to interact with
other solutions to some extent. However, in the business environments of today
the interaction with other applications becomes paramount. As a result of this,
many ad-hoc point-to-point integration solutions have been built between
different applications. This has already led to an 'application spaghetti' at
many of our customer sites. Many of today's applications are poorly structured,
which makes their responsiveness to business change sluggish. The application
spaghetti with its plethora of point-to-point interfaces further inhibits the
responsiveness to change.
