2

I'm evaluating options for my team's middleware. We really have a frankenstein'd setup. We're using Apache ServiceMix(Karaf/ActiveMQ/CXF), Websphere 8.5, ActiveMQ where we don't really need it, and all of our applications are not really coded to failover to another node if the primary goes down. We realized the issues of our setup and now want to improve.

We currently host bundles (not sure if they're all OSGI compliant) in a Karaf Container, which are used via ActiveMQ after being sent JMS messages via Apache Camel from Websphere.

My current idea is to kill off ActiveMQ, make all the camel routes towards HTTP (instead of JMS queues), and convert our data bundles/services to serve via HTTP through Apache CXF (replacing websphere for some things) and not ActiveMQ Queues/JMS. However, we have Websphere licenses, and I do know that it supports bundles in some way, I'm just not as familiar as to how it does (same nature as karaf)?

The main question is in the title, and I hope it's not too generic.

ᄂ ᄀ
  • 5,669
  • 6
  • 43
  • 57
Zerkz
  • 686
  • 1
  • 6
  • 25

1 Answers1

2

WebSphere 8.5 is a full OSGi container supporting Blueprint just as Karaf does.

You can, in theory, run your camel bundles or whatnot just as fine in WAS8.5. However, Apache Karaf is a lot more aligned towards running ActiveMQ/CXF/Camel stuff than WebSphere will ever be. Installation in Karaf is a few commands, where installation and configuration struggle in WAS85 for the Camel feauters and basic camel routes is .. well, a headace when I tried it last time. Others seems to have the same struggle.

I have rather good experience of running Camel apps inside WebSphere Application Server, but that was by embedding Camel in a standard WebApp, not using the OSGi stuff. So, embedded web apps is my recommendation for running Camel inside WebSphere.

For the "replace AMQ/JMS with HTTP" part. You are aware of that you are replacing pears with apples, right? JMS has a lot of features HTTP does not have (and some overhead compared to HTTP). For the sake of completeness, WebSphere also has a JMS provider built in. So if you have a large HA secured WebSphere infrastructure, the WebSphere (SIBus) provider might be a good choice. Otherwise, ActiveMQ rocks :-)

Community
  • 1
  • 1
Petter Nordlander
  • 22,053
  • 5
  • 50
  • 84
  • I'm aware of some of the advantages of JMS, but we haven't really had a use case for using it (we aren't publishing one message to multiple consumers, really. It was in the architecture before I got here. It's always a one to one communication right now). The other issue is that we recently experienced was a production issue in which our kahadb (jms harddisk persistence, right?) was not cleaning up properly and eventually ended up having EOFExceptions every time it tried (every minute). I've read of other people having similar issues. We're on activemq 5.7.0. – Zerkz May 08 '14 at 15:56
  • Thanks a ton for your answer! I was worried I might not get one do the scope of the question. – Zerkz May 08 '14 at 15:56