DEV Community

Marco Altea
Marco Altea

Posted on

Integrations mess, how to get out successfully

What: In IT when we talk about integration we intend the process/method to make two or more application/product exchange information to combine and enable capabilities.
In enterprise environment it's very common face the requirements to create a way to move large amount of data between multiple platforms following a complex rules logic, putting in the table a large variety of factor that we need to consider.

Consideration:
I tried to list below the major player that we need to consider every time we are going to approach the design of an integration solution.

  • Integration ratio 1:1 or 1:n
  • Size the amount of data per time to be moved
  • Understand what is the data transfer's Frequency needed
  • Understand the geo location of the server where the delivery of the service needs to be provided
  • Type of information needs to be exchange
  • Future possible scenarios, keep scalability as a KPI
  • Creation of a consistent API Library
  • Performance

Execution:
In today enterprise landscape we face sync vs async choice, the main technologies'solution that are helping us to reach our scope are:

In Synchronous data exchange, data flows in a full-duplex mode in the form of frames. Synchronization between the source and target is necessary so that the source knows where the new byte starts. Therefore, each block of characters is labelled with the synchronization characters and the receiving device acquires the data until a special ending character is identified.

In Asynchronous integrations is a communication method where in the system puts a message in a message queue and does not require an immediate response to continue processing.

Technology

  • REST: Representational state transfer (REST) is a software architectural style that defines a set of constraints to be used for creating Web services. (from Wikipedia) - SYNC

  • SOAP:(Simple Object Access Protocol) is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks - SYNC

  • FLAT FILE: File-based integration is when either your source data and/or your destination data must be represented in a file (like a CSV file) - ASYNC

Those are only three examples, but the number of architecture/methodology are way too wide, in a design process we need to be sure to understand the capability/restrictions of each platform involved.

Which one is better – Synchronous or Asynchronous?
There isn’t an answer for this question. Asynchronous and synchronous messaging will each prove valuable in their own way. There are situations where one will work but the other one won’t.

Top comments (0)