Ensemble from global company InterSystems was a middleware and application infrastructure offering. It is a legacy product, now replaced by InterSystems IRIS.
Multiple systems to interface for a task in the company (example: to sell an item your POS must communicate with the inventory software, then to accounting, then to service, etc).
When a task must bring information from several external services.
When you have to deal with multiple APIs.
Not recommended for:
Data transformation (although Talend has a software for that that works with Talend ESB)
Easy to use: The simplicity of its programming language allows fast learning. Visual environment to generate complex code.
Robust: A fall of the system will not be a problem. Never again will information of the transactions in progress be lost. Never more messages lost.
Connect to the world: The most popular connection is possible to implement quickly. FTP, File folder, TCP, SMPT, REST.... all method are ready to use. Only define "where" and "how"
Given that Ensemble and Cache are one of if not the only true fully object orientated database/development technologies for massive transactional data systems its customizability is extensive and it just comes down to the creativity of the developer to get the products to pretty much do whatever they want to do with it. However, this is not necessarily obvious to newcomers to the technology.
The developer community could do with greater participation from the software developers/application specialists and engineers within InterSystems.
More extensive documentation and greater access to proven working solutions particularly in the realm of some of the lesser known or new and upcoming technologies.
I have yet to raise an issue with InterSystems WRC that they have been unable to resolve to my satisfaction in the 20+ years that I have worked with their products.
Mirth is another integration platform that we have used but its development, in Java, made us always create new methods every time a new product was integrated. Every connection process had to be developed from the beginning and it was not easy to reuse code. Nor did it allow us to have an extensive catalog of HL7 messaging, having to perform the validation of each and every one of its fields manually.
We have integrated 5 laboratories in a treatment monitoring system in less than a month of development. Being able to integrate the following in a period no longer than a week.