Tag Archives: IBM

Mosquitto and Facebook…and OggCamp

Roger Light (@ralight) has just posted on his blog that Facebook are using MQTT for their new messaging system and, specifically, they seem to be using some part of Roger’s Mosquitto project in it.

So why is this a big deal to me?

Last weekend was the third OggCamp conference, OggCamp 11, at the Farnham Maltings in Surrey. Two years ago, at the first OggCamp (a one-day event at the Connaught Hotel in Wolverhampton), we invited Andy Stanford-Clark (@andysc) to be our opening keynote speaker. Andy co-invented the MQTT messaging protocol about 10 years earlier and, while there was a server implementation of MQTT (Really Small Message Broker; RSMB) that you could download for free from IBM’s website, it was proprietary and there was no open source implementation available.

Andy wrote a new presentation, especially for OggCamp, describing the geeky innards of his Twittering house (as seen earlier that year on the BBC). The presentation was a fantastic kickstart to the day and (somewhat predictably for a conference with its foundations firmly in the open source world) Andy was questioned about what bits of his home automation system were built on open source software and open standards. The one significant part of the system that was proprietary was RSMB (the core part that enabled all the parts of his house to communicate).

Then OggCamp started, we had a good time, and we went home exhausted but happy.

And then, just two weeks later, Roger announced that he’d registered a new project called Mosquitto (as in MosQuiTTo) on Launchpad. He’d been inspired by Andy’s talk at OggCamp to write an open source alternative to RSMB. Within what seemed like days he had a working bit of code which was taken up and tested by others in the open source community and hardware-hacking communities like Homecamp.

I cannot claim any credit at all for all the hard work that Roger and others put in developing and testing Mosquitto. I’ve always been proud, though, that Mosquitto was born at OggCamp – we played our small part in helping connect the previously mostly corporate/business MQTT with the open source communities.

That Facebook announced they were adopting MQTT for their new messaging system the day before OggCamp 11 meant we could vicariously revel in Roger’s glory while we tried to find out just whether Facebook had adopted his code or their own implementation. The answer seems to be somewhere between the two.

And while I’m proud for OggCamp (of course), I’m also excited for Roger in his own right that his name is now in the licence agreement of apps from the mighty Facebook – that kind of recognition for your hard work must be such an amazing feeling!

Installing Rational Software Architect 7.5.4 & WAS 7 on Ubuntu Karmic

N.B. I updated the bit about dash/bash on 23rd March after feedback from Gavin and Dom (see below). :)


This week, I decided to install Rational Software Architect so that I could try out (again) the User Interface Generator which comes with IBM InfoSphere Master Data Management Server–and other products too, I believe. You can find out more about what user modelling is and how you can use the UIG in RSA (lovin’ the IBM TLAs yet? ;-) ) in this series of articles on developerWorks. The rest of this post is not about the UIG but about how to install and configure Rational Software Architect for WebSphere, which is relevant to anyone wanting to do this, regardless of whether they’re wanting to use the UIG.

So I wanted to install Rational Software Architect (RSA; an Eclipse-based piece of software) on to Ubuntu, which is what I run on my work machine, a Thinkpad T61p. Not only that, but I wanted to install RSA for WebSphere, which includes WebSphere Application Server Test Environment (WAS). This meant that I was installing not one but two pieces of software that are not officially supported for Ubuntu Karmic (or indeed for Ubuntu/Debian as far as I know). But as the Linux binaries are .bin files rather than .rpm, life should be easy.

And indeed installing it is. It’s when you want to create a WAS profile that the fun starts. And that’s where it had all fallen apart for me when I tried much the same exercise this time last year. That time, I gave up.

This time, I tweeted my predicament, knowing there were people who might know the answer. Unfortunately, the person I thought might know the answer had failed in much the same way as me only 6 months ago and was now relegated to using Windows. Still, others came back to me, including Gavin Willingham, who I’d not met before but who works possibly 10 minutes walk from my desk, and Jay Limburn, who I’ve known for a year through Twitter and internal instant messaging but, though he also works max 10 minutes walk from my desk, never met in person until yesterday (he’s shorter and blonder in real life).

So, if you’re trying to install RSA for WebSphere 7.5.4 with WAS Test Environment 7.0 (other versions probably work the same way), I’ll end the suspense and start here:

Running the installer

  1. Download the many parts of RSA for WebSPhere 7.5.4 and WAS Test Environment 7.0 with licence/activation bits and pieces. (NB this isn’t free software; you have to buy it from IBM so I’m assuming you’ve got that far by now.)
  2. Extract all the zip files. If you do a right-click > ‘Extract All’ on the zip file in Ubuntu, the extraction tool doesn’t like to overwrite directories of the same name, so you end up with directories called ‘RSA4WS’, ‘RSA4WS (2)’, ‘RSA4WS (3)’, and so on when actually, you want the contents of each of those directories to be in the same place. So move the directories around so that you have just 3 directories:
    • RSA4WS (contains 7 directories called ‘disk1′, ‘disk2′, ‘disk3′, etc)
    • RSA4WS_SETUP (don’t do anything with the contents of this one)
    • WAS70 (contains 4 directories called ‘disk1′, ‘disk2′, etc)
  3. In the RSA4WS_SETUP directory, as sudo, run launchpad.sh to start the installation process.
  4. Follow the installer through but when it asks you for a user name and password to create a WAS profile, select that you will create a profile later and that you don’t want to create one now. The installation should run cleanly (if you let it try to create a profile, it will fail part-way through the installation).

You should now have a nice installation of RSA with WAS on your Ubuntu box. Next, you need to create a WAS profile so that you can use the in-built WAS server for development and testing (or in my case, to run the user interface generator).

Creating a WAS profile in RSA

There are a few things that prevent this just happening (some are generic Linux things and some are specific to Ubuntu):

  • On Ubuntu, /bin/sh uses dash, not bash, but WAS scripts seem to use bash specifically, so the profile creation scripts fail.
  • Something extra that I have no understanding of is required in the eclipse.ini file (which is key in starting the Eclipse-based RSA environment).
  • The default location in WAS’s profile creation wizards is in the /opt part of the main file system which you typically won’t have write-access to as a normal user.

So here’s what you need to do (at least, this is what I did and hopefully will work for you to to get a running WAS server in RSA):

  1. Change Ubuntu’s /bin/sh to use bash instead of dash.
    In a terminal (sorry it’s the command line but you’re changing some system settings here that you would very very rarely have to do normally, or just if WAS didn’t specify bash specifically), run the following command and select the bash option as the default for /bin/sh:

    sudo dpkg-reconfigure dash

    (As pointed out by @oldmanuk (Dom Evans), this is the proper way to reconfigure where /bin/sh points to (though I used Gavin’s method). )

    After you’ve created your WAS profile and everything’s up and running nicely, run the command again to change back to using dash. The benefit of using dash is speedier boot time, which is lost if you leave the setting as bash (see https://wiki.ubuntu.com/DashAsBinSh – thanks Dom).

    Now you’ve sorted out the bash/dash problem. One down; two to go.

  2. Check that you have a version of xulrunner installed (I have no idea what xulrunner is for but, looking in Synaptic Package Manager, my Ubuntu installation included xulrunner-1.9l.1-gnome-support, but not the xulrunner package itself, which seems to be fine for RSA purposes).
  3. In your RSA installation, find the eclipse.ini file. I installed RSA to the default location so mine was in /opt/IBM/SDP. In a terminal change to that directory:
    cd /opt/IBM/SDP
  4. Open the eclipse.ini file in a text editor, such as gedit:
    sudo gedit eclipse.ini
  5. Add to the end of the file the following line:
    -Dorg.eclipse.swt.browser.XULRunnerPath=/usr/lib/xulrunner

    (From an Ubuntu forum post.)

    Now you’ve sorted out the ‘xulrunner’ problem and you can actually start RSA. Two down; one to go.

  6. Start RSA from the Applications menu: Applications > IBM Software Delivery Platform > IBM Rational Software Architect for WebSphere 7.5.4.
  7. RSA should suggest a directory in your home directory in which to put the RSA workspace. That’s fine; I just accepted the suggested location.
  8. When RSA has opened (NB, my Welcome view doesn’t load – I don’t think that’s a problem), give it a moment to think, then it’ll pop up a wizard to create a WAS profile.
  9. In the profile wizard, clear the option about security unless you know what you’re doing with WAS security and have a need to use it in a development environment.
  10. You’ll also notice that there’s a warning about the currently selected location for creating the profile. This is the third problem I listed above. The default location shown is for creating the profile in the installation directory of RSA. Change the location to a directory in your home directory. For instance, I told it to use /home/laura/IBM/profiles.
  11. When the wizard has created the profile (which will take a few moments – you can see the activity in the bottom-right of the RSA window), the default server for the profile is listed in the Servers view on the right-hand-side of the RSA window.
    The server is listed as ‘stopped’.
  12. Right-click the server then click Profile. This opens a dialog box about the profile; I just accepted the defaults then it failed to start the server (the error said it had failed to start within 300 seconds). But when I repeated this step, the server started.

And that’s as far as I’ve got but it’s further than ever before. If I come across any more gotchas, or take some screenshots, I’ll update this post.

Yes, it is a pain to have to do all this but remember that WAS isn’t supported (as far as I know) on Ubuntu Karmic. If you want it easier, install it on something that is supported. If you want it on Ubuntu, I hope this post (and the others I cribbed information from) helps. :-)

Blogging the Hursley HantsLUG meeting for eightbar!

Today, I published my first post (about the HantsLUG meeting at Hursley last Saturday) on the eightbar blog!

Eightbar (as in the IBM logo which is known as the ‘eight-bar logo‘) is a community of people in and around IBM Hursley who are into cool, techie or creative things, either in work, out of work, or both.

The thing about large corporations is that people forget that most of the most amazing things that happen in those corporations come down to individual people just getting on and doing them. It’s easy to think (from inside and outside) that employees are ‘just a cog’ and everything is decided from on-high and nothing can be done without getting it approved in triplicate.

In fact, while a corporation’s culture can play an important part in encouraging and supporting good ideas, it’s the individuals who try them that make the difference. Whether that’s coming up with a better way to do something in your ‘day-job’, or writing a cool app in your evenings which subsequently gets so many downloads it gets incorporated into a real product (several people I know spring to mind immediately), or you just do something like running Linux as your desktop when hardly anyone else is and then helping others do the same.

That kind of innovation and adventure just doesn’t happen because someone in a suit on high tells you to do it. It comes because you think it’s a good idea and decide to give it a go.

The motivation behind eightbar was the realisation that there are loads of cool things happening around IBM Hursley that no one ever finds out about. So 4 years ago the eightbar blog was started.

Until today, I’d never contributed to it because I was too intimidated – but as one of many people around Hursley who attends conferences and unconferences, maintains (mostly) a blog, twitters, and likes to talk to other people who are into cool and interesting stuff, I figured I should make the effort (and the lovely @andypiper hinted very unsubtley that I should too).

So I did.