|
Enterprise Application
Integration (EAI)
Introduction to EAI
Today Information Technology (IT) has become very
critical for successful functioning of any enterprise in this world. Every form
of business thrives on some form of automation. Earlier, the automation had been
custom developed, but nowadays everything seems to be through packaged
applications, which in a way reduced the amount of software development
significantly. Unfortunately these packaged applications, which are
self-contained, have become stove-pipe applications. The requirements for
next-generation software systems mandate the integration of these stove-pipes
with new forms of business logic. The term Enterprise Application Integration (EAI)
has become a recent entrant into the jargon of the active software industry. EAI
is a buzzword that represents the task of integration of various applications so
that they may share information and processes freely. Thus EAI is the creation
of robust and elegant business solutions by combining applications using common
middleware and other viable technologies. With these realizations, EAI was
created by industry analysts to help information technology organizations to
understand the emergence of a type of software that eases the pains of
integration. EAI is the nexus of technology, method, philosophy and desire to
finally address years of architectural neglect.
Why EAI?
In the past, enterprise system architectures have been
poorly planned. Many organizations built systems based on the cool technology of
the day without realizing how these systems would somehow, someday, share
information. There are a number of organizations fitted with different types of
open and proprietary systems. each with its own development, database,
networking and operating system. Thus resulted a heterogeneous environment.
Overcoming these ills affecting corporates, there came a number of ad-hoc
technologies and methods. But nothing seemed to be a perfect solution
considering the complexity associated with these systems. EAI has come as a boon
for enterprise architects to set right everything, which today's enterprises
face. EAI has become a sophisticated set of procedures with newly refined
technologies, such as middlewares and message brokers that allow users to tie
systems together using a common glue code. There are powerful tools and
techniques to perform EAI successfully.
Another important factor that is driving enterprises
toward the promised land of EAI is the broad acceptance of packaged
applications, such as Enterprise Resource Planning (ERP) applications. These,
called as stovepipe applications that address and solve very narrow problems
within departments, has ruled the enterprises for a long time and this is the
time that package vendors and enterprises have started to realize the importance
of applications integration to face the daunting tasks ahead. It has been found
that EAI has the wherewithal to link many disparate systems including ERP
applications.
As organizations begin to realize the necessity of
interconnection of disparate systems in order to meet the needs of the business,
the significance of integration technology is being simultaneously felt. Thus it
becomes a very important milestone for every enterprise to effectively
architect, design, an develop systems based on EAI technology. As there are a
number of excellent EAI technologies, it needs a steep learning curve to acquire
the knowledge and wisdom to identify when to apply EAI technology, selecting
appropriate technology, architect a solution, and they applying it successfully
to the problem.
Types of EAI?
An enterprise system is made up of business processes
and data. So when an IT expert contemplates to use EAI technology, he has to
first understand how these business processes are automated and the importance
of all business processes. This understanding will bring out a lot of useful
hints for determining the amount of work needed, how much time it will take,
which business processes and data are to be integrated etc. Apart from this
initial and first task of exploration, the primary knowledge needed is at what
level, the integration process has to be performed in an enterprise application
as there are mainly four levels, such as data level, application interface
level, method level, and user interface level in an application.
1. Data-level EAI is the process and the techniques and
technology of transferring data between data stores. This can be described as
extracting information from one database, if need, processing that information,
and updating the same in another database. The advantage of data-level EAI is
the cost of using this approach. Because there may not be any changes in the
application code and hence there is no need for testing and deploying the
application resulting in a little expenditure. Also the technologies providing
mechanisms to move data between databases, as well as reformats that information
are relatively inexpensive considering the other EAI levels and their applicable
enabling technologies.
2. Application interface level EAI refers to the
leveraging of interfaces exposed by custom or packaged applications. Developers
make use of these interfaces to access both business processes and simple
information. Using these interfaces, developers are able to bring many
applications together, allowing them to share business logic and information.
The only limitations that developers face are the specific features and
functions of the application interfaces.
This particular type of EAI is most applicable for ERP
applications, such as SAP, PeopleSoft and Bann, which will expose interfaces
into their processes and data, do so in very different ways. The most preferred
EAI technology for this type is message brokers as these can extract the
information from one application, put it in a format understandable by the
target application and transmit the information.
3. Method level EAI is the sharing of the business
logic that may exist within the enterprise. Applications can access methods on
any other application. The mechanisms to share methods among applications are
many including distributed objects, application servers,and TP Monitors. An ORB
can take the call of one application to methods stored in other applications. An
application server can be a shared physical server for a shared set of
application servers. Most of the integration have been happening at this level
as there are a number of robust technologies to accomplish this type.
4. User interface level EAI is a more primitive
approach. Architects and developers are able to bundle applications by using
their user interfaces as a common point of integration. For example, mainframe
applications that do not have database or business process-level access may be
accessed through the user interface of the application. This type is not a
preferred one even though on many occasions, this is the only way of approaching
integration task.
EAI Technologies?
As seen above, integration task can be accomplished
successfully at different levels of an application. Thus there are different
compact and elegant technologies to fulfill these goals. There are various
middlewares, Object
Request Brokers, message brokers, Web technology like XML
etc. It becomes mandatory for an architect to have a solid understanding of
these technologies, the merits and demerits of each technology, where each
shines and is flexible and scalable before embarking on the grand task of
integration. There are point-to-point middleware, such as remote procedure calls
(RPCs) and message-oriented middleware (MOM), database-oriented middleware, and
transactional middleware including TP monitors and application servers. Also
distributed object computing facilitated by Object Request Brokers and message
brokers are available now for successful EAI.
Also, there is a big hype about the newly crowned Web
technology XML that can do wonders as the standard integration mechanism. XML
provides common data exchange format, encapsulating both meta-data and data.
This permits applications and databases to exchange information without having
to understand anything about each other. The primary factor in using XML
technology for EAI is that XML is portable data. Finally the Java factor in EAI
is also making waves among the EAI architects.
Java, a revolutionary method for building Web-born
applications, is now maturing enough to be of benefit to the enterprise and to
EAI. Java has become a solid technology for coding enterprise-scale
mission-critical applications. Java RMI is already the Java version of
distributed object computing architecture and in the recent past, Sun
Microsystems has come out with a enterprise component model, referred to as EJB
and there came a number of robust EJB-compliant application server. As Java
provides portable code, it is bound to play a very important role in uniting
enterprise applications.
JMS for EAI - JMS facilitates EAI. It makes two
applications to work in concert in order to carry out some new form of
transaction. JMS and XML combines well to supplant the relatively brittle and
arcane client/server technologies that had until recently dominated the
integration landscape, marking healthy trend toward open, flexible
infrastructures as well as promoting reusable integration strategies that can be
applied to a wide variety of integration projects. Today's integration products
frequently employ something of a messaging infrastructure, along with data
transformation and migration tools. Java Message Service (JMS) APIs provides
implementation-independent interfaces for message-oriented middleware products,
such as Progress SonicMQ and IBM MQSeries. These enterprise messaging systems
allow stovepipe applications to communicate events and to exchange data while
remaining physically independent. Data and events can be exchanged in the form
of messages via topics or queues, which provide an abstraction that decouples
participating applications. Thus there is a growing number of activities in
making Java-based enterprise technologies and services as the able ally to EAI.
The Business Advantages of EAI
There are quite a number of distinct benefits being
accrued by business houses from EAI. Here comes a brief of what an
middleware-enabled EAI can do to the organizations.
Middleware-enabled EAI - Enterprise Application
Integration is the creation of new strategic business solutions by combining the
functionality of an enterprise's existing applications, commercial packaged
applications, and new code using a common middleware. Middleware refers to
technology that provides application-independent services that mediate between
applications. Middleware also represents the software products that implement
these middleware services. There were mechanisms before the arrival of these
middleware technologies, such as CORBA, for integrating applications in
enterprises. But these mechanisms were found inflexible, requiring very high
effort and highly complex.
But middleware has brought some spectacular benefits
for enterprises to integrate their applications without much complexity.
Middleware is a software tool. Middleware provides elegant and easy mechanisms
by which applications can package functionality so that their capabilities are
accessible as services to other applications. Middleware is able to hide the
complexities of the source and target systems, thereby freeing developers from
focusing on low-level APIs and network protocols and allowing them to
concentrate on sharing information. Information in different enterprises have
not been been organized and formatted in the same manner. Thus the information
to be shared among applications in different places has to go through some
translations and conversions as it flows from one application to another. These
capabilities are being provided by present-day middleware technologies. Finally
the middleware comes with mechanisms that help applications to coordinate
business processes.
EAI is attractive for developing new applications
because few changes to existing legacy or packaged applications are needed and
because there is no necessity for extensive programming or custom interfaces.
EAI can make use of existing application programming interfaces (APIs) and
databases. Suppose there is no APIs exist, EAI may access an application's
functionality by mimicking normal users through the application's user
interface, using screen-scraping technology. Screen scrapping is the copying of
data from specific locations on character-based screens that are displayed on an
end-user computer.
The ultimate goal of EAI is to allow an organization to
integrate diverse applications quickly and easily. By employing EAI technologies
effectively, an enterprise can leverage its existing investments to provide new
and advanced products and easy to use services, to improve its relationships
with customers, suppliers and other stake-holders and to streamline its
operations. EAI makes it possible for the enterprise to greatly simplify
interactions with other enterprise applications by adopting a standard approach
to integration in a long term perspective. Further, once an EAI infrastructure
has been put in place, new EAI-based applications can usually go online more
quickly than traditionally developed applications because an enhanced technical
infrastructure exists on which to base future development. Thus EAI plays a very
critical role in making an enterprise competitive.
EAI for Critical New Solutions
Improving Customer Relationships - Customers perceive
that there are a number of departments or line of business in an enterprise .
Customers often want to be treated by enterprises, which they do business with,
as a royal quest. When dealing with one department, they do not want to be
required to provide information that they have already supplied to another
department. To overcome such kinds of irritations, enterprises seeks the help of
EAI technologies, which can make the customers to feel the difference in the
relationships with enterprises overnight. Sometimes the enterprise wants to be
able to take advantage of all that it knows about a customer. Knowing the
products that a customer previously has bought can create opportunities for
selling other products or additional services related to previous transactions.
Also it does not matter at all if the customer sometimes interacts with the
enterprise via the Web, or via a call center or in some occasions in person.
That is, all the information should be integrated. Achieving improved customer
relationships demands application integration. The information relevant for a
customer should be available be available in an integrated form, even though
that information may be scattered in numerous stove-pipe applications developed
to support various lines of business.
Improving Supply-Chain Relationships - Apart from the
customers, enterprises also want to improve relationship with supply-chain
partners and other outside organizations through EAI technologies. There are a
plenty of opportunities available for electronic information exchange. Sharing
information, enterprises open new vista for effective coordination. Partners can
also leverage new technologies to create new services. By establishing
electronic links with its shipping partners, a retailer, for example, can offer
enhanced order status tracking.
Improving customer relationships and acquiring higher
levels of integration with supply-chain partners arises new security concerns.
If the Internet is being used as a communication channel, rather than dial-up or
dedicated lines, an enterprise must take necessary steps to ensure the
confidentiality of information flow. Controls must be in its place to ensure
that a partner can not see information relevant to other partners.
Integration requirements for interactions with partners
are similar to those for interaction with customers. New applications often will
be required to integrate with several existing stove-pipe applications. The
ability to support information exchange by making use of technology such as the
Extensible Markup Language (XML) is becoming a key factor in automated
business-to-business integration. A variety of front-end channels may be needed
to provide differing levels of functionality such as EDI for automated exchanges
with newer Web-centric technologies, which include XML for automated exchanges
and Web interfaces for partners.
Improving Internal Processes - Bringing improvement in
an enterprise's internal processes happens to be an very important factor for
EAI. EAI techniques can be used to simplify information flow between departments
and divisions of the enterprise. In some organizations, EAI provides integrated
information for decision making process. EAI can be used to populate data
warehouses towards analyzing market trends, evaluating the effectiveness of a
business initiative, and assessing the performance of organizations within the
enterprise. EAI makes easier the construction of a data warehouse by mediating
the flow of information from stove-pipe applications to the common warehouse and
by supporting the conversion of data from various applications' formats to a
common format.
Employee self-service is also a vital application in
improving business processes. Web-enabled interfaces may provide employees with
better access to the information they need to do their jobs effectively.
Employee self-service Web sites for benefits of administration and other Human
Resource (HR) functions are getting popular as days go by. Finally, EAI helps to
eliminate manual steps in business processes and to avoid redundant entry of
data. Such applications of EAI often employ a work-flow-automation tool to
bridge between the applications that are being integrated.
Reducing Time to Market - Information Technology (IT)
organizations are finding it increasingly hard to maintain developing
mission-critical applications on time and on stipulated budget. There are
various difficulties in accomplishing these very important requirements. EAI
technology comes to the rescue by reducing the time to market new applications.
EAI contributes to faster roll-out in several ways. First, EAI leverages the
capabilities of existing applications. For example, often the existing code does
its job very well and it has been debugged. The only requirement is to make the
functionality by this code accessible to new front-end channels like the Web or
to new composite applications. EAI helps immensely in this regard and shortens
the time to market. Thus, having the EAI architecture in its place, enterprises
can reap the benefits in the long term.
Integrating functionality that is hosted on diverse
hardware and operating system platforms is really the trickiest and most
error-prone task. With the arrival of CORBA, an EAI middleware, this task
becomes relatively easy. Again, EAI reduces the amount of code to be written for
an application and helps developers to concentrate on the business aspects of
the mission-critical application rather on concentrating on infrastructure.
There are maintenance benefits as well.
EAI of Legacy and Packaged Applications
An enterprise's legacy applications have become the
repositories of the of the enterprise's corporate knowledge. Business rules
embedded in legacy applications are often documented nowhere else. As a result,
it can be extremely difficult to replicate or re-engineer the legacy
applications. Thus, utilizing these applications to support new requirements or
to design newer applications out of these by integration technologies is really
a tremendous advantage and challenge also. Also, legacy applications that run on
mainframe computers have many additional advantages. Mainframe computers are
ultra-reliable and can support extremely high transaction rates and a large
number of users simultaneously. Thus keeping applications on mainframes can help
spread the high fixed costs of that computing across a large number of
applications.
In the recent past, most of the organizations have made
very high investment to deal with the Y2K problem in the mainframe computers and
that resulted in much better understanding and better documentation of their
legacy applications. That is why, legacy applications are there as jewels for
the enterprises. Thus EAI is bound to play a vital role in extracting the
critical components from these legacies and to design new applications to meet
the advanced requirements from the customers.
Packaged applications, such as Enterprise Resource
Planning (ERP) packages from SAP, PeopleSoft, Oracle and other vendors, also
figure prominently in the EAI landscape. In the last decade, utilizing of
packaged applications have grown significantly as they can provide proven
solutions to common business needs. Development of maintenance become the
problem for the vendor only and this helps the IT staff in the enterprises to
concentrate on the problems specific to their business. Here comes the need for
EAI as packaged products from a single vendor can not meet all the requirements
of an enterprise and these products should be integrated with
enterprise-specific custom applications and sometimes with other packaged
products. Thus nowadays having realized the importance of integration process,
package vendors started to seek the help of EAI technologies to make their
products EAI-compliant.
The World Wide Web and EAI
The Web has become a key factor in the emergence of EAI
as an important technology. There are several Web-based applications that depend
on EAI. The arrival of Web and its related Internet technologies are
fundamentally necessary for EAI. Also the Web happens to be a real revolution
and has become the largest information base. There came technologies to
disseminate, communicate and share the information to anyone at anytime from
anywhere. The Web has brought quite a lot of innovations in commerce and trade,
information exchange, etc.
From the perspective of EAI, several aspects of the Web
revolution are significant. The Web provides universal connectivity, creates a
whole new arena for business explosion and ultimately gives the controlling
power to the users. Thus, anyone with a Web browser and an Internet connection
can view the Web sites of those who are in the field. Also a business can offer
its customers revolutionary products and services through the web and every
business is being compelled to join the race to offer those products and
services. This provokes competition among the enterprises and results in a
number of benefits, such as extraction of the best service and price, for the
users, such as employees, supply-chain partners and customers.
The Web affects any enterprise in two ways. One is, a
business can offer its customers revolutionary new products and services through
the Web and the second one is virtually every business is compelled to join the
race to offer those new products and services to face the competitions. The Web
also can offer a new and better way to perform an existing service. The Web
technology facilitate some novel services that are otherwise impossible.
Business partners and consumers can meet and exchange goods and services through
electronic markets. Business partners can greatly improve their coordination
through Web-based exchange of information, streamlining the flow of goods and
paperwork and squeezing costs out of the supply chain.
The Web has opened the floodgates of customer
expectations. Customers expect to find a business on the Web. They expect to get
information about products and services being offered through the Web. The Web
also enhanced customer relationships. Customers like the feeling of control that
they get from the best self-service sites. Businesses also like customer
self-service because it can significantly reduce the cost of transactions.
Web-based application integration has moved from the
experimental phase. It is expected that this process is all set to gain momentum
in the days to come. Effective Web-based applications often depend on the
integration of existing applications. The information and services that today's
enterprises want to exploit in their public Web sites and their corporate
intranets are locked up in existing IT applications. Thus EAI is a must to build
Web applications that are competitive. Thus the emergence of Web has provided a
crucial incentive for enterprises to utilize the benefits of EAI.
Conclusion
Interest in EAI is driven by a number of important
factors. With the pressures of a competitive business environment moving IT
management to shorter application life cycles, financial prudence demands that
IT managers learn to use existing databases and application services rather than
recreate the same business processes and data repositories over and over. EAI
technology is maturing fatly and it has become a key topic for IT due to
business imperatives. These include the emergence of the Web, the need to
develop and deepen relationships with customers and partners, streamlining
internal business processes, and more importantly reducing the time to market
for new applications. In fulfilling these requirements, enterprises are highly
motivated to make effective use of their existing custom-written legacy
applications and commercial packaged applications, which are currently the
enterprise's crown jewels. They are highly efficient and robust and above all
there represent an enormous investment. But there are a lot of things to be
understood before embarking on integration. They are what applications need
integration, platforms, data formats, protocols, what EAI technology to be used
etc.
|