Apache ServiceMix

Apache ServiceMix is a flexible, open-source integration container that unifies the features and functionality of Apache ActiveMQ, Camel, CXF, and Karaf into a powerful runtime platform you can use to build your own integrations solutions. It provides a complete, enterprise ready ESB.

Languages supported:

6.0/10 (Expert Score) ★★★★★
Product is rated as #21 in category Enterprise Service Bus (ESB) Software
Ease of use
Support
Ease of Setup

Apache ServiceMix is a flexible, open-source integration container that unifies the features and functionality of Apache ActiveMQ, Camel, CXF, and Karaf into a powerful runtime platform you can use to build your own integrations solutions. It provides a complete, enterprise ready ESB.

Apache ServiceMix
Apache ServiceMix

Show more categories

Customer Reviews

Apache ServiceMix Reviews

User in Retail

Advanced user of Apache ServiceMix
★★★★★
ServiceMix w/ Karaf & Camel is the best obsolete legacy stack until you migrate to Docker + Kafka

What do you like best?

In a previous gig, I was able to use ServiceMix to *vastly* simplify the back-end Java architecture of my company by with ServiceMix, with the following benefits:

1) Multiple individual Tomcat and Jboss instances were replaced with a ServiceMix cluster

2) Complex IPC chains that were a mix of SOAP & REST services calling each other could be *mostly* replaced with routes in Camel & ActiveMQ that allowed you to actually understand the workflows.

3) Built applications as OSGi modules & hot-deployed them with limited to no downtime on Karaf instead of the complex 3-legged dance that my peers did with Tomcat & apache.

I was able to do all of the above bc I was a .NET developer moving to Java, with a team & manager that were free of the enterprise-y IBM ideation, and put their faith in me to innovate. We were able to build a quick PoC, and eventually win converts in other parts of the company.

What do you dislike?

ServiceMix was an awesome stack maybe 4-5 years ago, when there were few ways to do immutable hot deploys, and OSGi leaned towards the simpler end of the Java stack.

However, it's nearly 2020, and this is a Docker & Microservices world now. Since I'd worked with OSGi & ServiceMix, the Java community came out with awesome micro-frameworks like Dropwizard & Spark. After using Kafka, ActiveMQ seems clunky and complicated, and Kafka Streams/KSQL make Camel look "legacy".

As awesome as ServiceMix seemed years ago, I would much rather run microservices in Docker containers on Kubernetes now. Kubernetes gives you way more control over container lifecycles, load balancers, and is much less work to maintain than ServiceMix.

Recommendations to others considering the product:

If you have legacy applications to support, or have no in-house devops capability, go with ServiceMix and ditch bigger Java application servers.

If you have a more evolved devops capability, stick with lighter stacks like Dropwizard and run on Docker/Kubernetes.

What problems are you solving with the product? What benefits have you realized?

1) High scalability with ServiceMix clustering. *DO NOT* run in Master/Slave mode; ServiceMix clusters running hot-hot actually provide better fault-tolerance than the alleged "HA" mode.

2) Able to develop faster with a simpler framework (OSGi)

3) Hot deploys with Karaf allowing for simple limited-downtime deploys

4) Optics & control over workflows with Camel.

Review source: G2.com

Leave a reply

Your total score

B2B Software Guide