Flag This Hub

Top 5 Things that Can Make or Break Your Enterprise Application Integration

By


Enterprise Application Integration - Introduction

Enterprise application integration is the ultimate goal of any IT organization as it provides enterprise wide transportation of data between desperate systems.  When it comes to integrating applications across varying platforms, it can be quite a daunting task. After all, you are hopefully only putting the data into a single system and having the necessary information transfer throughout the company virtually hands-free.  There are numerous tools out there to help you talk to these diverse systems and for the most part they are all pretty good at what they do.  Make sure you choose a tool that appropriately fits your infrastructure.

My Background

For the last 10 years, I’ve been working for a large independent oil & gas company.  I am the IT advisor for drilling, production, and integration systems at this large independent.  I have personally designed and developed a custom business process management (BPM) engine that handles all the integration from production all the way into the revenue and marketing systems for this large independent oil & gas company.  The integration is all performed in real or near real time and is based on the practices discussed in this article.  This is a complete end to end solution capable of transporting data from both internal and external sources and from anywhere in the world.

Single Source of Entry

The first key to any successful integration is the idea of a single source of entry.  You should always ONLY have one true source of the data so that in the event of a discrepancy you can always hold the source system responsible for the data.  If the data is changed throughout the process you can no longer ensure that the data from the source matches the target and hence can no longer hold the source responsible for the data.

Units of Work

All integrated data is made into units of work.  If you take nothing else away with you after reading this article make sure you understand this point.  Units of work are logical units that the data can be organized into.   You should think of units of work as a database transaction.  If your unit of work fails to integrate to the target system then that entire unit of work should be rolled back out of the target system.  This is necessary in order to handle resubmissions of data and is helpful in identifying duplicate or changed data.

Service Oriented Architecture

I am certain you have heard this buzz word thrown around many times in the wrong context, but none the less this is the single most important aspect of any successful integration project.  The idea here is that the data travelling to a target system must be used in some way by the target system.  The target service performs this function.  It could be that the target service simply loads the data into a specific table in the database, or it could be made up of advanced programming logic based on data contained within the unit of work.  See Wikipedia’s definition:

Business Logic Should Occur OUTSIDE of the BPM Engine

This is where every vendor will differ, but the majority will try to tell you they have a magic business logic engine or language that will fix all of your problems. I personally try to take all the business logic out of the BPM engine. This keeps me from being married to any one particular BPM engine. If you build your logic in the workflows of the engine then you are destined to use their product indefinitely.  I want to be able to change the "guts" of the system if necessary.

Web Services Architecture

In my opinion this is the best possible approach because it gives the IT organization the flexibility to run cross platform.  Web services are not required for a SOA approach, but they are highly recommended.  

Comments

No comments yet.

Submit a Comment
Members and Guests

Sign in or sign up and post using a hubpages account.



    Like this Hub?
    Please wait working