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.