This is a big thing in most businesses. We all do it, to varying degrees of success and with widely divergent understanding of what it really means.
System – A formalised function, group of functions, tasks or actions performed with the specific intent to achieve a predetermined goal. This can be computer and/or human based.
Application – Computer program that has the capability to perform a specific function, task or action. Can be seen as systems but for clarity I would like to separate the two because an application seldom performs all the actions required by a system (perfectly).
Data – Pieces of information (wish there was a better word) stored in some way or form. Can be in database, spreadsheet, document or in someone’s head.
Process – Sequential (series or parallel) performance of tasks, functions or actions that can be grouped together to achieve a predetermined goal. In my head system and business process are both collective vessels. Processes are aimed at achieving results across systems where systems are aimed at achieving focussed results. An example to explain this is where a recruitment process would include population of all relevant applications with the successful applicant details where in an Human Capital system, recruitment is aimed at resolving all of the compliance (legal and company specific) issues regarding successful applicants.
Integration – To allow multiple systems to work together is some way or form to fulfil the requirements of a process, address some shortfall within an application or produce data is more understandable with the lowest risk, highest accuracy and least effort.
Wow, now that the words have been properly defined (we hopefully speak the same language) we can proceed and look at the various flavours of integration. I will start at the simplest method and then progressively increase the “difficulty level”.
The most common way in which organisations integrate information is by hand, in a batch process where a person (who hopefully understands) takes data from one system, manipulates it and then enters it into another system.
Note – action is probably single direction (system A feeds system B).
Multiple variants of this exist where people use reports, Excel and other methods to gather the source data, then “manipulate” the data into something that the other application / system can “digest”.
Natural progression in most businesses will lead to the realisation that there are manual processes that are standard, repeatable and probably time consuming (Don’t mention error prone.). If these occur between applications, then some IT guru offers to “automate” the integration.
Note – action is probably single direction (application A feeds application B) + data upload has to be “approved” by application B.
The person is replaced by some script or code in the background that takes data from one application, manipulates it and then uploads the data into another application. Many variants exist, manual verification is required and application B has to be able to “accept” the data as its own.
The data that flows from application / system A has an effect that needs to be pushed back (or recorded) to application / system A. Example: Accounting system uses external (external to accounting application) invoice generator. Once invoice generated and sent, must be marked as sent in the accounting application.
Note – Manual and / or Batch Upload can be employed to achieve.
- These three systems still pose significant risk due to manual quality, completeness and accuracy verification – SOMEBODY has to make sure it works.
- Slower moving data / information is a requirement as the volume of fast changing data / information will make it hard to keep up (consider verification).
- Application A can react to a transaction while application B may not even “know” that the transaction exist yet (synchronisation can prove problematic).
- Exception handling (this transaction is different from the norm / standard) very limited if it exist at all.
Ok this is appropriate if we have a bundle of data in one area of the business that needs “simplistic” manipulation and then shoved into another area. How do we deal with data that has to go lots of places, is dependant on the time it takes to get there and may require different and complex manipulation along the way?
This is where integration specialists and software vendors are making their money.
Just imagine for a second that you are a mobile phone provider that allows your clients to use SMS, so you have millions of these events that occur every single day (including weekends) and each SMS needs to be routed (going to the correct recipient), delivery has to be verified, billed to the client (considering the contract type, specials and SMS type) and all information have to be stored (dependant on country regulations) for auditing purposes. Now I am sorry, I don’t care how good your people are with Excel ……..
In the next chapter we will explore this wonderful world.
Have a happy day!!!