John-

No sweat, the company I was working for was bought and the buying company
decided that they needed to use Tibco, because it was "bigger", more
expensive and took longer to implement projects.  (Yeah, it didn't make any
sense to me either, but they were "striving to be average" so I guess that's
good enough.)

We had a few issues with early versions in the 2.x series, but after 3.0
things really stabilized to what I considered to be "Enterprise Ready". 
When you implement clustering, the underlying technology piece that is used
is ActiveMQ, which has been around a long time and is very stable and
performs at a very high level.   I do not have any performance
considerations whatsoever with ServiceMix 3.x.  The only limitation I ever
experienced was with as our back-end persistence database that was running
on a slightly under powered server.  With a 2 server 2 CPU setup, we could
have easily quadrupled our message handling.   ServiceMix 3.x is very
serviceable, and I imagine most knowledge gained on ServiceMix 3.x will be
applicable for 4.x.  

As far as interfaces go, we used mostly HTTP, and SOAP.  I've personally
worked with the CXF, Camel, WSN, EIP and FTP modules with success.  The
components are all very similar to config/setup, and you always have the
option of going straight Java beans as a fall back.  In a previous life, I
used Axis on Tomcat for SOAP Web Services, but have started using CXF on
ServiceMix instead.  There are a lot of advantages to this, one being that
consuming services between each other is a lot easier.

The learning curve with ServiceMix is the project skeleton-- how to build a
project to deploy on the platform.  Maven makes things easier, and the
ServiceMix examples give you a good baseline to work from.  I hope you don't
think that building projects on ServiceMix is hard, because it is a "large"
project.  Once you get the first one going, it is smooth sailing.

I've used Weblogic Integration Platform, Tibco, and WebMethods.  ServiceMix
performs on par or better than all of them.  ServiceMix's tooling is a bit
behind, but once you get ServiceMix running under Eclipse, and remote
debugging working, you are home free.  (Tip:  Use a Maven Eclipse plugin and
all your library dependency issues will magically disappear).  

Most of the tuning parameters are at the JVM layer, and if you need to tweak
thread pools, you can do that easily through any JMX console.  Here are my
JVM parameters that I add to the bin/servicemix startup script:

-Xmx1024M -Xms512M -XX:MaxPermSize=256m -server

-XX:MaxPermSize is important if you are anticipating a lot of requests via
many parallel threads.  ServiceMix enables JMX by default, so I add a JVM
Service adapter to Hyperic to monitor the memory pool usage.  This helps
identify memory leaks and/or performance tuning issues.

What types of projects are you looking to implement?  Can you share any
details about anticipated load, etc?

Matt Pavlovich  
-- 
View this message in context: 
http://www.nabble.com/ServiceMix-usage-tp16257034s12049p16267572.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to