Client
We partnered with a manufacturer and supplier of medical products. Their headquarters is in Berlin and branches in China and Malaysia. The company has been on the market for over a decade.
Project Description
Our client used an ERP System ‘Microsoft Dynamics 365 Business Central’. That software allowed them to export files to an FTP server for data exchange with partners. Initially, they were generating orders in the ERP system and stored the data on it as .csv files on the FTP server.
As they partnered up with a new supplier, one of the biggest dentistry firms in Germany, our clients urged to automate their cooperation through developing integration on the level of file exchange between two FTP servers in both directions.
Elinext was the first company contacted by our future client, and they were more than satisfied with the timelines, costs, cooperation, and all the other aspects. It was a new experience for the healthcare company, so they started with the minimum necessary workflow to automate the data exchange. More integrations were potentially to come Elinext’s way.
Challenges
Our main challenge was seamless integration from one FTP server to another.
- Come up with a Java-server app to collect orders from the customer’s server
- Make seamless integration between two parties despite having different ERP systems on the ends of the data transmitted
- Mapping of customer’s files according to partner’s system requirements
- Deal with file transformation errors occurring because of special symbols of the German language
- Cope with looping tasks that were occurring during the file transformation
- Do the logging part of the app
Process
The application runs in the background to ensure the correct data exchange between two FTP servers without any user interface.
Here is the way it operates:
More details on the way the app operates are in the “Solution” section below.
As for the development stages, our work consisted of three stages.
Stage 1: Business analysis phase
Stage 2: Backend development
Stage 3: Testing and bug fixing
Elinext delivered everything on time and according to our agreement.
Solution
Elinext developed a Java-server application and deployed it as a Windows service: the .jar file is installed onto the customer’s computer. The app ran without any UI: it collects order files from the FTP server of our customer, transforms them to a format suitable for the partner, and sends it to the partner’s FTP server. Also, the server app works backward: collects the partner’s files (of 2 different types) from the partner’s FTP server, transforms each of them to a corresponding Excel file, and sends it to the customer’s FTP server.
The server application runs in the background. The user doesn’t have access to its modules, but we can state that three modules were developed.
Module 1: Outgoing file transfer (From our client to the partner)
Step One. Check the partner’s destination folder.
Based on the business rule, the partner’s destination folder can store only a single file at a time. Our client knows that a new file will not overwrite a previous file that the partner has not yet processed.
Step Two. Collect the orders.
All the client orders, exported from its ERP to the client’s FTP server, are collected by the application for further processing.
Step Three. Transform the collected orders.
The orders are transformed and mapped into a single file, based on the partner’s requirements. The resulting file includes all the necessary order data and has the correct format to display German letters (the result of our adjustment).
Step Four. Send the resulting file to the partner.
The partner receives the file with the necessary data for further internal processing of the customer’s orders.
Step Five. Move the collected orders to the temporary customer’s folder
Step Six. Delete moved orders after a specific storage period.
Module 2: Incoming file transfer to our client
Step One. Collect partner’s files
Partner’s files (two types of them) with an order confirmation and warehouse stocks, exported from its ERP, are collected by the application for further processing.
Step Two. Check internal app storage
Step Three. Save the collected partner’s files to the application's internal storage
Step Four. Transform collected partner’s files
Collected files are transformed and mapped into a corresponding Excel file. The resulting files include all the necessary data from the initial files.
Step Five. Send the resulting files to our client
Our client receives correctly transformed Excel files with the necessary data in the human-readable format for further internal processing.
Step Six. Clean the partner’s initial folder
The partner can export the next files from its own ERP.
Step Seven. Copy the collected initial partner’s files to the temporary client’s folder
In case of any necessity, our client has access to the partner’s initial files that are already transformed and sent to Adebo as Excel files.
Step Eight. Delete the initial partner’s files from the client’s temporary folder
Step Nine. Clean internal application storage
Adebo receives each transformed file only once.
Module 3: Logging
This module contains and creates logs of all the application events in readable Excel files on the client’s FTP server. It is used to control the application operation and interfere in case of any problems.
Results
Elinext delivered the server app. We completed the project on integration middleware between two systems: automatic sending and transforming files into relevant correctly readable formats. After the testing on the client’s side, the app has been deployed and is functioning at the moment.
Our German client plans on integrations with its other partners, so more to come.