Apache Camel is an open source integration platform.
N/A
TIBCO Messaging
Score 7.9 out of 10
N/A
TIBCO offers high-performance messaging technology, and gives customers flexibility and unique choice between Commercial and Open-source messaging solutions. TIBCO Messaging is a comprehensive messaging portfolio available to meet a wide variety of use cases and deployment models.
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.
Organization which uses TIBCO Business Works or TIBCO Business Process Management or TIBCO BPM Enterprise can make use of TIBCO Messaging as it works well with other TIBCO tools. Many TIBCO tools have TIBCO Messaging products bundled as a package along with other TIBCO tools. Use of dynamic topics and queues makes run time processing easier.
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.
Tibco EMS performs very well, and it meets our stringent performance requirements for corporate messaging backbone.
Tibco EMS scales well, and this is another of our stringent requirements.
Tibco provides good support for the EMS product, and continues to improve it. This is important as we don't want to use something that does not keep up with the changes in the technology landscape.
In terms of TIBCO Messaging, it would nice to have a more out-of-the-box way of linking its objects (queues, topics) directly to those of other popular solutions like MQ or Kafka.
Not being able to filter (that is, using selectors) through patterns/subtexts on the message body is missed on occasions.
Given the current trends and state-of-art, lift & shift of on-premise EMS clusters to cloud architectures should be more directly attainable.
EMS is a solid system and I see no reason to abandon it, in fact I am eager to see what the next versions will offer and future road maps. Knowing we have support to help us in case of problems is invaluable, both in case of critical issues and to improve overall performance.
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.
We also use other messaging products: IBM MQ, especially for integration with other systems (server2server), which has been an industry standard for a long time, and Apache Kafka for cloud-native applications. EMS is a worse option compared to them, but it is still acceptable.
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.