Rob Davies is CTO of FuseSource and coauthor of the book ActiveMQ in
Action. In this Q&A, Davies discusses messaging middleware and the hurdles that many
developers face as they first approach the subject. There is also a podcast version of this
interview that includes more detailed information about FuseSource
becoming its own entity and about the book.
Are there common hurdles that people always have when they're getting started with
messaging?
I think there are, yes. Messaging as a domain can be quite complex, especially as it covers such a
wide base of different use cases. What you have with a messaging system is a toolkit that you can
do lots of different things with. It's like a big Swiss Army Knife. Sometimes, because you can do
the same thing in multiple different ways, it means the decision of which architecture to use for
messaging can be quite daunting.
Because you can do the same thing in multiple different ways, it means the decision of which architecture to use for messaging can be quite daunting.
For example, there are different constructs in messaging which you can break down into using
queues or publish/subscribe. On top of that, you might want high-availability and there are
different ways of providing high-availability messaging. And then you might want your messages to
go to more than one geographical location. Some messages you might want to go to London, while
other messages you want to go to New York, et cetera. How do you route those messages to go to
those locations?
You can see quite quickly, once you get outside of the initial use case of messaging for
applications to talk to each other and start to look at the ultimate goals of where you're trying
to get to, it can get quite confusing about how to reach that end goal. Hopefully we help people
along that path with the book, ActiveMQ in Action.
And from the feedback we've got that seems to be the case. ActiveMQ in Action is a Manning book,
and Manning has always been very keen on giving feedback to the authors at every stage of the
writing.
What's the most interesting thing you've learned from that feedback?
I would say, and I think this is generally true for everyone who worked on the book, that we come
from a viewpoint of actually developing ActiveMQ. It's good to get the viewpoint of people who are
actually trying to use it.
Get feedback as early as possible all the time so you can improve experience for users, but also for yourself as a developer.
Sometimes you get people who use it in slightly different ways than you expected them to do. And
then you have to think about why they are using it that way. Did we not explain something well
enough for them to understand it? And maybe the best path is to do something slightly
different.
The thing that has really stuck with me is that it's really good to constantly step back from
whatever it is you're trying to do, look at the bigger picture, and try to see if you're providing
enough information for the project you're working on to be easy to understand and for people to
pick it up and start working with it the way you intend it to be used.
So moving forward, with any software that we do, I think the message to take away is to get the
feedback as early as possible all the time so you can improve experience for users, but also for
yourself as a developer.
Have you heard about Apple
deprecating Java?
I have, yes. That's a shock because – well, come to think of it, it's not such a shock. But the
thing is that it disappointed me because at FuseSource, the majority of us are real Apple-holics.
We all have Macs, iPhones, and iPads because they're so easy to use. We do all our developing on
Macs and then we deploy it on other platforms for testing.
We're going to have to watch this one really closely and see how it turns out. Hopefully, Oracle or
Sun will pick this up and run with it. I guess there isn't really a compelling business case for
them to provide development platforms for Macs. If that doesn't happen, and if there isn't a
community effort in some shape or form to provide a JDK for Macs, then we might have to look at
different development platforms in the future. But hopefully that's a good year/year-and-a-half
away when we eventually have to update our Macs to the latest version. Actually, what I really want
is to have a version of the JDK for the iPad. I think that would be really cool.
This was first published in November 2010
Join the conversationComment
Share
Comments
Results
Contribute to the conversation