Daily Archives: December 21, 2010

Message Broker goes Hyper with new updates

I’m excited. About a week ago we released the latest update to WebSphere Message Broker, version (also known as fixpack 2 for version 7), as well as the new Hypervisor Edition of the product.

Version 7 and “what’s new”

I’ve mentioned the new drops of WMB in passing during the year, and I’ve spoken about them in detail as I’ve visited customers and conferences during 2010. So far though, I don’t think I’ve written about it at length this year. Considering I’ve written developerWorks articles and Redbooks on the subject in the past, it’s something of an omission that I need to fix! The version 7 release has had four overarching themes: Universal Connectivity for SOADynamic Operational Management; Platforms, Environments, and Performance; and (perhaps most importantly) Simplicity and Productivity.

I said I was excited, and that’s for two reasons, I think. Firstly, as a technical integration developer, I’m constantly interested in the new function being introduced to enhance the capabilities of the product – I’ll list out a few of those in a moment, but the number of new nodes and functions that have been added to enable you as a developer to get at your information, connect to your services and endpoints, and transform your messages, is just fantastic. Secondly, under that theme of Simplicity and Productivity, the product has been hugely streamlined, and with the usability enhancements and patterns support that have been added, it is faster than ever to get going even as the function becomes richer.

There’s too much to talk about that has dropped into the product capabilities since version 7 became available just over a year ago, but to whet your appetite you’ll find that the 2 updates in 2010 included solidDB support, CORBARequest nodes, a DatabaseInput node, FTE nodes for coordinating or responding to file transfers in WMQ FTE, EmailInput and FileRead nodes, a JSON parsing domain and RESTful web service examples, performance profiling, JDEdwards nodes… this is a team that never stops delivering fantastic, high-quality content. The WMB release notes and details are available on the IBM Support pages, you can check out MGK’s summary of the release at MQSeries.net, or you can jump to the What’s New section in the Infocenter to catch up on 12 months of enhancements!

Patterns and Communities

One of the big items that has been delivered in version 7 has been Patterns – the ability to take a predefined operation or template, fill out a few parameters to customise it for your environment, and deploy a working set of message flows. Ant Phillips has just blogged about the enhancements in patterns authoring in the latest release, and the creation of the new Patterns Community which is over at MQSeries.net. If you saw Ant at any of our conferences this year you’ll know what a great speaker he is and how cool the demos of this technology are.

I’m excited about this, as I know it can help to maintain consistency, learn good practices, and speed along development – isn’t it much easier to build something when you have a framework to follow? I know one of the first things I tend to do when learning something is to look for a good example, and then as a good citizen I like to share what I’ve done to help others, when I can. If you’re a Broker developer I hope you’ll be keen to share and learn within that community. I know Ant and the rest of the team will be eager to listen to your feedback, as they have been doing actively for the past couple of years. There is a nice introductory article on how to create your own patterns on developerWorks. Get contributing!

By the way, I love this paragraph from Ant’s post announcing the community, as it echoes and reinforces what I’ve been talking about in my role as WebSphere Messaging Community Lead. I’m sure he won’t mind me borrowing it:

With this in mind you might be interested in a new global pattern community – mqseries.net has added a pattern community where you can find, download and share patterns. We will be putting some very cool example patterns up over the next few weeks to help get it started. Why mqseries.net? Well communities are all about people, and mqseries.net is where the Broker community go to find answers.

Hypervisor Edition

The final thing I want to mention is that WebSphere Message Broker can now be deployed into a virtualised environment from the WebSphere CloudBurst Appliance. This is cool, particularly when you start to see some of the tie-ins with things like patterns and scripting which enable you to customise the broker instances. A video is worth at least another three paragraphs of waffle though, so I’ll hand over to my colleagues…



Prototyping – Arduino and Ubuntu


My Arduino Uno board, via instagr.am and iPhone, on Flickr

One of those things I’ve been meaning to getting around to doing for ages is to explore this exciting new world of prototyping and hacking my own hardware devices together. A lot of my fellow eightbars and of course many of the HomeCamp community are big fans of the Arduino platform. I’ve also been dying to have a go with the MQTT client for Arduino that Nick has created (although I’ve recently also come across another platform called mbed, and MQTT has been ported to it, of which more to come soon). In fact, I’ve had one of the lovely Arduino starter kits from ::oomlout:: sitting on my desk for a while now, tempting me with its gadgetry and neatly-arranged components in a funky partitioned box… but life has been so hectic that it has taken me until today to finally crack it open!

I’m not going to spend long talking about the Arduino today, except to mention that it was unexpectedly tricky to get working under my OS of choice, Ubuntu 10.10. I’d read on Anton’s blog recently that the new UNO board (which I have) needed a firmware update in order to avoid some weirdness on the serial port, so I thought I’d go ahead and fix that first – his instructions were very clear, and the device seemed to report something, well, expected as I ran the commands. All good, or so I thought!

Português: Logotipo Arduino Uno.

Português: Logotipo Arduino Uno. (Photo credit: Wikipedia)

I installed the Arduino IDE from the Ubuntu repository and attempted to start it from the new Electronics submenu. Nothing happened. At that point I decided to try running “arduino” from the command line, and got back a Java stack trace containing java.lang.UnsatisfiedLinkError: rxtxSerial indicating an issue with some of the libraries. At that point a quick DuckDuckGo search (yes, I’m not using Google much these days) led me to an Ubuntu PPA which contained a fixed version of the IDE.

I was then able to fire up the toolkit and excitedly started looking at the Basic samples. However, as soon as I tried to upload one to the board, I got an error avrdude: stk500_recv(): programmer is not responding which suggested that the board was not being “seen” by the IDE. The only interface the toolkit recognised was ttyS0 and I knew the Arduino wasn’t there… looking in /var/log/messages I could see that it created an interface /dev/ttyACM0 when I plugged it in, but the toolkit wasn’t seeing that. I then tried creating a symlink from /dev/ttyUSB0 (where the wikis and documentation were telling me to expect the Arduino) to /dev/ttyACM0 – and presto, it worked.

Creating static symbolic links in /dev is a bit hokey these days, of course, so I moved across to udev and created a new rule for the UNO in a file called /etc/udev/rules.d/80-arduino-uno.rule

KERNEL=="ttyACM*", ATTRS{product}=="Arduino*", SYMLINK+="ttyUSB%n"

dead simple: if a new device pops up in the kernel named ttyACMsomething, and it has a USB product ID string starting Arduino (which mine does, I checked using the command usb-devices), add another symlink to it at ttyUSBsomething, thanks. Result:

Dec 21 19:18:50 agrippa kernel: [21501.209012] usb 1-1.1: new full 
speed USB device using ehci_hcd and address 17
Dec 21 19:18:50 agrippa kernel: [21501.303198] cdc_acm 1-1.1:1.0: 
ttyACM0: USB ACM device
andyp@agrippa:/etc/udev/rules.d$ ls -l /dev/ttyU*
lrwxrwxrwx 1 root root 7 2010-12-21 19:18 /dev/ttyUSB0 -> ttyACM0

That all seems to have done the trick. I’m just waiting on a couple of shields for the board, not least something that will let me connect it to a network, and then the experiments will continue! Weather-permitting the next lot of electronics should appear in the next day or so. More to come, on both Arduino and mbed hackery…



This gallery contains 3 photos.

Rate this: