Composite Integration Applications
I believe there is a newer type of integration architecture which is becoming prominent these days which isnt talked about that much and I am not really sure I have seen that many people comment on it. At Serverless 360 we saw this pattern emerging and called it a Composite Integration Application.
We saw this grouping together of components which are used to solve a problem, however the components tend to be very specific in what they do and tend not to be reused to solve other problems. Its a bit like a solution in a box type approach.
If we take the below diagram and imagine that our business problem was that people would submit data from a mobile app. The data might be saved to a CosmosDB then an event hits Event Grid and a Logic App uses some other Functions to process stuff in the background and updates th CosmosDB.
The components within the application dont really offer anything individually and are only used within the Composite Integration App but the Service provided by the App is reusable across other apps which need the service (but it doesnt have to be).
We see things like Serverless approaches and consumption costing have made it very simple to build these types of small and simple Integration Apps and they take a lot of learnings from a Microservice based approach. We believe this Composite Integration App to be bigger than a Microservice as it may include integration into other services or applications, but everything it needs with the exception of external API's it in a Logical box for delivery and management.
In the below example of a Composite Integration App we can see that the customer has Dynamics 365 and they wanted to build a Power App to offer some functionality beyond Dynamics. In this case they have build an API which exposes some functionality encapsulated in the Composite Integration App which allows the Power App to submit invoices to the API and to have them processed by a Logic App and Functions to load them into Dynamics.
This particular Composite Integration App has no real use beyond the scope of allowing the Power App to integrate with Dynamics and the small bit of functionality it offers but the app provides a very light weight and agile delivery vehicle which gets things delivered cheap and efficiently and also has such simple dependancies that if ever it was no longer needed then it can be deprecated very easily.
We see this pattern growing in its usage and see it as a way of delivering integration solutions that lend from the principles of Microservices based architectures. We also see that it is a great way to have an architecture which allows integration to be delivered in an agile way so we expect this approach to grow in the future.