I never said Broker is “JMS-based.” I’d never say that about anything. I said it is a JMS provider. It has been since version 6. From the webMethods JMS Provider Programmer’s Guide, v6.0.1:
[FONT=PalatinoLinotype-Roman][SIZE=2]
[/size][/font]
The ubiquity of its use has nothing to do with whether or not Broker is a JMS provider. Yes, most IS interaction with Broker (all in most places) will be via the proprietary API. But this is a characteristic of IS, not Broker. Broker is a JMS provider–IS just doesn’t use that interface (except through its JMS adapter).
You’re right that using pub.publish:publish cannot do this, as it uses the proprietary Broker interface, not a JMS interface. Again, this is an IS implementation issue and does not impact the “JMS-ness” of Broker.
But Broker can be used as a JMS provider in any J2EE server. Is there documentation that leads you to conclude otherwise? You can use IS and the JMS adapter to create and publish messages via the JMS interface of Broker and any J2EE server can read these with the JMS interface (if they are configured to use Broker as their JMS provider).
This is simply incorrect. WebSphere MQ supports more than just JMS, which is only an API. MQ supports more APIs than just JMS. From http://www.devx.com/ibm/Article/31997
“WebSphere MQ natively uses the Message Queue Interface (MQI) as its native programming interface.”
MQ supports standard and proprietary APIs. And its implementation is as proprietary as wM Broker.
Correct, implementation does not matter (so we agree that both wM Broker and MQ are proprietary implementation?). wM Broker exposes queues and topics via the JMS interface. Do you have documentation to the contrary?
The JMS interface of wM Broker is written in Java, and it interacts with a messaging implementation written in C (the core language of Broker). I believe the same holds true for MQ–the interface is Java, the core messaging engine is C, but I’m not 100% sure about that.
Using the JMS interface of Broker, you can do exactly this.
Which can be done (although it may involve a bit more than just config changes, in practice), if only the JMS interface is being used. If one uses the “native” facilities IS exposes to interact with Broker, then wM Broker must be used. If IS used only the JMS interface, then there would be no reason one couldn’t use MQ, or Sonic or any other JMS provider.
Indeed, if as an integration architect/developer you choose to use only the JMS adapter within IS (and avoid pub.publish:publish and the like), then you can use any JMS provider you want–wM Broker, MQ, Sonic MQ, Fiorano MQ,etc.
It has indeed been solid for the most part. But it is open via the JMS interface it exposes and is open in exactly the same way as WS MQ.
To make sure I’m clear about my points:
- Broker supports multiple APIs. JMS is one of them.
- MQ supports multiple APIs. JMS is one of them.
- Broker is a full-fledged JMS provider.
- MQ is a full-fledged JMS provider.
- IS does NOT use the JMS interface for the pub/sub facilities found in WmPublic/publish.
- IS has a JMS adapter that can interact with any JMS provider, including Broker.
To summarize and reiterate: wM Broker is as open and as proprietary and WebSphere MQ. They are about as equivalent as you can get (platform support aside–MQ is far more diverse than anything else out there).
If there are any docs that correct anything I may have gotten wrong. someone please post them.
Or are you thinking “BrokerJMS” is a separate and distinct product from webMethods Broker?
#Integration-Server-and-ESB#broker#webMethods#Universal-Messaging-Broker