Posts Tagged ‘wmq’

Migrating from ActiveMQ to WebSphere MQ

Tuesday, March 13th, 2012


A side-project I’ve been playing with in the evening: Writing a JMX layer to allow apps written for ActiveMQ to migrate to WebSphere MQ with minimal modifications


This came out of working on something that uses a JMS messaging provider. It uses it internally to allow components to communicate with each other, even when spread across multiple machines.

It uses Apache ActiveMQ – an open-sourced implementation of JMS. I wanted to try and get it working using WebSphere MQ – IBM’s implementation of JMS that I used to work on until five years ago.

As a messaging standard, the fact that both ActiveMQ and WebSphere MQ (WMQ) are JMS providers means that the way it puts and gets messages should just work.

But the JMS standard doesn’t cover administration (how queue managers are created and configured, how they’re started, how queues and topics are created, etc.) or monitoring (getting statistics about how many messages have been put or got, how many messages are on a queue, etc.)

All of this was done in an ActiveMQ-specific ways. This was what needed to be ported if I was going to get this to work with WebSphere MQ.

The project I’m porting is actually a bit of a black box. Rather than make a significant rewrite to get it to go from being ActiveMQ-specific to WMQ-specific, I wanted to see what I could add so that as much of the existing code could just work transparently.

I wanted to write a layer to sit between the ActiveMQ-app and WebSphere MQ, so that the app needn’t realise it’s not talking to the ActiveMQ broker it was written for.


MQTT over WebSockets

Sunday, April 10th, 2011


Extending WebSphere MQ to include support for WebSockets, allowing messaging to web browsers, including mobile browsers, without any additional client software


I’ve talked about MQTT before – a lightweight messaging protocol that I’ve used both on personal projects and my day job.


It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.

I’ve used it in CurrentCost projects, mobile apps and with small and embedded computers like my Slug.

But in all cases, I’ve needed MQTT client software to talk to the messaging server. Whether writing in C, C#, Java or Python, I’ve needed a client library to get me started, something that knows the sequence of packets that make up the MQTT protocol.

It’d be useful to have a zero-install MQTT client: an MQTT client app delivered over the web, without the user needing to install any additional client libraries, or resort to Java applets.

What this does

One possible way to do this could be WebSockets. Part of HTML5, this is a protocol that describes how to do two-way messaging between web servers and web browsers. And I mean proper two-way communication, including push-notification from the server to the browser, without resorting to hacks or kludges like long polling or hidden iframes.

It’s an emerging protocol, still in draft form, but there are a few implementations around so there are already a few browsers that know how to manage WebSockets.

We’ve been exploring recently how this could work with MQTT – the aim was to build in support for WebSockets into an MQTT messaging server: IBM WebSphere MQ (WMQ).

I’ve mentioned WebSphere MQ before, as back in the dim-and-distant past (well, five or six years ago) I used to be a developer of it.

It’s one of the server implementations that support the MQTT protocol.

By adding support for WebSockets to it, it means that WMQ could send and receive messages to web browsers. It means a web app could be a fully-fledged MQTT client.


Adding remote system admin support to PowerShell (before PowerShell V2)

Thursday, January 17th, 2008

Jeffrey Snover of Microsoft has written a very interesting post on PowerShell cmdlet development, prompted by the release of my latest updates to the WebSphere MQ PowerShell cmdlets.

By way of background, the cmdlets let you administer WebSphere MQ from the Windows PowerShell command prompt and scripting environment. One of WebSphere MQ’s biggest strengths is the breadth of it’s platform support, so it was no surprise that one of the most requested features to be added to the cmdlet library has been to be able to use PowerShell with WebSphere MQ queue managers on non-Windows servers.


Explaining PowerShell for WebSphere MQ

Tuesday, December 11th, 2007

I’ve made a start on a series of posts designed to introduce how to use Windows PowerShell for WebSphere MQ admin. There is a bit of a learning curve for people new to PowerShell, so rather than try to explain everything in one go, I’m planning on breaking it down into bits, covering one topic a day.

If you’re curious to see all this PowerShell stuff I’ve been working on for months, head on over to the WMQ blog:

PowerShell for WebSphere MQ

Tuesday, December 4th, 2007

This has been far too long coming, but finally you can administer WebSphere MQ systems from Windows PowerShell. An extension for WebSphere MQ containing thirty-eight new PowerShell cmdlets is being released as “MO74: WebSphere MQ – Windows PowerShell library“.

I’ll write a more technical blog post that describes what sort of stuff you can do with the SupportPac. That might have to wait till next week – as is unfortunately often the way the WPS day-job is taking up a lot of my time! But in the meantime, I just wanted to write a quick post to say “I finally finished version 1, and got it out the door”! 🙂

Update: Want to see what it can do, but don’t have time to try it out? Download the zip file and take a look at the doc “A cookbook for ‘PowerShell for WebSphere MQ'” (powershellcookbook.pdf) that is in there. I’ve put a bunch of examples of commands there with sample output.

Update 2: I’ve made a start on describing how the PowerShell stuff can be used on the WebSphere MQ blog