Click here to Skip to main content
15,893,814 members
Articles / Programming Languages / C#

Why EAI?

Rate me:
Please Sign up or sign in to vote.
0.00/5 (No votes)
7 Apr 2009CPOL6 min read 12.7K   3  
Why EAI

EAI, Enterprise Application Integration, is more than a passing trend – it’s a fundamental part of day-to-day business operations. Understand the three types of integration, their technical approaches, and how they can benefit your and your clients’ businesses.

Many Types of Businesses, Many Types of Apps

Most organizations typically use many applications and databases in their daily operations. Applications could be off-the-shelf (COTS), custom-built, or part of legacy systems, and they often operate in multiple network tiers and often reside on varying operating system platforms. Organizations that have many applications are often thought to be large, possibly employing thousands of people; however, smaller organizations – even those that employ one or two people – are not immune since they are more likely to be forced into using their customer’s applications and platforms and tend to be much more cost aware.

So where do all of these applications and platforms come from?

Business applications, like the businesses they support are unique. Business applications solve difficult problems, making them difficult to write in almost all cases. A simple approach could attempt to write an all-encompassing application that’s capable of running a complete business. However, this all-encompassing approach is not feasible as is demonstrated by applications from vendors like SAP, and Oracle, which, as large as they are, encompass only a fraction of the business functions of a typical organization.

A multi-application approach makes it possible for businesses to select the best of a class of applications. A business could choose to invest in the best customer relationship management system, or best billing system to meet their specific business needs.

Understanding Integration

Common business functions cross application boundaries. Accepting a new order can span business applications that manage inventory, billing, customer relationships, and payment processing – and all need to operate in the context of a single transaction.

Integration brings together the information to handle a business process, the business process itself, the means to automate the business process, and makes it possible for other businesses to integrate with your business process (or have your business process integrate with others’ processes). Integration spans applications and business processes – and it begins in the context of your organization – your enterprise.

The benefits of Enterprise Integration include efficient, reliable, and secure information exchange between applications within an organization. The efficiencies that surface as a result of integration help organizations stay agile in a fluid marketplace, while reducing operational overhead (organizations save money!).

Business Integration builds on Enterprise Integration by bringing trading partners closer to your business processes. Business Integration is analogous to many of the self-serve options available to consumers today: consumers use things like automated teller machines, online banking, and other forms of data entry and transactional support services on their own while gaining value from the underlying business. The business process exists for the customer; however, the customer now has the ability to invoke the business process on-demand in a secure and reliable manner.

Path to Realization

As you just learned, integration is a term that describes a state made up of three types of successful integrations:

  1. Application Integration
  2. Enterprise Integration
  3. Business Integration

Each type of integration builds on the preceding integration making it possible for organizations to take an organic approach to introducing integration. The next series of sections discuss each type of integration in more detail.

Understanding Application Integration

Application integration gets applications to exchange data. There are three fundamental patterns (recurring approaches) in applications integration (listed in order from least mature to most mature):

  1. File Transfer
  2. Shared Database
  3. Remote Procedure Invocation
  4. Messaging

Each type of integration has its benefits and drawbacks and is unique to the capabilities of the applications’ abilities. For example, an accounting application may need to integrate with a commerce application. While the commerce application may be able to integrate with other applications in various ways, the accounting application may only be capable of exporting and importing files; as a result, the best available choice in this case is integration through file transfer.

Application Integration is relatively fast and cheap, so it’s usually where most organizations start. Application Integration has limitations that are, as you just learned, based on the capabilities of each application involved in integration. In-house developers or consultants are often unable to change applications involved in integration, further limiting integration possibilities and thus business benefits.

Orchestrating Activities through Enterprise Integration

The goals of Enterprise Integration include flexible architectures, integration with existing applications, service integration, and state of the art composite application development.

Enterprise Integration builds on Application Integration by getting applications to work together in a coordinated manner to provide value to the underlying customer. Going back to the example of placing an order, Application Integration gets the inventory, billing, customer relationship, and payment processing applications to exchange data. Enterprise Integration orchestrates the applications’ activities into a repeatable, value added process that manages the order throughout its useful lifetime.

Enterprise Integration, therefore, is both a business and technical solution. Enterprise Integration uses business process management (BPM), a practice that models an organizational structure, defines the business processes, and shows the interactions between them. BPM is important in discovering, analyzing, and creating repeatable processes that the Enterprise Integration effort can encode in a repeatable, value added process. Enterprise Integration uses the results of BPM to orchestrate applications that support a business process-based workflow.

Enterprise Integration is comprised of four technical patterns:

  1. Enterprise Service Bus
  2. Service Oriented Architecture (hub and spoke)
  3. Publish-Subscribe (distributed)
  4. Point-to-point (mesh/network)

As with Application Integration, each of the four patterns have benefits and drawbacks, and none is more mature than the other. The only aspect the approaches have in common is that they use the Messaging – an Application Integration pattern you saw earlier. Messaging is a fundamental aspect of Business Integration.

Understanding Business Integration

Business Integration is relatively straightforward, assuming that you have spent time on your organization’s BPM. Business integration focuses mostly on your organization’s technical infrastructure because Business Integration focuses on exposing parts of your business’ operations on the public Internet for use by your trading partners.

Fortunately, state of the art business integration is within reach of all sizes of organizations as a result of the broad availability of cloud computing (a very cost-effective, demand-based model of using compute resources to meet fluid demands without having to make investments in infrastructure).

Conclusion

Integration is a fundamental aspect of working and competing in today’s fluid marketplace. The goal of integration is to lower your organization’s costs while providing business value to your clients. Integration begins by sharing data across applications and can lead to business processes integration between your organization and your trading partners’ organizations.

Integration is both a business and technical solution. Technical solutions have a usable lifetime that can be extended when used in concert with technical standards that drive communications, data formats, and message exchange patterns. State of the art technical solutions are within reach of most organizations as a result of advances like cloud-based computing.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer (Senior) erikwestermann.com
Canada Canada
Erik is a senior developer-writer with more than 20 years professional programming experience designing and developing large scale database and Internet-centric applications for organizations including MSN.ca, ADP, Nortel, EDS, Merrill Lynch, ePost, CIBC, TD Securities, IBC, CIHI, InnovaPost, etc.

Erik has been specializing in BizTalk Server-based solutions for many years. His experience includes many SOA and ESB-style applications using technologies like Commerce Server, SharePoint, ASP.NET and advanced .NET Framework.

Comments and Discussions

 
-- There are no messages in this forum --