When analysing the different Enterprise Resource Planning (ERP) softwares that are available on the market today, it is very hard to find one which takes care of all the complex requirements that pertain to a specific part of a business. Most of these systems are designed to take care of the general requirements one might expect when dealing with an area of business and therefore, this might lack some critical requirements for a company which is heavily invested in one of these areas.
Most of the time, the ERP must communicate and integrate with other external systems, doing this in an efficient manner that does not affect the users which are interacting with the ERP. In order to do so, there are several key questions that one might want to ask during the design of an integration which can provide a better understanding of what is expected from it.
This is a very important question that needs to be asked as certain systems might have some performance restrictions when communicating with external systems.
Let’s say that, as part of an integration, the external system must get a list of all the customers set up in the ERP. If run once daily, this is a simple task for the ERP to perform and it will not affect it but, executing the process multiple times an hour might cause the ERP to underperform, especially when taking into consideration that there are other processes that might be also executed at the same time. It is because of this that it is important to define how quickly the integration must happen as well as whether the integration must be run during peak hours of business or if this can be left to off-peak hours where the load on the ERP might be less.
Another factor is the data transfer protocols supported by the target system. For example, a REST-based integration might be faster than a SOAP-based integration because of its stateless design and high efficiency. Even though most modern system today use the RESTful approach, it is always a good idea to determine the integration protocols that the external system supports.
In conclusion, there are several questions that must be asked when integrating two systems together, all of which depend on the systems being integrated and the complexity of the integration scenario. An integration between different systems is never easy to design and develop but, hopefully, the questions and their answers defined in this articles is always a good place to start and will help in identifying other requirements that are critical for a successful integration.