Apache Camel is an open source integration platform.
N/A
Mule ESB
Score 9.0 out of 10
N/A
Mule ESB, from Mulesoft, is an open source middleware solution.
N/A
WSO2 API Manager
Score 9.4 out of 10
Enterprise companies (1,001+ employees)
WSO2 API Manager makes it possible for developers to both develop and manage APIs of different types. Unlike solutions which focus only on managing API proxies, WSO2 API Manager provides tools to develop APIs by integrating different systems as well. It supports a variety of API types from REST, SOAP, GraphQL, WebSockets, WebHooks, SSEs and gRPC APIs with specialized policies and governance for each different type. Being fully open source, its architecture and extensibility…
Message brokering across different systems, with transactionality and the ability to have fine tuned control over what happens using Java (or other languages), instead of a heavy, proprietary languages. One situation that it doesn't fit very well (as far as I have experienced) is when your workflow requires significant data mapping. While possible when using Java tooling, some other visual data mapping tools in other integration frameworks are easier to work with.
If you’re bringing anything into Salesforce you should just invest now into Mule, you will get your money’s worth and find a myriad of uses to build APIs between many other systems. Once you build a component you can easily reuse it as a building block to attach to another source/destination. This makes it easy to ramp up quickly and spread usage of Mule throughout your enterprise. A good value for medium to large companies, but probably cheaper to outsource your job to a consulting firm if you are smaller.
It's free! No argument can win a fight with that! And it's the only reason I gave it a 5. If you have no money to spend, and a simple environment you'll have a nice product. But free does come with a price. After 5 years we're still struggling with ports, and analytics (it just won't work without any errors caused by some configuration somewhere). An API Manager should work out of the box. The only configuration expertise that any developer wants to invest in, is the configuration of API's. Not the product itself... Anyone who've seen the training material, just for installing this thing will agree that this is not the way to go. Of all the API Managers out there (we've tried 4), WSO2 is the only one were you need to know how this dragon of a java application works internally. Did I already mention the humongous amount of config files?
Camel has an easy learning curve. It is fairly well documented and there are about 5-6 books on Camel.
There is a large user group and blogs devoted to all things Camel and the developers of Camel provide quick answers and have also been very quick to patch Camel, when bugs are reported.
Camel integrates well with well known frameworks like Spring, and other middleware products like Apache Karaf and Servicemix.
There are over 150 components for the Camel framework that help integrate with diverse software platforms.
It is best suited for Rest API development. Mule ESB uses RAML as an API descriptor which is less complex and easy to understand. RAML is an open standard majorly supported by Mulesoft. Once RAML is developed, it is very easy (a few clicks)to create flows corresponding to the resources defined in the RAML. One can also include JSON schema validation in RAML, and with the use of APIkit router, Mule ESB makes the request validation very easy (it's automatic basically.)
Mule ESB comes with a large spectrum of community and enterprise connectors. We have connectors for all the major platforms like Facebook, Twitter, Salesforce, SAP, etc. This enables Mule ESB to integrate with the other systems in a faster and more robust way. Mule ESB has many components to fulfill the requirements of each integration (for example batch processing, parallel processing, choice, etc.)
Mule API gateway is one of the best tools (modules) of Mulesoft's offering. It supports API governance and management very well. One can easily enforce policies on their APIs with API gateway. It enables some of the must-have features in an API solution (i.e. throttling, oAuth, access levels, etc.)
Implementing a CI/CD (DevOps) environment for Mule ESB is a very easy task. Mule majorly uses MAVEN as its build tool, which in turn makes it best suitable for CI/CD approach. Mule also provides MAVEN plugins for auto deployments to the servers. Mule also has a best Unit testing module which is MUnit. MUnit can be used for both Unit and Functional testing, and it is easy to write and generates coverage reports in various formats.
If you are looking for a Java-based open source low cost equivalent to webMethods or Azure Logic Apps, Apache Camel is an excellent choice as it is mature and widely deployed, and included in many vendored Java application servers too such as Redhat JBoss EAP. Apache Camel is lacking on the GUI tooling side compared to commercial products such as webMethods or Azure Logic Apps.
Providing better capabilities comparing the overall API lifecycle management, especially the availability of API Integration layer and a strong identity layer of their own which provides an end-to-end API ecosystem that would be advantageous in terms of a large software development initiative.
Very fast time to market in that so many components are available to use immediately.
Error handling mechanisms and patterns of practice are robust and easy to use which in turn has made our application more robust from the start, so fewer bugs.
However, testing and debugging routes is more challenging than working is standard Java so that takes more time (less time than writing the components from scratch).
Most people don't know Camel coming in and many junior developers find it overwhelming and are not enthusiastic to learn it. So finding people that want to develop/maintain it is a challenge.
We've moved away from legacy SOAP services where nobody knew what services was used by who. WSO2 eliminated at least 90% of time spend on any service.
Creating API's (or actually creating the API Management layer...) is so simple that new developers can get away with it in no time. Again, real time gainer.
Since creating API's is so simple, developers are very fast in adopting a kind of "Domain thinking". In comparison with Azure API Manager: Azure does not demand knowledge of "how" the product works, but it's definitely more difficult to get an API up and running in Azure. And for some reason, azure does not promote clean domain driven architecture. Domain Driven architecture is the greatest time saver strategy possible. And WSO2 fits nicely in there.