Nowadays, many companies that make their own web site decide not to give up their ERP. For cases like this, it is necessary to develop an integration, a micro-application with the responsibility of allowing the web system to "talk" to the company's own application. In our trajectory at Codeby, we have achieved many successes and mistakes, and we bring them here to show you, possibly, the integration "formula". Check it out!
1. test the initial application data
Before starting any part of the project, do some testing. Tools like Postman are for this. Make as many requests as possible. This is done so that we can find out how the data will get to our developed micro application. Believe me, each test request may be responsible for totally changing the direction of the integration being developed, and it also helps us identify errors that may not be in our software.
2. Test the Target Application Data
The idea is to verify how the information should be sent to the final system. This helps us study what transformations will be needed in the data of the initial system to make it fit the target system.
3. Planning is Essential
After the tests, it is time to get down to business. As obvious as it may seem, this is where the development of the integration can be compromised. There are situations in which both the initial system and the target software have flaws. And it is in these cases that the micro-application planning must consider both ends of the communication and be impeccable. A bad projection leads to a longer integration development process and constant corrections that could have been avoided in this step. Make flowcharts, talk to the client, don't worry about wasting time here. The more time you waste preparing your software, the more time you will gain in the development itself and the more mature it will become. Excellent tools such as Draw.io are there to help you, but although the programmer works daily with a computer, he should never get rid of pen and paper.
4. Focus on the Functional
The task should be simple and straightforward: integrate. Any features such as administrative panels for viewing the information from this communication should come as an add-on. This is the kind of functionality in the project that, as cool and important as it is, is not essential to the basic functioning of the proposal. Of course, the client may demand something like this, but never waste time on a task that can be done in a short time when you do not yet have the core finalized.
5. Research, A Lot!
It is possible and likely that one of the tools on which you are wasting more than 6 hours a day to develop has already been published on the Internet. The community of Web developers is very large, and there are many existing libraries to meet various needs. Don't reinvent the wheel, this can be a shot in the foot for both you and the client.
6. Will the data be merged?
At this point you must decide what will be the end of the data from the initial system. Should it be merged into the final system? Will it simply be stored, but separated with a specific attribute? This is not only up to the developer. The destination of the data must be studied with the customer, evaluating the pros and cons of each possibility.
7. The Integration Will Never Be Perfect
Although the name of the article talks about perfect integration, this is unfortunately a myth. Every application is subject to exceptions. The role of the developer in the process from planning to the actual completion of any system is, besides building it, to find as many exceptions as possible. However, the biggest difficulty in this process is that we do not have control over all the possibilities of a software reaction.
*For this, there are several frameworks or robots designed to find a large number of possible exceptions that prevent the software from working properly.
Finally, the perfect integration is the one that works and has its objective achieved. No matter how large your client is, developing a system integration should not be a huge task. It can be complicated, have ups and downs, and in the worst case a functional integration, but with great difficulties for maintenance. However, always seek to achieve your final goal and never lose transparency with the customer.
This article was first posted on the Lucas Yamamoto blog, written by our CTO.