When we created our platform, it allowed building easy sequential integrations for multiple disparate SaaS applications. However, the microservices nature of the platform shaped its own reality: Suddenly, we were talking to customers who had ideas for the platform implementation that didn’t fit this sequential, one-dimensional model; for example, to use it for a generic orchestration of microservices.
Now we are making one step toward a two-dimensional model of an integration platform as a service by introducing a new functionality of our visual Integration Flow Designer.
Meet the Recipient List: One Sender, Multiple Recipients
As you are very likely to know, citizen integrator-focused iPaaS and iSaaS products like Zapier, Talend or Software AG are limited to sequential integration flows. The elastic.io iPaaS used to be among them too.
Until now, our Integration Flow Designer allowed to create only linear-structured integration flows. What this meant in practice was that the output of one single integration component became in the next step the input of another single integration component, then the output of that other single component became the input of the following component, and so on.
This resulted in a whole bunch of integration flows when you needed to send the original data from one source, for example a purchase order from a web shop such as Magento, to several systems of record, say, to a customer management system such as Salesforce, a marketing automation system such as MailChimp and an ERP system such as SAP ByDesign. Three separate flows for just one very simple integration project.
Now, the next round of improvements to our visual Integration Flow Designer makes it possible to create considerably more complex integration structures:
As the picture above shows it, the enhanced Integration Flow Designer now allows to integrate applications following the so-called Directed Acyclic Graph structure. In other words, it enables a tree-like distribution of messages: The output of one single integration component becomes the input of several components with hierarchically equal positions in the flow.
Reducing the integration flow complexity and minimizing the number of API calls
This enhancement of our visual Integration Flow Designer results in several improvements of the process of setting up an integration flow.
First and foremost, it considerably streamlines certain integration projects. Taking the example above, now if we receive a purchase order through a web shop, we need only one integration flow to cover at least three different business processes. The original order data will then go straight to all three recipients, i.e. receiving systems of record, and will create a new customer in Salesforce, add a new lead in MailChimp and create a new order in SAP ByDesign all from one single integration flow.
Another really positive outcome of this improvement is that we need to fetch the original data only once instead of three times in our scenario, as it would have been the case if we used the sequential distribution of the message. In the scenarios when integration components are based on APIs, this means that we need to make only one API call – a pretty handy improvement when the API in question imposes rate limitations.
Additionally, the new message distribution structure in the Integration Flow Designer reduces the complexity of error handling. With only one integration flow to deal with, you can know for sure where to look for a problem exactly if two recipient systems received the message from the sending system and one didn’t, since you then will know for sure, for example, that it wasn’t the sending system that failed. With multiple sequential integration flows for the same sending system, the number of error sources and hence your involvement are considerably higher.
In order to create a tree-like structure of an integration flow, you do need to configure in the Mapper the sending system and one receiving system. Only after you have both, you will be able to add further recipients by clicking on the plus sign in the middle of the flow.
What to expect in the coming weeks
In the coming weeks, we are going to introduce yet further improvements to our Integration Flow Designer. One of them will allow to add conditions to the integration flows with the tree-like structure, which will make it possible send a message to the appropriate system based on the message content. As a matter of fact, our guys are working on it at the very moment when I’m writing this feature alert.
Another cool functionality that will come out within the next few days is the so-called Aggregator. It is actually the next logical step after introducing the one sender-multiple recipients functionality: Imagine you need to collect and publish a single message distilled from the previous multiple individual messages. The Aggregator, exactly as the name suggests, will enable to aggregate messages from multiple recipient systems in a tree-structured integration flow.
Stay tuned for more info.
In the meantime, why don’t you check out the new Recipient List functionality;-)