ITM - Enterprise Application Integration

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 37

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. nfortunately these packaged applications, which are self!contained, have become stove!pipe applications. The re"uirements for ne#t!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 $argon of the active software industry. EAI is a bu%%word 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. &ith these reali%ations, EAI was created by industry analysts to help information technology organi%ations to understand the emergence of a type of software that eases the pains of integration. EAI is the ne#us of technology, method, philosophy and desire to finally address years of architectural neglect. &hy EAI In the past, enterprise system architectures have been poorly planned. 'any organi%ations built systems based on the cool technology of the day without reali%ing how these systems would somehow, someday, share information. There are a number of organi%ations fitted with different types of open and proprietary systems. each with its own development, database, networking and operating system. Thus resulted a heterogeneous environment. (vercoming these ills affecting corporates, there came a number of ad!hoc technologies and methods. )ut nothing seemed to be a perfect solution considering the comple#ity 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 techni"ues 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 +esource ,lanning (E+,) 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 reali%e 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 E+, applications. As organi%ations begin to reali%e 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, and develop systems based on EAI technology. As there are a number of e#cellent EAI technologies, it needs a steep learning curve to ac"uire 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. -o when an IT e#pert 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 e#ploration, 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. .. /ata!level EAI is the process and the techni"ues and technology of transferring data between data stores. This can be described as e#tracting 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. )ecause 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 e#penditure. Also the technologies providing mechanisms to move data between databases, as well as reformats that information are relatively ine#pensive considering the other EAI levels and their applicable enabling technologies. 0. Application interface level EAI refers to the leveraging of interfaces e#posed by custom or packaged applications. /evelopers make use of these interfaces to access both business processes and simple information. sing 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 E+, applications, such as -A,, ,eople-oft and )ann, which will e#pose 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 e#tract the information from one application, put it in a format understandable by the target application and transmit the information. 1. 'ethod level EAI is the sharing of the business logic that may e#ist within the enterprise. Applications can access methods on any other application. The mechanisms to share methods among applications are many including distributed ob$ects, application servers,and T, 'onitors. An (+) 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. 'ost of the integration have been happening at this level as there are a number of robust technologies to accomplish this type. 2. ser 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. 3or e#ample, 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, (b$ect +e"uest )rokers, message brokers, &eb technology

like 4'5 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 fle#ible and scalable before embarking on the grand task of integration. There are point!to!point middleware, such as remote procedure calls (+,6s) and message!oriented middleware ('('), database!oriented middleware, and transactional middleware including T, monitors and application servers. Also distributed ob$ect computing facilitated by (b$ect +e"uest )rokers and message brokers are available now for successful EAI. Also, there is a big hype about the newly crowned &eb technology 4'5 that can do wonders as the standard integration mechanism. 4'5 provides common data e#change format, encapsulating both meta!data and data. This permits applications and databases to e#change information without having to understand anything about each other. The primary factor in using 4'5 technology for EAI is that 4'5 is portable data. 3inally the 7ava factor in EAI is also making waves among the EAI architects. 7ava, a revolutionary method for building &eb!born applications, is now maturing enough to be of benefit to the enterprise and to EAI. 7ava has become a solid technology for coding enterprise!scale mission!critical applications. 7ava +'I is already the 7ava version of distributed ob$ect computing architecture and in the recent past, -un 'icrosystems has come out with a enterprise component model, referred to as E7) and there came a number of robust E7)!compliant application server. As 7ava provides portable code, it is bound to play a very important role in uniting enterprise applications. 7'- for EAI ! 7'- facilitates EAI. It makes two applications to work in concert in order to carry out some new form of transaction. 7'- and 4'5 combines well to supplant the relatively brittle and arcane client8server technologies that had until recently dominated the integration landscape, marking healthy trend toward open, fle#ible infrastructures as well as promoting reusable integration strategies that can be applied to a wide variety of integration pro$ects. Today*s integration products fre"uently employ something of a messaging infrastructure, along with data transformation and migration tools. 7ava 'essage -ervice (7'-) A,Is provides implementation!independent interfaces for message!oriented middleware products, such as ,rogress -onic'9 and I)' '9-eries. These enterprise messaging systems allow stovepipe applications to communicate events and to e#change data while remaining physically independent. /ata and events can be e#changed in the form of messages via topics or "ueues, which provide an abstraction that decouples participating applications. Thus there is a growing number of activities in making 7ava!based enterprise technologies and services as the able ally to EAI. The )usiness Advantages of EAI There are "uite a number of distinct benefits being accrued by business houses from EAI. :ere comes a brief of what a middleware!enabled EAI can do to the organi%ations. 'iddleware!enabled EAI ! Enterprise Application Integration is the creation of new strategic business solutions by combining the functionality of an enterprise*s e#isting applications, commercial packaged applications, and new code using a common middleware. 'iddleware refers to technology that provides application!independent services that mediate between applications. 'iddleware also represents the software products that implement these middleware services. There were mechanisms before the arrival of these middleware technologies, such as 6(+)A, for integrating applications in enterprises. )ut these mechanisms were found infle#ible, re"uiring very high effort and highly comple#. )ut middleware has brought some spectacular benefits for enterprises to integrate their applications without much comple#ity. 'iddleware is a software tool. 'iddleware provides

elegant and easy mechanisms by which applications can package functionality so that their capabilities are accessible as services to other applications. 'iddleware is able to hide the comple#ities of the source and target systems, thereby freeing developers from focusing on low!level A,Is and network protocols and allowing them to concentrate on sharing information. Information in different enterprises have not been been organi%ed 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. 3inally the middleware comes with mechanisms that help applications to coordinate business processes. EAI is attractive for developing new applications because few changes to e#isting legacy or packaged applications are needed and because there is no necessity for e#tensive programming or custom interfaces. EAI can make use of e#isting application programming interfaces (A,Is) and databases. -uppose there is no A,Is e#ist, EAI may access an application*s functionality by mimicking normal users through the application*s user interface, using screen!scraping technology. -creen 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 organi%ation to integrate diverse applications "uickly and easily. )y employing EAI technologies effectively, an enterprise can leverage its e#isting 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. 3urther, once an EAI infrastructure has been put in place, new EAI!based applications can usually go online more "uickly than traditionally developed applications because an enhanced technical infrastructure e#ists on which to base future development. Thus EAI plays a very critical role in making an enterprise competitive. EAI for 6ritical ;ew -olutions Improving 6ustomer +elationships ! 6ustomers perceive that there are a number of departments or line of business in an enterprise . 6ustomers often want to be treated by enterprises, which they do business with, as a royal "uest. &hen dealing with one department, they do not want to be re"uired 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. -ometimes the enterprise wants to be able to take advantage of all that it knows about a customer. <nowing 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 &eb, 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 -upply!6hain +elationships ! Apart from the customers, enterprises also want to improve relationship with supply!chain partners and other outside organi%ations through EAI technologies. There are a plenty of opportunities available for electronic information e#change. -haring information, enterprises open new vista for effective coordination. ,artners can also leverage new technologies to create new services. )y establishing electronic links with its shipping partners, a retailer, for e#ample, can offer enhanced order status tracking. Improving customer relationships and ac"uiring 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. 6ontrols must be in its place to ensure that a partner can not see information relevant to other partners. Integration re"uirements for interactions with partners are similar to those for interaction with customers. ;ew applications often will be re"uired to integrate with several e#isting stove! pipe applications. The ability to support information e#change by making use of technology such as the E#tensible 'arkup 5anguage (4'5) 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 E/I for automated e#changes with newer &eb!centric technologies, which include 4'5 for automated e#changes and &eb interfaces for partners. Improving Internal ,rocesses ! )ringing improvement in an enterprise*s internal processes happens to be an very important factor for EAI. EAI techni"ues can be used to simplify information flow between departments and divisions of the enterprise. In some organi%ations, EAI provides integrated information for decision making process. EAI can be used to populate data warehouses towards analy%ing market trends, evaluating the effectiveness of a business initiative, and assessing the performance of organi%ations 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. &eb! enabled interfaces may provide employees with better access to the information they need to do their $obs effectively. Employee self!service &eb sites for benefits of administration and other :uman +esource (:+) functions are getting popular as days go by. 3inally, EAI helps to eliminate manual steps in business processes and to avoid redundant entry of data. -uch applications of EAI often employ a work!flow!automation tool to bridge between the applications that are being integrated. +educing Time to 'arket ! Information Technology (IT) organi%ations 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 re"uirements. EAI technology comes to the rescue by reducing the time to market new applications. EAI contributes to faster roll!out in several ways. 3irst, EAI leverages the capabilities of e#isting applications. 3or e#ample, often the e#isting code does its $ob very well and it has been debugged. The only re"uirement is to make the functionality by this code accessible to new front!end channels like the &eb 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. &ith the arrival of 6(+)A, 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 5egacy and ,ackaged Applications An enterprise*s legacy applications have become the repositories of the of the enterprise*s corporate knowledge. )usiness rules embedded in legacy applications are often documented nowhere else. As a result, it can be e#tremely difficult to replicate or re! engineer the legacy applications. Thus, utili%ing these applications to support new re"uirements 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. 'ainframe computers are ultra! reliable and can support e#tremely high transaction rates and a large number of users simultaneously. Thus keeping applications on mainframes can help spread the high fi#ed costs of that computing across a large number of applications. In the recent past, most of the organi%ations have made very high investment to deal with the =0< 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 $ewels for the enterprises. Thus EAI is bound to play a vital role in e#tracting the critical components from these legacies and to design new applications to meet the advanced re"uirements from the customers. ,ackaged applications, such as Enterprise +esource ,lanning (E+,) packages from -A,, ,eople-oft, (racle and other vendors, also figure prominently in the EAI landscape. In the last decade, utili%ing of packaged applications have grown significantly as they can provide proven solutions to common business needs. /evelopment 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. :ere comes the need for EAI as packaged products from a single vendor can not meet all the re"uirements of an enterprise and these products should be integrated with enterprise!specific custom applications and sometimes with other packaged products. Thus nowadays having reali%ed the importance of integration process, package vendors started to seek the help of EAI technologies to make their products EAI! compliant. The &orld &ide &eb and EAI The &eb has become a key factor in the emergence of EAI as an important technology. There are several &eb!based applications that depend on EAI. The arrival of &eb and its related Internet technologies are fundamentally necessary for EAI. Also the &eb 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 &eb has brought "uite a lot of innovations in commerce and trade, information e#change, etc. 3rom the perspective of EAI, several aspects of the &eb revolution are significant. The &eb provides universal connectivity, creates a whole new arena for business e#plosion and ultimately gives the controlling power to the users. Thus, anyone with a &eb browser and an Internet connection can view the &eb 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 $oin the race to offer those products and services. This provokes

competition among the enterprises and results in a number of benefits, such as e#traction of the best service and price, for the users, such as employees, supply!chain partners and customers. The &eb affects any enterprise in two ways. (ne is, a business can offer its customers revolutionary new products and services through the &eb and the second one is virtually every business is compelled to $oin the race to offer those new products and services to face the competitions. The &eb also can offer a new and better way to perform an e#isting service. The &eb technology facilitate some novel services that are otherwise impossible. )usiness partners and consumers can meet and e#change goods and services through electronic markets. )usiness partners can greatly improve their coordination through &eb! based e#change of information, streamlining the flow of goods and paperwork and s"uee%ing costs out of the supply chain. The &eb has opened the floodgates of customer e#pectations. 6ustomers e#pect to find a business on the &eb. They e#pect to get information about products and services being offered through the &eb. The &eb also enhanced customer relationships. 6ustomers like the feeling of control that they get from the best self!service sites. )usinesses also like customer self!service because it can significantly reduce the cost of transactions. &eb!based application integration has moved from the e#perimental phase. It is e#pected that this process is all set to gain momentum in the days to come. Effective &eb!based applications often depend on the integration of e#isting applications. The information and services that today*s enterprises want to e#ploit in their public &eb sites and their corporate intranets are locked up in e#isting IT applications. Thus EAI is a must to build &eb applications that are competitive. Thus the emergence of &eb has provided a crucial incentive for enterprises to utili%e the benefits of EAI. 6onclusion Interest in EAI is driven by a number of important factors. &ith the pressures of a competitive business environment moving IT management to shorter application life cycles, financial prudence demands that IT managers learn to use e#isting 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 &eb, 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 re"uirements, enterprises are highly motivated to make effective use of their e#isting custom!written legacy applications and commercial packaged applications, which are currently the enterprise*s crown $ewels. They are highly efficient and robust and above all there represent an enormous investment. )ut 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.

Enterprise application integration is an integration framework composed of a collection of technologies and services which form a middleware to enable integration of systems and applications across the enterprise. -upply chain management applications (for managing inventory and shipping), customer relationship management applications (for managing current and potential customers), business intelligence applications (for finding patterns from e#isting data from operations), and other types of applications (for managing data such as human resources data, health care, internal communications, etc.) typically cannot communicate with one another in order to share data or business rules. 3or this reason, such applications are sometimes referred to as islands of automation or information silos. This lack of communication leads to inefficiencies, wherein identical data are stored in multiple locations, or straightforward processes are unable to be automated. Enterprise application integration is the process of linking such applications within a single organi%ation together in order to simplify and automate business processes to the greatest e#tent possible, while at the same time avoiding having to make sweeping changes to the e#isting applications or data structures. In the words of the >artner >roup, EAI is the ?unrestricted sharing of data and business processes among any connected application or data sources in the enterprise.@A.B (ne large challenge of EAI is that the various systems that need to be linked together often reside on different operating systems, use different database solutions and different computer languages, and in some cases are legacy systems that are no longer supported by the vendor who originally created them. In some cases, such systems are dubbed Cstovepipe systemsC because they consist of components that have been $ammed together in a way that makes it very hard to modify them in any way.

Purposes EAI can be used for different purposesD


/ata integrationD Ensures that information in multiple systems is kept consistent. This is also known as enterprise information integration (EII). Eendor independenceD E#tracts business policies or rules from applications and implements them in the EAI system, so that even if one of the business applications is replaced with a different vendor*s application, the business rules do not have to be re!implemented. 6ommon facadeD An EAI system can front!end a cluster of applications, providing a single consistent access interface to these applications and shielding users from having to learn to use different software packages.

Patterns Integration patterns There are two patterns that EAI systems implementD 'ediation (intra!communication) :ere, the EAI system acts as the go!between or broker between multiple applications. &henever an interesting event occurs in an application (for instance, new information is created or a new transaction completed) an integration module in the EAI system is notified. The module then propagates the changes to other relevant applications. 3ederation (inter!communication) In this case, the EAI system acts as the overarching facade across multiple applications. All event calls from the *outside world* to any of the applications are front!ended by the EAI system. The EAI system is configured to e#pose only the relevant information and interfaces of the underlying applications to the outside world, and performs all interactions with the underlying applications on behalf of the re"uester. )oth patterns are often used concurrently. The same EAI system could be keeping multiple applications in sync (mediation), while servicing re"uests from e#ternal users against these applications (federation). Access patterns EAI supports both asynchronous and synchronous access patterns, the former being typical in the mediation case and the latter in the federation case. Lifetime patterns An integration operation could be short!lived (e.g. keeping data in sync across two applications could be completed within a second) or long!lived (e.g. one of the steps could

involve the EAI system interacting with a human work flow application for approval of a loan that takes hours or days to complete). Topologies There are two ma$or topologiesD hub!and!spoke, and bus. Each has its own advantages and disadvantages. In the hub!and!spoke model, the EAI system is at the center (the hub), and interacts with the applications via the spokes. In the bus model, the EAI system is the bus (or is implemented as a resident module in an already e#isting message bus or message! oriented middleware). Technologies 'ultiple technologies are used in implementing each of the components of the EAI systemD )us8hub This is usually implemented by enhancing standard middleware products (application server, message bus) or implemented as a stand!alone program (i. e., does not use any middleware), acting as its own middleware. Application connectivity The bus8hub connects to applications through a set of adapters (also referred to as connectors). These are programs that know how to interact with an underlying business application. The adapter performs two!way communication, performing re"uests from the hub against the application, and notifying the hub when an event of interest occurs in the application (a new record inserted, a transaction completed, etc.). Adapters can be specific to an application (e. g., built against the application vendor*s client libraries) or specific to a class of applications (e. g., can interact with any application through a standard communication protocol, such as -(A,, -'T, or Action 'essage 3ormat (A'3)). The adapter could reside in the same process space as the bus8hub or e#ecute in a remote location and interact with the hub8bus through industry standard protocols such as message "ueues, web services, or even use a proprietary protocol. In the 7ava world, standards such as 76A allow adapters to be created in a vendor!neutral manner. /ata format and transformation To avoid every adapter having to convert data to8from every other applications* formats, EAI systems usually stipulate an application!independent (or common) data format. The EAI system usually provides a data transformation service as well to help convert between application!specific and common formats. This is done in two stepsD the adapter converts information from the application*s format to the bus*s common format. Then, semantic transformations are applied on this (converting %ip codes to city names, splitting8merging ob$ects from one application into ob$ects in the other applications, and so on). Integration modules An EAI system could be participating in multiple concurrent integration operations at any given time, each type of integration being processed by a different integration module. Integration modules subscribe to events of specific types and process notifications that they

receive when these events occur. These modules could be implemented in different waysD on 7ava!based EAI systems, these could be web applications or E7)s or even ,(7(s that conform to the EAI system*s specifications. -upport for transactions &hen used for process integration, the EAI system also provides transactional consistency across applications by e#ecuting all integration operations across all applications in a single overarching distributed transaction (using two!phase commit protocols or compensating transactions). Communication architectures 6urrently, there are many variations of thought on what constitutes the best infrastructure, component model, and standards structure for Enterprise Application Integration. There seems to be consensus that four components are essential for a modern enterprise application integration architectureD .. A centrali%ed broker that handles security, access, and communication. This can be accomplished through integration servers (like the -chool Interoperability 3ramework (-I3) Fone Integration -ervers) or through similar software like the enterprise service bus (E-)) model that acts as a -(A,!oriented services manager. 0. An independent data model based on a standard data structure, also known as a canonical data model. It appears that 4'5 and the use of 4'5 style sheets has become the de facto and in some cases de jure standard for this uniform business language. 1. A connector, or agent model where each vendor, application, or interface can build a single component that can speak natively to that application and communicate with the centrali%ed broker. 2. A system model that defines the A,Is, data flow and rules of engagement to the system such that components can be built to interface with it in a standardi%ed way. Although other approaches like connecting at the database or user!interface level have been e#plored, they have not been found to scale or be able to ad$ust. Individual applications can publish messages to the centrali%ed broker and subscribe to receive certain messages from that broker. Each application only re"uires one connection to the broker. This central control approach can be e#tremely scalable and highly evolvable. Enterprise Application Integration is related to middleware technologies such as message! oriented middleware ('('), and data representation technologies such as 4'5. (ther EAI technologies involve using web services as part of service!oriented architecture as a means of integration. Enterprise Application Integration tends to be data centric. In the near future, it will come to include content integration and business processes. Implementation pitfalls In 2003 it was reported that 70% of all EAI pro ects fail! "ost of these failures are not due to the software itself or technical difficulties# $ut due to management issues! Integration Consortium European Chairman %te&e Craggs has outlined the se&en main pitfalls underta'en $( companies using EAI s(stems and e)plains solutions to these pro$lems!*2+

.. 6onstant changeD The very nature of EAI is dynamic and re"uires dynamic pro$ect managers to manage their implementation. 0. -hortage of EAI e#pertsD EAI re"uires knowledge of many issues and technical aspects. 1. 6ompeting standardsD &ithin the EAI field, the parado# is that EAI standards themselves are not universal. 2. EAI is a tool paradigmD EAI is not a tool, but rather a system and should be implemented as such. G. )uilding interfaces is an artD Engineering the solution is not sufficient. -olutions need to be negotiated with user departments to reach a common consensus on the final outcome. A lack of consensus on interface designs leads to e#cessive effort to map between various systems data re"uirements. H. 5oss of detailD Information that seemed unimportant at an earlier stage may become crucial later. I. AccountabilityD -ince so many departments have many conflicting re"uirements, there should be clear accountability for the system*s final structure. (ther potential problems may arise in these areasD

Emerging +e"uirementsD EAI implementations should be e#tensible and modular to allow for future changes. ,rotectionismD The applications whose data is being integrated often belong to different departments that have technical, cultural, and political reasons for not wanting to share their data with other departments

,uture EAI technologies are still $eing de&eloped and there still is no consensus on the ideal approach or the correct group of technologies a compan( should use! There are man( ongoing pro ects that pro&ide support to design EAI solutions! The( ma( range from proprietar( pro ects li'e "icrosoft -i.Tal' %er&er# I-" /e$%phere "essage -ro'er or open pro ects li'e "ule E%-# Apache Camel# 0i'las Integration Platform and %pring Integration to academic pro ects li'e 1uaran2 3%L! The future is to pro&ide technologies that allow the design of EAI solutions at a high le&el of a$straction and use "3A to automaticall( transform the design into an e)ecuta$le solution! A common pitfall is to use other proprietar( technologies that claim to $e open and e)tensi$le $ut create &endor loc'4in!

Enterprise Application Integration 5EAI6 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. nfortunately these packaged applications, which are self!contained, have become stove!pipe applications. The re"uirements for ne#t!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 $argon of the active software industry. EAI is a bu%%word 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. &ith these reali%ations, EAI was created by industry analysts to help information technology organi%ations to understand the emergence of a type of software that eases the pains of integration. EAI is the ne#us of technology, method, philosophy and desire to finally address years of architectural neglect. /h( EAI7 In the past, enterprise system architectures have been poorly planned. 'any organi%ations built systems based on the cool technology of the day without reali%ing how these systems would somehow, someday, share information. There are a number of organi%ations fitted with different types of open and proprietary systems. each with its own development, database, networking and operating system. Thus resulted a heterogeneous environment. (vercoming these ills affecting corporates, there came a number of ad!hoc technologies and methods. )ut nothing seemed to be a perfect solution considering the comple#ity 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 techni"ues 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 +esource ,lanning (E+,) 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 reali%e 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 E+, applications. As organi%ations begin to reali%e 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 e#cellent EAI technologies, it needs a steep learning curve to ac"uire 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. T(pes of EAI7 An enterprise system is made up of business processes and data. -o when an IT e#pert 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 e#ploration, 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. .. /ata!level EAI is the process and the techni"ues and technology of transferring data between data stores. This can be described as e#tracting 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. )ecause 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 e#penditure. Also the technologies providing mechanisms to move data between databases, as well as reformats that information are relatively ine#pensive considering the other EAI levels and their applicable enabling technologies. 0. Application interface level EAI refers to the leveraging of interfaces e#posed by custom or packaged applications. /evelopers make use of these interfaces to access both business processes and simple information. sing 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 E+, applications, such as -A,, ,eople-oft and )ann, which will e#pose 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 e#tract the information from one application, put it in a format understandable by the target application and transmit the information. 1. 'ethod level EAI is the sharing of the business logic that may e#ist within the enterprise. Applications can access methods on any other application. The mechanisms to share methods among applications are many including distributed ob$ects, application servers,and T, 'onitors. An (+) 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. 'ost of the integration have been happening at this level as there are a number of robust technologies to accomplish this type. 2. ser 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. 3or e#ample, 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 Technologies7 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, (b$ect +e"uest )rokers, message brokers, &eb technology like 4'5 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 fle#ible and scalable before embarking on the grand task of integration. There are point!to!point middleware, such as remote procedure calls (+,6s) and message!oriented middleware ('('), database!oriented middleware, and transactional middleware including T, monitors and application servers. Also distributed ob$ect computing facilitated by (b$ect +e"uest )rokers and message brokers are available now for successful EAI. Also, there is a big hype about the newly crowned &eb technology 4'5 that can do wonders as the standard integration mechanism. 4'5 provides common data e#change format, encapsulating both meta!data and data. This permits applications and databases to e#change information without having to understand anything about each other. The primary

factor in using 4'5 technology for EAI is that 4'5 is portable data. 3inally the 7ava factor in EAI is also making waves among the EAI architects. 7ava, a revolutionary method for building &eb!born applications, is now maturing enough to be of benefit to the enterprise and to EAI. 7ava has become a solid technology for coding enterprise!scale mission!critical applications. 7ava +'I is already the 7ava version of distributed ob$ect computing architecture and in the recent past, -un 'icrosystems has come out with a enterprise component model, referred to as E7) and there came a number of robust E7)!compliant application server. As 7ava provides portable code, it is bound to play a very important role in uniting enterprise applications. 7'- for EAI ! 7'- facilitates EAI. It makes two applications to work in concert in order to carry out some new form of transaction. 7'- and 4'5 combines well to supplant the relatively brittle and arcane client8server technologies that had until recently dominated the integration landscape, marking healthy trend toward open, fle#ible infrastructures as well as promoting reusable integration strategies that can be applied to a wide variety of integration pro$ects. Today*s integration products fre"uently employ something of a messaging infrastructure, along with data transformation and migration tools. 7ava 'essage -ervice (7'-) A,Is provides implementation!independent interfaces for message!oriented middleware products, such as ,rogress -onic'9 and I)' '9-eries. These enterprise messaging systems allow stovepipe applications to communicate events and to e#change data while remaining physically independent. /ata and events can be e#changed in the form of messages via topics or "ueues, which provide an abstraction that decouples participating applications. Thus there is a growing number of activities in making 7ava!based enterprise technologies and services as the able ally to EAI. The -usiness Ad&antages of EAI There are "uite a number of distinct benefits being accrued by business houses from EAI. :ere comes a brief of what an middleware!enabled EAI can do to the organi%ations. 'iddleware!enabled EAI ! Enterprise Application Integration is the creation of new strategic business solutions by combining the functionality of an enterprise*s e#isting applications, commercial packaged applications, and new code using a common middleware. 'iddleware refers to technology that provides application!independent services that mediate between applications. 'iddleware also represents the software products that implement these middleware services. There were mechanisms before the arrival of these middleware technologies, such as 6(+)A, for integrating applications in enterprises. )ut these mechanisms were found infle#ible, re"uiring very high effort and highly comple#.

)ut middleware has brought some spectacular benefits for enterprises to integrate their applications without much comple#ity. 'iddleware is a software tool. 'iddleware provides elegant and easy mechanisms by which applications can package functionality so that their capabilities are accessible as services to other applications. 'iddleware is able to hide the comple#ities of the source and target systems, thereby freeing developers from focusing on low!level A,Is and network protocols and allowing them to concentrate on sharing information. Information in different enterprises have not been been organi%ed 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. 3inally the middleware comes with mechanisms that help applications to coordinate business processes. EAI is attractive for developing new applications because few changes to e#isting legacy or packaged applications are needed and because there is no necessity for e#tensive programming or custom interfaces. EAI can make use of e#isting application programming interfaces (A,Is) and databases. -uppose there is no A,Is e#ist, EAI may access an application*s functionality by mimicking normal users through the application*s user interface, using screen!scraping technology. -creen 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 organi%ation to integrate diverse applications "uickly and easily. )y employing EAI technologies effectively, an enterprise can leverage its e#isting 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. 3urther, once an EAI infrastructure has been put in place, new EAI!based applications can usually go online more "uickly than traditionally developed applications because an enhanced technical infrastructure e#ists on which to base future development. Thus EAI plays a very critical role in making an enterprise competitive. EAI for Critical 0ew %olutions Improving 6ustomer +elationships ! 6ustomers perceive that there are a number of departments or line of business in an enterprise . 6ustomers often want to be treated by enterprises, which they do business with, as a royal "uest. &hen dealing with one department, they do not want to be re"uired 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. -ometimes the enterprise wants to be able to take advantage of all that it knows about a customer. <nowing 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 &eb, 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 -upply!6hain +elationships ! Apart from the customers, enterprises also want to improve relationship with supply!chain partners and other outside organi%ations through EAI technologies. There are a plenty of opportunities available for electronic information e#change. -haring information, enterprises open new vista for effective coordination. ,artners can also leverage new technologies to create new services. )y establishing electronic links with its shipping partners, a retailer, for e#ample, can offer enhanced order status tracking. Improving customer relationships and ac"uiring 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. 6ontrols must be in its place to ensure that a partner can not see information relevant to other partners. Integration re"uirements for interactions with partners are similar to those for interaction with customers. ;ew applications often will be re"uired to integrate with several e#isting stove! pipe applications. The ability to support information e#change by making use of technology such as the E#tensible 'arkup 5anguage (4'5) 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 E/I for automated e#changes with newer &eb!centric technologies, which include 4'5 for automated e#changes and &eb interfaces for partners. Improving Internal ,rocesses ! )ringing improvement in an enterprise*s internal processes happens to be an very important factor for EAI. EAI techni"ues can be used to simplify information flow between departments and divisions of the enterprise. In some organi%ations, EAI provides integrated information for decision making process. EAI can be used to populate data warehouses towards analy%ing market trends, evaluating the

effectiveness of a business initiative, and assessing the performance of organi%ations 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. &eb! enabled interfaces may provide employees with better access to the information they need to do their $obs effectively. Employee self!service &eb sites for benefits of administration and other :uman +esource (:+) functions are getting popular as days go by. 3inally, EAI helps to eliminate manual steps in business processes and to avoid redundant entry of data. -uch applications of EAI often employ a work!flow!automation tool to bridge between the applications that are being integrated. +educing Time to 'arket ! Information Technology (IT) organi%ations 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 re"uirements. EAI technology comes to the rescue by reducing the time to market new applications. EAI contributes to faster roll!out in several ways. 3irst, EAI leverages the capabilities of e#isting applications. 3or e#ample, often the e#isting code does its $ob very well and it has been debugged. The only re"uirement is to make the functionality by this code accessible to new front!end channels like the &eb 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. &ith the arrival of 6(+)A, 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 Legac( and Pac'aged Applications An enterprise*s legacy applications have become the repositories of the of the enterprise*s corporate knowledge. )usiness rules embedded in legacy applications are often documented nowhere else. As a result, it can be e#tremely difficult to replicate or re! engineer the legacy applications. Thus, utili%ing these applications to support new re"uirements 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. 'ainframe computers are ultra! reliable and can support e#tremely high transaction rates and a large number of users simultaneously. Thus keeping applications on mainframes can help spread the high fi#ed costs of that computing across a large number of applications. In the recent past, most of the organi%ations have made very high investment to deal with the =0< 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 $ewels for the enterprises. Thus EAI is bound to play a vital role in e#tracting the critical components from these legacies and to design new applications to meet the advanced re"uirements from the customers. ,ackaged applications, such as Enterprise +esource ,lanning (E+,) packages from -A,, ,eople-oft, (racle and other vendors, also figure prominently in the EAI landscape. In the last decade, utili%ing of packaged applications have grown significantly as they can provide proven solutions to common business needs. /evelopment 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. :ere comes the need for EAI as packaged products from a single vendor can not meet all the re"uirements of an enterprise and these products should be integrated with enterprise!specific custom applications and sometimes with other packaged products. Thus nowadays having reali%ed the importance of integration process, package vendors started to seek the help of EAI technologies to make their products EAI! compliant. The /orld /ide /e$ and EAI The &eb has become a key factor in the emergence of EAI as an important technology. There are several &eb!based applications that depend on EAI. The arrival of &eb and its related Internet technologies are fundamentally necessary for EAI. Also the &eb 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 &eb has brought "uite a lot of innovations in commerce and trade, information e#change, etc. 3rom the perspective of EAI, several aspects of the &eb revolution are significant. The &eb provides universal connectivity, creates a whole new arena for business e#plosion and ultimately gives the controlling power to the users. Thus, anyone with a &eb browser and an Internet connection can view the &eb 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 $oin the race to offer those products and services. This provokes competition among the enterprises and results in a number of benefits, such as e#traction of the best service and price, for the users, such as employees, supply!chain partners and customers. The &eb affects any enterprise in two ways. (ne is, a business can offer its customers revolutionary new products and services through the &eb and the second one is virtually every business is compelled to $oin the race to offer those new products and services to face the competitions. The &eb also can offer a new and better way to perform an e#isting service. The &eb technology facilitate some novel services that are otherwise impossible. )usiness partners and consumers can meet and e#change goods and services through electronic markets. )usiness partners can greatly improve their coordination through &eb! based e#change of information, streamlining the flow of goods and paperwork and s"uee%ing costs out of the supply chain. The &eb has opened the floodgates of customer e#pectations. 6ustomers e#pect to find a business on the &eb. They e#pect to get information about products and services being offered through the &eb. The &eb also enhanced customer relationships. 6ustomers like the feeling of control that they get from the best self!service sites. )usinesses also like customer self!service because it can significantly reduce the cost of transactions. &eb!based application integration has moved from the e#perimental phase. It is e#pected that this process is all set to gain momentum in the days to come. Effective &eb!based applications often depend on the integration of e#isting applications. The information and services that today*s enterprises want to e#ploit in their public &eb sites and their corporate intranets are locked up in e#isting IT applications. Thus EAI is a must to build &eb applications that are competitive. Thus the emergence of &eb has provided a crucial incentive for enterprises to utili%e the benefits of EAI. Conclusion Interest in EAI is driven by a number of important factors. &ith the pressures of a competitive business environment moving IT management to shorter application life cycles, financial prudence demands that IT managers learn to use e#isting 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 &eb, 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

re"uirements, enterprises are highly motivated to make effective use of their e#isting custom!written legacy applications and commercial packaged applications, which are currently the enterprise*s crown $ewels. They are highly efficient and robust and above all there represent an enormous investment. )ut 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.

httpD88www.peterindia.net8EAI5inks.html

Part 8 4 Enterprise Application Integration 5EAI6 As data!warehouse technology matured, another solution for integrating enterprise!wide data appeared, called enterprise application integration (EAI). In many cases, the functioning of one enterprise system is significantly enhanced if it re"uests data or immediately receives newly generated data from other systems. 3or instance, an inventory!control system could be much more responsive if it has immediate access to point!of!sale data so that it can monitor product movement in real!time. A bank could authori%e a loan to a customer while the customer is sitting with the loan officer by analy%ing in real!time the customerJs current business with the bank, his credit worthiness, and the current e"uity in his assets. This capability re"uires the enhancement of various legacy enterprise systems with different hardware, operating systems, and databases so that they talk to each other and e#change information in real!time or near real!time. Intersystem Communication with EAI EAI provides a means for linking such systems, in some cases without having to make sweeping changes to e#isting applications or data structures. In effect, whenever an event occurs in an application, it is sent via a publish8subscribe mechanism to other applications in other systems that may be interested in this event. 5ikewise, one system re"uests data from another system in real!time via a re"uest8response mechanism. As shown in 3igure G, there are three primary techni"ues for implementing EAI K adapters, message!oriented middleware ('('), and data replication. These techni"ues all perform the transformation of data to a common format to be used by all systems ! the T in ET5.

Adapters 5,igure 9a6 are speciali%ed interfaces between diverse applications that allow those applications to directly communicate. Adapter services must be defined by a common interchange data format to which all systems conform for their interapplication communication. As a conse"uence, the use of adapters is invasive to applications. Each application involved in communicating with other applications must be modified to use the common data format for the messages that it sends and receives. This problem is aggravated by the fact that knowledge is re"uired of the proprietary formats used by the application vendors, information which many vendors refuse to divulge. Therefore, adapter services are often only implemented by the application vendor or in close cooperation with the application vendor. 3urthermore, each application must be modified to know how to select events to send, to which systems to send these events, how to process events it receives from remote applications, and how to respond to re"uests from remote applications. Adapters are highly speciali%ed. Each application re"uires its own adapter that connects to the adapter network and that translates its application interface and data formats into the common formats of the adapter network. Therefore, the range of applications that participate in an EAI network interconnected with adapters is limited. These problems all serve to inhibit the widespread use of adapters for application integration. "essage4:riented "iddleware 5":"6 5,igure 9$6 provides a mechanism for asynchronously sending messages between applications. 'essages are placed in "ueues

and are sent to their destinations when the destinations are available. '(' is used to "ueue messages describing events and to send those messages to remote applications that take actions based on those events. '(' also provides the messaging facilities to send re"uests to other applications and to receive responses to those re"uests. :owever, the use of '(' in EAI suffers many of the same problems that adapters face. 3or one, '(' is invasive to the application. As with adapters, '(' re"uires that a common data format be established among all systems so that they understand each otherJs communications. Applications must be modified to conform to this format when they communicate with other applications. In addition, applications must be modified to know when to send messages and how to respond to messages from other applications. As a conse"uence, '(' has found marginal use for application integration. 3ata ;eplication Engines 5,igure 9c6 e#change data between systems at the database level. This data may take the form of events generated by one system for consumption by other systems, or it may take re"uests from one system to other systems and the responses to those re"uests. ;otice that this description has used the term ?system@ rather than ?application,@ as was used in the descriptions for adapters and '('. There is no integration with the data! replication engine at the application level. +ather, replication works at the database level. +eplication occurs without any modification to the applications, and applications are typically unaware that replication is taking place. The only application modifications necessary are those re"uired to implement new functions that make use of information from other systems. A replication engine monitors changes to a systemJs database. It is driven by a change log or by database triggers. )ased on rules incorporated into the replication engine, certain database changes found in the change log are sent to other systems in the application network. Alternatively, database triggers pass critical changes to the replication engine for dissemination to other systems. These changes are placed in tables in the target systems and are used by new applications implementing new functionality for the enterprise. In addition to the advantage of noninvasiveness described above, data replication has other advantages over adapters and '('. 3or one, with adapters or '(', the unavailability of the network or another system brings down the application because it no longer has access to the data that it needs. &ith replication, applications continue to function in the presence of network failures or e#ternal system outages by using the local copy of the application database. /ata replication also brings locality to the application since the application has access to a local copy of the database. It does not reach across the network for data, and performance is therefore greatly enhanced. A common interchange data format is not re"uired when using data replication engines, since the transferred data must be put into the target tables according to specified formatting rules. The transformation of source data to target data is performed by the data!replication engine according to transformation rules specified by the user and incorporated directly into the engine. Another advantage of data!replication engines is that security is significantly simplified. &ith adapters and '(', every application is an interface and must be secured via encryption.

/ata!replication engines present only a single interface that must be secured. ;ot only is the management of security simplified, but the number of points that are attacked is also reduced. -ince data replication avoids the application!specific problems associated with adapters and '(', this mechanism has become the techni"ue of choice for EAI. EAI Networks EAI networks may either be mesh networks or hub networks. In a mesh network (3igure Ha), every system is potentially connected to every other system. In a hub network (3igure Hb), all systems communicate via a central hub that passes data to the target systems.

A problem with a mesh network is the number of possible connections. If there are n systems in the EAI network, there may potentially be n(n!.)80 connections if all systems have to communicate with all other systems. If a new system is added to the network, n new connections may need to be established, one to each of the e#isting systems. This number of connections creates a network comple#ity that rapidly becomes unmanageable as the network grows. A hub network eliminates this problem. Each system is connected only to the hub. The hub receives messages from each system and routes each message to the appropriate target systems. A problem with a hub is that it is a single point of failure. A hub failure disrupts all functions that re"uire data from other systems. Thus, all benefits of EAI are lost during a hub failure. -ince these messages are functions that are tactical in nature, governing the real! time response of the enterprise to events as they happen, enterprise operations may be severely compromised following a hub failure. Therefore, the hub must be redundant so that it is highly available. Another difference between mesh and hub networks is that in a mesh network, every system must know the data format of every other system. Each system must be able to transform its data format into those of the other systems. In a hub network, however, the hub is responsible for data transformation. Each system need only know the data format e#pected by the hub.

EAI and Business Intelligence sing these techni"ues, EAI allows applications to be integrated on a real!time basis as events occur and as databases are updated without having to wait hours, days, or weeks for data from a data warehouse. 6onse"uently, EAI supports tactical decision making very well. :owever, it does not provide the historical data needed for strategic decision making.

Enterprise application integration is an integration framework composed of a collection of technologies and services which form a middleware to enable integration of systems and applications across the enterprise. Supply chain management applications (for managing inventory and shipping), customer relationship management applications (for managing current and potential customers), business intelligence applications (for finding patterns from existing data from operations), and other types of applications (for managing data such as human resources data, health care, internal communications, etc.) typically cannot communicate with one another in order to share data or business rules. For this reason, such applications are sometimes referred to as islands of automation or information silos. his lack of communication leads to inefficiencies, wherein identical data are stored in multiple locations, or straightforward processes are unable to be automated. Enterprise application integration is the process of linking such applications within a single organi!ation together in order to simplify and automate business processes to the greatest extent possible, while at the same time avoiding having to make sweeping changes to the existing applications or data structures. "n the words of the #artner #roup, E$" is the %unrestricted sharing of data and business processes among any connected application or data sources in the enterprise.&'() *ne large challenge of E$" is that the various systems that need to be linked together often reside on different operating systems, use different database solutions and different computer languages, and in some cases are legacy systems that are no longer supported by the vendor who originally created them. "n some cases, such systems are dubbed +stovepipe systems+ because they consist of components that have been ,ammed together in a way that makes it very hard to modify them in any way.

:and!built interfaces may be appropriate for linking enterprise software but when the number of applications increases beyond a handful, a message!based IT architecture may be a better answer. )ut how do you decide which middleware product to use for this message!based processL I-" /e$sphere "< 3ormerly known as the '9-eries, &ebsphere '9 provides messaging functions for servers and clients and assures once!only message delivery. This is important because if a message were re!sent by mistake it could lead to, for e#ample, a duplicate order on the receiving application. &ebsphere '9 is one of the most common messaging services and it is supported by most EAI suppliers, as well as forming the backbone of I)'*s integration suite. It is e#tremely scalable, with I)' "uoting throughput of more than 0GM million messages per day. It runs on a wide range of platforms, including ni#, &indows and I)' operating systems such as (-81NM for the mainframe, and (-82MM for the i-eries. &ebsphere '9 can also generate acknowledgements that a message has been received, making it suitable for )0) environments. It supports transactional messaging, which means that operations on messages can be grouped into units of work, which can then be either committed as a whole, or backed out if there is a problem, ensuring that data is always in a consistent state. It also provides a mechanism to trigger applications to start when certain conditions are met. "icrosoft "essage <ueuing '-'9 provides guaranteed message delivery, efficient routing, security, and priority!based messaging, and it can be used for both synchronous and asynchronous scenarios. It is available on &indows 0MMM and 4, platforms, and is fully integrated with other &indows features such as the &indows &eb -erver, 'icrosoft Internet Information -erver, and the &indows 0MMM security environment. The most recent version, '-'9 1.M, is specifically designed for the &indows 4, environment. '-'9 uses a store!and!forward architecture, whereby messages are stored in a database in case the receiving party is not available to consume them. It uses internal se"uence numbering and delivery notifications to recover from situations where messages get lost because of interruptions in the network. Triggers allow an application to be automatically invoked based on message arrival. A trigger is associated with a specific monitored "ueue, and is invoked for every message that arrives on that "ueue. A rule associated with that trigger then defines conditions that must be met and actions that should be taken, in terms of an e#ecutable file or component. =a&a "essage %er&ice

7'- is a supplier!agnostic A,I set developed by -un in co!operation with leading enterprise messaging suppliers, including (racle, )EA -ystems and Tibco ! these suppliers are then licensed to use the technology in their products. The original 7'- specification was published in .NNO, and the latest version, ..M.0b, was released in August 0MM.. It is part of the 7ava 0 Enterprise Edition suite. The original purpose of the 7'- A,I was to enable 7ava applications to access e#isting message!oriented systems, such as I)'*s &ebsphere '9, although it can be used to provide a complete messaging capability and provides most of the functionality of other messaging systems. 7'- provides a simple way of transporting 4'5 and other data between applications. It is a more sophisticated transport mechanism than :TT, and -'T,, in that it includes persistent messaging, internal acknowledgement of message receipt, and rules of engagement regarding transactional recovery and message redelivery. It helps to provide reliable, asynchronous communications between different components in a distributed computing environment, including between 70EE components and legacy systems. The use of an Enterprise 7ava )eans container architecture in con$unction with 7'- allows the concurrent consumption of messages. 7'- can support both point!to!point and publish8subscribe forms of messaging, although not all implementations of the specification will provide both. &hile messaging products are inherently asynchronous, in that there is no basic timing dependency between the creation and the consumption of a message, 7'- allows messages to be consumed in a synchronous manner by the subscribing party e#plicitly calling for the message. )y doing so, further activity can be blocked until the message arrives or it can time!out if the message does not arrive within a specific time limit. Asynchronous messaging is provided by the use of a message listener, which waits for a message to arrive and then acts on its contents. 7'- uses the 7ava ;aming and /irectory Interface to identify the topic of the message in publish8subscribe environments. Ti$co Tibco uses the Information )us (Tib) to transport messages between applications, within its Tibco +ende%vous messaging solution. The company has other messaging options, ac"uired with its purchase of Talarian earlier this year, as well as a 7'- option. +ende%vous is one of the leading proprietary messaging services, with more than .,MMM installations worldwide. It uses a distributed architecture to avoid bottlenecks and single points of failure. Applications connecting to it can choose to encrypt messages, and select the most appropriate "uality of service. 'essaging can be re"uest8reply or publish8subscribe, and can be asynchronous or synchronous. 'essages can be sent over local networks or via the internet. +ende%vous messages are self!describing and can be used on many platforms, with a user!e#tensible type system providing support for various data formats, including 4'5.

Content4$ased routing 'ost messaging services route the message to its destination based either on information held within the message header or based on the topic of the message in a publish8subscribe service. Intelligent, or content!based, routing builds on messaging services, usually within a message broker, although there are standalone options on the market. )ased on the content of the message, it may need to be routed to different end points in the wider infrastructure. In a typical application, a message is routed by opening it up and applying a set of rules to its content to determine the parties interested in its content. 6ontent!based routing is often dependant on the message being constructed in 4'5, and will usually be built on top of '(' or 7'-!based messaging. This type of service is not typically included in basic messaging systems, but may be included in some of the higher!level EAI solutions. Conclusions Each type of messaging middleware has it strengths and weaknesses, but two trends dominateD messaging and application servers. 7'- in particular has led to a new generation of message!based applications, building on the substantial installed base of I)' &ebsphere '9, Tibco +ende%vous and similar products. 'essage brokers have become the core of many EAI products, and offer a widening range of capabilities. Alternatively, by building integration solutions on top of an application server, companies can benefit from the reliability, fault tolerance and standards!based approach these platforms offer. The middleware you select will depend on the type of integration re"uired. &ith most organisations still tackling integration on a pro$ect!by!pro$ect basis, it may be appropriate to select a Ccheap and cheerfulC approach where the benefits of integration do not outweigh the cost of the larger integration brokers or platform solutions. EAI solutions come into their own when an overall strategy of integration between the ma$ority of an organisation*s applications has been agreed.

'iddlewareD The Engine of EAI 'iddleware is not a magic bullet. It provides, "uite simply, a mechanism that allows one entity (application or database) to communicate with another entity or entities. The notion that a middleware product can be installed within an enterprise, and information can suddenlyPmagicallyPbe shared, is simply not based on reality. Even with a good middleware product, there remains a lot of work to be done, including the effort already outlined in 6hapters . through H. 'iddleware is $ust another tool, nothing more. -o, why use itL The answer is simpleD because it really is the best and only solution that allows applications to communicate with one another. 'iddleware is able to hide the comple#ities of the source and target systems, thereby freeing developers from focusing on low!level A,Is and network protocols and allowing them to concentrate on sharing information. 3or e#ample, the same middleware A,I may be used across many different types of application development products, as well as many different platforms. This use of a common A,I hides the comple#ities of both the entities being connected and the platforms they reside on. That*s the idea behind middleware.

An application programming interface (A,I) is a protocol intended to be used as an interface by software components to communicate with each other.

During the 1990s, companies bought packaged software solutions such as SAP, Oracle E P, PeopleSoft, !DEdwards, Siebel, "larif#, and so on$ Although such packaged software solutions worked well indi%iduall#, the# created information islands$ &n most cases, each s#stem produced redundant information 'like customer information($ As a result, when common data changed, emplo#ees manuall# updated the associated information in each s#stem, a process that )uickl# becames cumbersome$ E%entuall#, some of the data across s#stems became inconsistent$ *hen people noticed the resulting double data entr#, inconsistent data, and data isolation problems, the# decided to find wa#s to integrate the s#stems$ +rom that search, enterprise application integration 'EA&( was born$

EAI combines separate applications into a co,operating federation of applications$ -wo logical integration architectures for integrating applications e.ist/ Direct point,to,point connections and middleware,based integration$

Point4to4point integration
EA& de%elopers pursue point,to,point integration because the# find it eas# to understand and )uick to implement when the# ha%e 0ust a few s#stems to integrate$ A point,to,point integration e.ample/ One application makes direct !D1" '!a%a Database "onnection( calls to another application2s database tables$ &nitiall#, when #ou integrate two applications, the point,to,point integration solution seems like the right choice3 howe%er, as #ou integrate additional applications, #ou get a situation shown in +igure 1$

Figure 1. The later stages of a point-to-point integration

"onsidering all that, point,to,point integration2s infrastructure pro%es brittle$ Each application is tightl# coupled with the other applications through their point, to,point links$ "hanges in one application ma# break the applications integrated with it$ As another disad%antage, the number of integration points re)uire support$ &f #ou ha%e fi%e applications integrated with each other, #ou will need 10 different integration points, as +igure 4 illustrates$ As such, each additional application becomes harder to integrate and maintain$

Figure 2. Number of point-to-point connections

-o a%oid that problem, we need an intermediate la#er to isolate changes in one application from the others$

"iddleware4$ased integration
5iddleware has stepped up to the task of pro%iding a mediation point between applications$ 5iddleware pro%ides generic interfaces with which all integrated applications pass messages to each other$ Each interface defines a business process pro%ided b# an application$ +igure 6 shows a logical depiction of the ser%ice,oriented architecture using middleware$

Figure 3. Middleware-based integration

A ser%ice,oriented architecture lets #ou add and replace applications without affecting the other applications$ &f #ou ha%e fi%e applications to integrate, #ou2ll ha%e 0ust fi%e integration points$ "ompared to the point,to,point solution, middleware,based solutions easil# support numerous integrated applications and re)uire less maintenance$ &n addition, middleware can perform comple. operations7transforming, aggregating, routing, separating, and con%erting messages7on the data passed from application to application's($ -he onl# downside/ the added initial comple.it# of setting up the middleware and con%erting e.isting applications to use the middleware AP&s$

3ata4le&el integration
*ith data-level integration, #ou integrate the backend datastores that the integrated applications use$ Data,le%el integration can be push, or pull,based$ *ith push,based, one application makes S89 calls 'through database links or stored procedures( on another application2s database tables$ Push,based data, le%el integration pushes data into another application2s database$ &n contrast, pull,based data,le%el integration utili:es triggers and polling$ -riggers capture changes to data and write the identif#ing information to interface tables$ Adaptors can then poll the integrated application2s interface tables and retrie%e the pertinent data$ ;ou2d use pull,based data,le%el integration when an application re)uires passi%e notification of changes within another application2s data$ <se data,le%el integration when the application up for integration does not pro%ide an# AP&s or client interfaces, and #ou intimatel# understand how business operations affect #our application2s data model$ Data,le%el integration t#picall# represents the onl# option with custom applications lacking application AP&s$ &n data,le%el integration, changes propagated from dependent s#stems b#pass the integrated application, so all inserts, updates, and deletes are done to data that the integrated application accesses$ De%elopers t#picall# implement data,le%el integration with database gatewa#s or triggers and stored procedures$ -he ma0or downside/ keeping the integrated application2s data intact$ +or e.ample, some E P 'enterprise resource planning( s#stems include thousands of tables$ One table might ha%e dependencies to others, and the integrated application ma# be the sole enforcer of those dependencies$

>I4le&el integration
UI-level integration ties integration logic to user interface code$ <&,le%el integration is scripting, or pro.#,based$ Scripting,based <&,le%el integration embeds integration code into the <& component e%ents, common with client=ser%er applications such as Power1uilder or >anti%e$ +or e.ample, when #ou click the Submit button of an Add "ustomer screen, data must be sent to the application2s database and a !5S '!a%a 5essage Ser%ice( topic$ Pro.#,based <&,le%el integration uses the integrated application2s interface 'through screen scraping( to pass data to and from the legac# s#stem$ <se <&,le%el integration when #ou cannot easil# or directl# access the database, or when #our business logic is embedded in the user interface$ 5ainframe and client=ser%er applications represent t#pical candidates for <&,le%el integration$ 5ainframes generall# cannot access friendl# data stores and usuall# do not pro%ide public AP&s$ +or their part, man# client=ser%er applications embed the business logic in the client$ &n these cases, <&,le%el integration represents the onl# wa# to access and maintain data integrit#$

+or e.ample, Oracle stores customer names in first, last, and middle initial fields$ SAP, on the other hand, stores a customer name in a single field with a last?ame, first?ame format$ Sending data from Oracle to SAP re)uires a semantic transformation to concatenate a last name with a comma and first name$ &n most cases, <&,le%el integration is #our last resort$ Adding scripting logic to catch e%ents within client=ser%er applications )uickl# becomes difficult to maintain as the integration le%el increases and changes occur$ &n either case, <& changes can break the integration triggers and logic$ 5oreo%er, tight coupling fore%er links <& maintenance with the integration code2s maintenance$

Application-level integration, probabl# the best wa# to integrate applications, uses the integrated application2s integration frameworks and AP&s$ Application interfaces let #ou in%oke business logic to preser%e data integrit#$ &ntegration AP& e.amples include Siebel2s !a%a Data1eans and SAP2s !"A '!4EE "onnector Architecture($ Prefer application,le%el integration because it is transparent to the integrated application and preser%es the application2s data integrit#$

"ethod4le&el integration
Method-level integration, a less fre)uentl# used superset of application,le%el integration, aggregates common operations on multiple applications into a single application that fronts the integrated applications$

*eb5ethods is considered a middleware market$ &ts main competitors are -&1"O, >itria, Seebe#ond and &15 *ebSphere 58 product series$ &f #ou consider ED&, mapping market than products like 5ercator and "#clone also in the space$ *ebmethods ad%antage is a good graphical tool to produce flow ser%ice that do the mapping from an# data format into othet format and connecting different application together$ &t also ser%ers as hub for -rading Partnet integration$ ;ou do not build applications in webmethods instead #ou use it to integrate #our SAP E P s#stem to Siebel " 5 as a.ample or 5ainframe to PeopleSoft$

3or egD The organi%ation in which I was working, we had oracle apps erp system installed organi%ation wide, but the hiring function was controlled by an e#ternal agency which was working on a system which had its own E+, by the name of :ubble, so to integrate that with our system, what we did was that we created some interface tables on their server where the data got stored temporarily, and then using some standard A,IJs provided by oracle we used to fetch that data once in a day and store it on the tableJs on our server in the format that was understandable by our application, to do this, we had to fetch the data from $ust . table which was flowing from hubble into several tables at our end, which then reflected on the application.

You might also like