What is system integration?
Enterprise system integration is the practice of making two or more separate software systems work together. It can take many different forms, depending on the systems being combined, and the integration method that is used.
The purposes of system integration vary from company to company, but the main focus tends to be decreasing labor time and costs, increasing productivity, simplifying data transferal between departments, and processing raw data.
The system integrator is the person or company that handles the integration process. They create the framework for the integration, develop the translation method between the systems, and maintain connectivity.
Ways to integrate systems and examples
Many companies use more than one type of software and benefit from combining them in different ways, depending on their needs. There are many different strategies in business that benefit from using system integration methods. Here are a few of the most well-known.
- CRM (customer relationship management) – May have customer information and sales records merged into one.
- Supply chain management – All of your vendors, deliveries, and payment account information could be integrated.
- Internal and marketing communications – Advertising, sales, and direct mail marketing systems could share a database and more.
- Human resources data – All of your staff files, payroll, and other HR resources can be connected to ease interdepartmental requests.
- ERP (enterprise resource planning) – A simple application can be made to access every aspect of your core company functions.
General benefits of system integration
- Increased efficiency – making software work for you saves time and human labor on redundant or mundane data transferral. Instead of having your sales team make inquiries about customer payments from accounting each day, an integrated system will do it automatically
- Decreased human error – computers don’t have bad days or get distracted. An integrated system cuts down on the likelihood of errors
- Cost savings – time is money. By delegating the small stuff to an automated system, your employees are free to do the most important tasks.
General drawbacks and challenges
- Security risks – as you put more information into a system, you also expose it to potential leaks or hacks.
- Large upfront expense – the cost to integrate systems is a large investment, but it will pay off later.
- Hard to agree on – Especially with third-party integrations, it can be extremely difficult to reach a compromise that all parties agree to. This can lead to long delays and other issues.
Four Common Methods of System Integration
The vertical method is easy to implement but is difficult to maintain over time as the business grows. In a vertically integrated system, sub-systems are combined into ‘information silos’ in accordance with their functions. The sub-systems in these silos operate independently, without any communication with other silos.
- Simple – This is a good method for companies lacking a strong IT team because it doesn’t require much coding knowledge.
- Easy to create – No super-genius coding skills needed to bring this integration to life.
- Isolated subsystems – Each subsystem sends individual requests to other subsystems, rather than being connected.
- Too rigid – Vertical integration does not allow for any flexibility or change.
- More silos must be created over time – For each new subsystem, a new silo must be created.
- Hard to manage – When there are too many information silos in the system, it gets cluttered and slow.
In contrast to vertical system integration, the horizontal method’s purpose is to allow communication between subsystems. This is done by creating an Enterprise Service Bus (ESB). The ESB acts as a translator and connector between the subsystems. Only one interface is needed for each subsystem, in order to communicate with the ESB. A benefit of this method is that when making changes, to other subsystems, only the ESB needs to change along with it, rather than the entire system. However, because the ESB is the central hub of the operation, any problems within the subsystems or the ESB itself can bring the whole process down.
- More flexible – Subsystems can send and receive requests through the ESB with ease.
- Fewer changes – Changes only need to be made to the ESB if a subsystem changes.
- Subsystem communication – Unlike vertical integration, the subsystems can connect with every other subsystem.
- High risk of system error – If something goes wrong with one subsystem or the ESB, it could affect the entire system.
- Lower communication speed – The ESB may perform slowly because of all the data it’s processing.
- Needs a specialized system – The ESB needs to be specially made for your system.
Known by a few different names, the star, spaghetti, or point-to-point method operates by connecting each subsystem independently to all of the other subsystems. This allows for more communication without the need for an ESB. But, if one subsystem needs to be changed, the others do as well. This is a great method when there aren’t too many subsystems in the system.
- Autonomous – Communication happens automatically.
- All subsystems are connected – Each subsystem is individually connected to every other subsystem.
- Faster communication – Without the bulky ESB, data moves faster throughout the system.
- All subsystems must change when one does – Otherwise they won’t be able to communicate properly.
- Very complex – A lot of planning must be done to ensure that each subsystem can connect properly to the others.
- High risk of problems when there are too many connections – The more subsystems there are, the higher the likelihood of there being problems.
Common data format
When using this type of integration approach, a new data language is made. As the language of Esperanto, it is a universal format that all the subsystems use to transfer and process data with one another. This method is used to avoid having more than one adaptor for every subsystem within a system.
- Excellent translation – All subsystems are ‘fluent’ and can communicate seamlessly.
- Automated – No need to manually make requests.
- Systems do not need to work together – Each subsystem operates independently.
- High coding skill needed – This is a complex method, that takes a ton of coding skill.
- Risk of initial problems – While setting up, a lot of issues tend to arise with the data format.
Blocshop has been providing custom built software for businesses around the world since 2012. If you need system integration services, we would be happy to work with you.