There are multiple integration frameworks you can choose from. Which one should you use?
There are options like Mule, Apache Camel and Spring Integration. My recommendation is to use Apache Camel because it has the strongest community and the largest amount of connectors and even different companies to choose from for commercial support if that is needed.
Why should you use an Integration Framework
Using an integration framework provides connectivity to integrate to files systems, web services, rest API’s etc. without glue code. The Enterprise Integration Patterns provide everything you need to do in between the consumer and the producer endpoint like transformation, filtering, sorting, content based routing etc.
So using an integration framework removes a lot of work and there is no need to “reinvent the integration wheel”. Basically you only need to implement the business logic.
What is an Integration Framework
My definition for an integration framework is a library which you can include in your software product to provide connectivity to different technologies and provides implementations of Enterprise Integration Patterns which can be used to achieve integration.
Which Integration Framework should you choose
Here we have a comparison of three integration frameworks:
- Mule
- Spring Framework
- Apache Camel
The following comparision criteria are being used:
- Ease of Use
- Open Source
- Architecture
- Testability
- Commercial Support
- Error Handling
- Monitoring
- Enterprise Readiness
- Expandability
- Deployment
- Popularity
- Tooling
- Connectivity
- Domain Specific language
Mule
Ease of Use
Easy to download and start using. One product that works in one runtime.
The mule library called Mule kernel can be downloaded at the Mule Kernel web page. At the time of writing the newest version is Mule Kernel 4.1.3.
Open Source
Mule Kernel is licensed under the Common Public Attribution License (CPAL).
Spring Framework
Apache Camel
This article will be continued later.