Integration is about Software CommunicationMoving information manually from software to another is time consuming and not an interesting task to do. Using automation is the right way to treat this kind of redundant task and integration is the cornerstone of it. This is where integration takes all its value by allowing a fluent a safe communication between software, apps… Any modern software that collects valuable data should be able to communicate with other software to allow the whole system to get the most of it. This means to have one clean set of data easily and quickly available, without each software gathering the same information in different format that fits it’s specific needs. This kind of practice leads to loss of power, time and memory, hurting the company on the long run. But communication does not mean an open access to any data for anybody, access needs to be considered and a door left open to communicate between different systems and software. The goal of integration is to allow subsystems to communicate together quickly without compromising security and allowing a more global system to work as one. This is why integration as to be smooth, any communication issue can have repercussions on the whole system. Therefore the integration should be taken care of carefully.
What are the main advantages of integration ?
Choosing to do integration can be long and costly but as in many cases if the work is done properly this will ensure profitability on the long run. Automation will reduce redundant tasks and allow new clean and valuable data to be exploited. The company and the employees will find that the investment is a necessary step to stay competitive on any market. Integration is about thinking long term and sustainability for the company.
We can identify two main advantages :
- To maintain data consistency & integrity, benefit later for the data era
- To reallocate employees into more valuable work, e.g., analytics, planning
It’s not only a question of advantages of integration that is relevant but also a question of necessity. Without integration, the most sophisticated software is isolated and can’t really perform. However there are many kinds of integration, some are easier and more effective than others.
How does integration work ? ?A good way to understand integration is to imagine to very talented individuals working on the same project but speaking their own language and being unable to communicate because of it. Even if they are not working exactly from the same perspective, they would lose a lot of time gathering the same data, creating identical formulas to understand it and so on. What is the point of team working if there is no sharing to gain some time and get the project finished well as quick as possible ? In our case the individuals are software and projects are still projects. The integration will figure out which is the most relevant language and protocol to make software capable of communicating and to allow them to share relevant data. The interesting part about this analogy is that we are talking about languages and the integration is using specific languages to add a security layer in the communication. As if rather than one individual learning the language of the second one, they would both speak a third specific language dedicated to this specific project, allowing them to share the information needed but not more than they should. If this protocol might seem frightening when we are talking about humans, it is quite convenient when we talk about software and security.
Software commucation and securityInformation can be sensible and often quite valuable; therefore it is important to control what is shared and how it is done. If sharing is a necessity nowadays, it is also exposing the valuable data that you want to share. This is why having a very solid and strict protocol to allow systems to communicate the needed information safely is so important, To communicate it is important for the code to speak into the same language, this means using the proper language understood and allowed by both side and to use the same data format. For instance, while a company might use a software producing data at the XML format, the same company might want or need to use an external solution accepting only data at the JSON format. In this case, not only the communication should be using th right language but the input / output data should be able to be processed at both ends.
Is there an easy way to integrate ?How do you allow Mailchimp (Email Marketing), Salesforce (CRM) and Paypal (Payment) to communicate with each other ? Some major popular software proposes an easy way to integrate with other popular software and some companies are made to facilitate this kind if integration like Zapier and if the software you want to link are both available using already made integration solutions it is a very easy quick, cheap and effective way to do it. Unfortunately if the main software used by the company proposes this kind of integration, often there is one specificity to the company that will imply an uncommon communication between software. A good configuration and some coding will then be necessary to make those solutions communicating together. Especially because using one major solution available on the market doesn’t mean the rest of the software used is also part of it.
Integration and ERP / CRMERP and CRM are made to link together different aspects of the same company, allowing them to communicate and use the same data. Usually when a CRM or an ERP is implemented there are a lot of different software spread out in the company but no automation made to allow easy communication between them. The implementation of the CRM or ERP is supposed to fix this problem but for it to allow a proper communication it has to be correctly integrated. Usually as integration can be a long and difficult process to do, it is common to create a step-by-step process with adapted objectives adequately prioritized. This will allow the integration to be smoothly constructed, connecting subsystems together.
About the necessity of IntegrationAs a company grows, it will need its system to evolve into more globally connected solution. Step by step new software will be implemented, others will become obsolete or inadequate to the new size of the structure. Bigger solutions will be needed and implemented as time goes but you can’t implement the one huge solution that is supposed to solve all your problems at once as Implementation takes time and can be costly. Bit by bit one piece of the puzzle will be changed or integrated to the new solution and different software will have to communicate with each other to work as one. Having multiple software separated and not communicating automatically with the rest of the system is a waste of data, time and, ultimately, money. Using integration is not only useful but necessary for a company if it doesn’t want to be isolated nor completely exposed in an open world. Integration is all about safely sharing the exact amount of data necessary without compromising anything.
Different kind of integration
There are different ways to do integration, from the out of the box solutions to the handmade solution created from scratch.
Integration being about security and communication, it is no surprise that there are many different answers to such a wide field. Two major SaaS will not have the same protocol to communicate with each other as two localhosted small software developed by the company.
- One of the main ways to do integration through API or Application Programming Interface. An API is a set of rules allowing software to access to another one without compromising its security. Most APIs in use is what is called REST API for Representational State Transfer, that is a HTTP based client / server transfer kind of API. It is a communication protocol, in which sender and receiver knows the pre-defined rules and conditions for the communication to happen.
- If no API is available, it is necessary to get the information needed directly in the database. This is, of course, less secure and still requires coding. If it is possible to avoid using this kind of approach, it is recommended to use another solution.
- Another protocol used to exchange data is using EDI (Electronic Data Interchange) from an external third party handling the protocol of data transfer. Even though this solution is used by many big companies it is an expensive, complex and time-consuming answer that is often not the best solution.
- The out of the box solution, both software are communicating with each other to make the data exchange working. This case is ideal as there is nothing to do really, it is often rare because the 2 actors must have done the work on each side and limited for really specific requests at the same time.
- Last but not least : The middle man solution. This solution is using a third party with already working integration solutions for the main Saas and platform available on the market. The price of the service will be based on the number of requests made and the complexity of it. Even if this solution might seem coldly at first, it is interesting to consider as there is no maintenance cost to add. A good example of this kind of solution is Cazoomi or Zapier.