Well, I got some responses back from IBM... and no big surprises to me. What follows is basically the support exchange verbatim...
Here is what I asked them: <snip> I'm trying to figure out how to get ServiceMix (http://servicemix.codehaus.org) to run inside of WAS. Any version of WAS really... 5.1, 5.1 Enterprise, 6.0, etc. Preferring WAS 5.1, as we currently deploy this version for most components. But honestly I just want to know if *any* of them can do it. So far I have been unable to find any documentation on how to plug in a non-j2ee component into WAS. This includes other components too, like Quartz or ActiveMQ. I previously sent a request asking how to deploy a custom socket-based/threading component into WAS and I was told to look at WBI, but so far all I can see is some additional APIs (like Async and Startup beans), which I could use to implement similar functionality... ie. rearch the existing component using these IBM/WAS specific APIs. This is not really an option, especially when considering taking an existing thirdparty component (like ServiceMix or Quartz). So... I'm looking for a definitive answer about what IBM/WAS platform (if any) can be used deploy an existing thirdparty non-j2ee component (which can have free access to threads, sockets, etc)? And if there is such a platform, what the specific integration points are and where there is concise documentation to explain how this is possible. I'm not looking for a way to "do the same thing" using IBM/WAS proprietary technology (like async beans to thread, etc.). </snip> And the response from IBM support: <snip> A couple of things.... Threading: WebSphere at any release does not support out of context threading at any release meaning you can't spawn native threads from anywhere within the appserver. In these cases, you have to use the WorkManager API. For was 5, this means the EE or WBISF edition, for was6 you can use any version - Base or ND or XD as the programming extensions(WorkManager - Async beans), are available in every version. Active MQ: I believe this is a JMS provider. WAS 5 and 6 each come with an embedded JMS server but have the ability to define a 3rd party generic JMS provider. The issue is whether the the 3rd party provider supports the appropriate level of the JMS spec required by the J2EE spec version implemented in a particular version of WebSphere. For 5.x, I believe this is 1.0 and for 6.x, it is 1.1. ServiceMix: I'm not entirely familiar with this product beyond it is some type of ESB product. ESB technology is implemented in was 6 with the SIB(Service Integration Bus) and WebServices GateWay. At 5.x, it is less formally defined but something can be implemented with the embbeded JMS server and the WebServices GateWay. I have not come across anyone trying to integrate WebSphere with ServiceMix.. That said, I think you may be interested in the WAS Community Edition (CE). WAS/CE is based on the Geronimo appserver from Apache and is built with ActiveMQ and ServiceMix. This product is scheduled to go electronic GA on monday - 11/14. You can find more information here: http://www-306.ibm.com/software/info1/websphere/index.jsp?tab=landings/w as-ce and Geronimo here: http://geronimo.apache.org/ - the underlying component list is here: http://geronimo.apache.org/dependencies.html. </snip> I had probed them and some GlueCode folks about WAS/CE a little more, and was pleased to see that IBM support was well... *almost* recommending it to me (though some official sales presentations from IBM sales doesn't really put WAS/CE in a positive light compared to its bastard bigger brothers). Anyways a further enquiry about WAS/CE and a follow up to my first question about Quartz: <snip> Hey Jason, WAS/CE is the latest release of the GlueCode offering and Monday is the day as far as I know. I did some searches on google and there seem to be some folks who have used quartz inside of websphere but we don't have anything official. One article did mention a quartz threadpool and that would have the same thread restrictions as anything else - it would have to use the WorkManager. OpenSymphony has a developer forum and that may be the best place to find someone with direct experience using quartz inside of websphere. I did find this article on IBM's DeveloperWorks that specifcally mentions integration Quartz with Geronimo and implies WAS/CE. http://www-128.ibm.com/developerworks/opensource/library/os-ag-thirdpart y/ </snip> * * * Anyways, that's all I've gotten out of them so far. Looks like there is no supported way to drop SM into WAS (and version, short of the new AG based WAS/CE which may have been renamed to GlueCode SE). It appears that if SM was to be pluggable into WAS that SM would have to use the Aync Beans API aka WorkManager to handle threading. Not sure how that relates to socket connections though. Hope this helps shed some light on this for some people. I will post anything else I hear. Cheers, --jason
