Application integration can be described as a process of bringing data or functionality from one application together with that of another application program. What does that mean? Basically it means getting applications to talk to each other. We are all aware of different applications and how they allow us to interact with them. A simple email client allows us to create, send and receive emails, spreadsheet software allows us to read and write spreadsheets, CRM (Customer Relationship Management) software allows us to add, update, delete customer software....the list of types of software we interact with goes on and on. We can get these pieces of software to share data using Data Integration, but that usually needs to be initiated by a user. What if we want these pieces of software to "talk" without human interaction? Big businesses have been looking into this problem for a while now and many use an ESB (Enterprise Service Bus) to help achieve this goal. Like a lot of business software, these ESBs were expensive. Now, thanks to open source software, ESBs are available to everyone.
Think of an ESB as a "middle man"......not one that does very little and takes a lot for doing it though. This "middle man" provides many essential services which include orchestration, mediation, routing, transformation, security, and several others. A good way to think of an ESB is to think of a traditional phone switchboard operator that provides a multi language translation facility. As calls come in, they check who the call is from, they route them to the correct number, deal with situations when more than one person wants to contact lines in use, ensure stability of the call and (in this case with the translation) allow conversations to take place where all parties speak different languages. This is basically what an ESB does. It allows applications to "talk" without having to know how they communicate or where they are or even if they exist at all. Go here for a more fomal explanation of an ESB.
Application Integration is still comparatively young and because of this even some big businesses are not really using it. But in this technology driven world it is becoming a necessity unless people are planning on using only new technology from only one brand. As this takes a lot of time, a lot of money and more foresight than can be reasonably expected of anyone selecting software for an evolving company, Application Integration fills a massive hole in an organisation's infrastructure. The following is a simple example of how Application Integration can benefit a small cake making business.
Tariq's Cake Making Business
Tariq's business had really benefitted from the introduction of Data Integration functionality. It had saved him a lot of time and effort and allowed him to focus on the business and not worry about so much of the administration. But he still had to take part in the Data Integration process and he was interested in making some changes....
So, what can be done?
As a business grows, both organically and by acquisition, the computer systems that support the business need to accommodate the new business processes. Small businesses regularly discover new computer system requirements and these can sometimes be difficult to accommodate on a small budget. With a bit of analysis and selection of the right tools, there aren't many integration problems that cannot be solved.
How about using an ESB?
When a business and its computer systems are in a state of flux, a good course of action is to simply enable that state by providing the business with a computer system that is able to swiftly adapt to the changing needs. A good way of providing this sort of system is to implement an Enterprise Service Bus (ESB). It enables a loosely coupled architecture that makes it very easy to add and remove components with with very little latency and a comparatively small financial footprint.
Mix 'n' match architecture
With an ESB it is very easy to literally take a mix 'n' match approach to your architecture. All you need to do is describe the inputs and outputs of the software components (specify an interface "contract") and you can easily add and remove pieces of software to and from your system. This requires some work but vastly reduces the overhead of introducing/removing/replacing software. There is also the benefit of being able to automate processes.
Automate and control your systems as you want to
An ESB not only allows you to create a flexible architecture for your systems, but it also provides numerous ways for you to control or interact with them. One of the most popular ways that is adopted is to use Web Services to interact with the individual applications or with the system in general. Using Web Services allows complete freedom in how, when and where you wish to communicate with your systems.
Application Integration is a very big subject and this example only really touches the surface of what can be done. For a more formal explanation of Application Integration take a look here.
If you have any questions about Application Integration and how it could benefit your company, please feel free to contact us.