Friday, February 27, 2009

Me and Guillaume, talking our heads off about stuff...

... on a podcast on ZDNet, done with Dana Gardner... enjoy!

Wednesday, February 25, 2009

FUSE adoption: is it the economy, or just the sheer love of innovation?

There's a nice post on the adoption of FUSE ESB on ZDNet; in the last few months I've observed an increase in activity and excitement around FUSE. Why might that be? As the entry's quote from Debbie suggests, economic conditions certainly are prompting users to ask questions of their existing close-source providers, and evaluate in more earnest the open-source options and alternatives that are available.

From my perspective though, it's more than that: at a technical level I think users are seeing that the Apache projects that FUSE is based on - ServiceMix, ActiveMQ, Camel and CXF - offer a new way to rapidly create solutions for integration, SOA, and, REST. The potential for developers to rapidly create integration flows using Camel leaves most battle-hardened integration architects and developers bowled over with excitement.

And users are excited by OSGi too; I remember the day when Eric Newcomer, ex CTO of IONA, who was pivotal in bringing OSGi forward into the Enterprise computing space, presented to a group of us in Boston on how this OSGi could change the way we think about deploying Java solutions. David Bosschaert, a colleague of mine at Progress, has continued the charge of OSGi, and has put some very interesting stuff on OSGi and on distributed OSGi up on his blog, <coderthoughts/>. An of course, the illustrious and prolific Guillaume Nodet, also at Progress on the fusesource team, has done great work on driving ServiceMix 4 to an integration-focused OSGi based runtime.

So whatever the reason - economic pressure or technical advantage - I welcome the surge in FUSE activity :)

Wednesday, February 18, 2009

Free! Free! Free! Screencasts on how to use FUSE ESB 4 (based on Apache Servicemix 4)

As part of my bi-weekly "Getting Started with FUSE ESB 4" webinar series, I've put together some screencasts of how to do all the good stuff you want to do with FUSE ESB 4. Check out the links at the bottom of the Training Videos page.

Right now the links will download quicktime movies, which you can then run on your machine. The movies range in size from 90Mb to 180Mb, so kick off those downloads, grab a nice cup of coffee, and the sit back and enjoy the ride as I cover how to build and install FUSE ESB 4, create and deploy an OSGi bundle from scratch, create and deploy a web service using CXF, deploy an EIP using a Camel route, and finally, deploy a JBI-based solution into the FUSE ESB 4 runtime.

If you like the videos, or have feedback, please leave a comment!

Wednesday, February 11, 2009

The White Source

Ah lovely: a colleague just pointed out an open letter urging Obama To Consider Open Source. I chuckle with content at the thought of Obama hacking away from the oval office - "Not now Mr. Vice President, I'm in the middle of a maven build. Nearly done. Just one... more... compile..." ;)

While it's great to see so many players in the open source community willing to step up to the plate, the use of open source in government is not news; it's a trend that started some time ago; the FUSE suite, for example, has a number of prominent government users already.

Still though, it's great to see the open source movement move forward in a unified way. Who knows: maybe that letter will make it's way onto Obama's desk in the white house...

Tuesday, February 10, 2009

The day we brought down the internet :(

Today we had the first of our FUSE ESB 4 Webinar series; we had a fabulous triple digit attendance at the session. We dived right into some live coding, showing how to deploy bundles and other artifacts into FUSE ESB, and were all set to tear away with web services, REST, and a whole lot more... until, unfortunately, after an hour of noble service, some machine in some datacentre decided to give up the ghost, leading to the termination of the webinar.

While it's fun to think that our community's enthusiasm managed to melt some motherboard somewhere, I'm deeply disappointed by this: not just because were about to get the really cool stuff FUSE can do, but also because we had such enormous participation from the attendees who were all very keen to learn more. We'll be working hard to make sure the outage doesn't happen on the next session on February 23rd, when we'll present at 10am GMT and again at 1pm EST. Additionally, I'l be recording some screen casts on each of the six use-cases and we'll post them on

Till then, thanks to all our attendees for taking part - we hope you enjoyed our session and look forward to hearing from you again.


There's a line in RadioHead song "Phew, for a minute there, I lost myself..." I nearly did loose myself yesterday as I tried to reproduce some of Roberto Rojas's work on deploying a JAX-RS service in FUSE ESB (based on Apache Servicemix 4). Roberto's blog entry refers to a preview edition of FUSE ESB 4, and things have moved on since then.

Luckily, I was able to ping off some of the good folk on the CXF project - Dan Kulp, Sergey Beryozkin, and David Bosschaert, and they got me going again. There's been some reworking of the JAX-RS support in SMX4, and this you need to update the cxf-bundle in FUSE, as per below:

servicemix> osgi list | utils grep CXF
[ 89] [Active ] [ 50] ServiceMix :: CXF Binding Component (2008.01.0.fuse)
[ 105] [Active ] [ 50] Apache CXF Runtime JBI Binding (2.1.3.fuse)
[ 106] [Active ] [ 50] Apache CXF Runtime JBI Transport (2.1.3.fuse)
[ 107] [Active ] [ 50] ServiceMix :: CXF Service Engine (2008.01.0.fuse)
[ 142] [Active ] [ 50] Apache CXF Bundle Jar (2.1.3.fuse)
servicemix> osgi uninstall 142

servicemix> osgi install -s mvn:org.apache.cxf/cxf-bundle/

FUSE ESB, released just last night (Feb 9th 2009), already uses version of cxf-bundle, so if you're using then you shouldn't need this step.

With this in place, you can now go and deploy your restful service. For example, I threw together a bundle with a JAX-RS 0.8 service: to install it, I need to install a few dependencies into FUSE ESB 4:

First, we need the JAX-RS (JSR 311) api. I'm using version 0.8:

servicemix> osgi install -s

Next, you need to install the specs locator and the servicemix jsr311-api bundle so that FUSE can locate and load up the spec and implementation correctly.

servicemix> osgi install -s mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.locator

servicemix> osgi install -s mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.jsr311-api-0.8

While my example isn't using JSON, there is currently a runtime dependency on Jettison, so you need to install that too. You can use the bundle from SpringSource like this:

servicemix> osgi install -s mvn:org.codehaus.jettison/

Or, alternatively, you can use the cool wrap: functionality to wrap a plain-old java jar

servicemix> osgi install -s mvn:org.codehaus.jettison/jettison/1.0.1

Hurray! Now with all the prerequisites in place, I can install my JAX-RS service.

servicemix> osgi install -s mvn:com.progress.pso/simple-restful-service

And now my RESTful service works a treat :)

Monday, February 2, 2009

Free live online tutorial on FUSE ESB 4!

Come see me and my colleague Jack Britton give a live two-hour online tutorial on "getting started with FUSE ESB 4" on February 10th! We'll be covering everything from building the source, to implementing EIPs, to writing and deploying web-services, to deploying JBI artifacts. There'll be lots of live code, probably a few hiccups, and a whole-lot-of-fun.

Register here!