The Problem Software integration aims to solve a problem that started when large companies automated processes that had previously been manual; such as finance or human resources. This in itself was a very successful idea, and sent costs tumbling. However, finance developed an application to fit their needs; HR developed another (incompatible) application, and so on… Unfortunately, this resulted in inconsistent data. For example, if
finance and HR applications both required an employee database, it was replicated into each application. With no central source, who was to say which database was
correct one? This not only led to an enormous duplication of effort, but to a large consistency problem. The previous solutions There were many approaches to solving this problem and they can be broadly divided into three categories: user interface integration; data integration and business process integration.
User interface integration was
cheapest to implement and required
least change to working practices. The technique was to take all
applications and shoe-horn them into one user interface. Unfortunately this was no more than a cosmetic overhaul and did nothing to address
fundamental problem.
Data integration came in several flavours, most significantly
data-warehousing push of
80s and 90s. The idea was to do a one-off analysis of all of
information used by a business, design a centralised database and re-implement
applications around it. Unfortunately very few corporations managed to get past
design phase. Lack of decent change management tools and over-ambitious, short-sighted IT directors can take most of
blame for this.
The current solution The solution of
day is business process integration. Unlike data integration where
idea was to centralise
data and rebuild
applications on top; business process integration aims to integrate on top of
applications.
A critical realisation in bringing this about was
existing applications contained important 'business logic' – information about
processes that ran
business. Rather than ditching this altogether why not build a layer on top and in-between that will facilitate integration? This has given birth to a whole new class of software, which has been dubbed 'middleware'.
For Example Supply Chain Integration is a particular type of business process integration that can reap huge benefits (as well as posing big technical and managerial challenges). The basic idea is to remove some of
unknown variables in your business planning and forecasting; by getting as much information as possible from your supply chain in both directions.