Steve HustonRiverace Corporation
Steve's Networked Programming Newsletter
Making Nets Work
April 2009

Thank you for subscribing to my newsletter. I started this month off right, in sunny (and warm!) San Diego, CA for the 2009 AMQP Face-to-Face meeting. You can check out my report on it (and a nice picture of the location!) at my blog. I was also tweeting during the event. What?! You missed it?! Make sure that doesn't happen again by following me on Twitter.

As always, be sure to forward this note to other people you work with to be sure they know what's happening in the world of networked application development.

In This Issue
AMQP 1.0 Arriving Amidst Increased Uptake
How Do You Evaluate ACE Support Providers?
Did Your Last Project Run Late? Want to Prevent That?
AMQP 1.0 Arriving Amidst Increased Uptake
AMQP logo © Copyright 2005-2007 AMQP Working Group. All rights reserved.
I spent April 1 in San Diego meeting many of the AMQP Project Management Committee (PMC) members and people in various stages of adopting AMQP in new projects. Despite the date, it was no joke - people are learning about the freedom in this new business messaging technology and jumping on board in increasing numbers.

Although I'm still psyched up from the technology overview delivered by J.P. Morgan Chase's John O'Hara, the bulk of the time spent in tech-talk sessions focused on use-cases and the design perspectives and goals as a whole, as well as details of the changes to the protocol coming in version 1.0.

The most visible and structural changes are:
  • Exchanges are out; Links are in. AMQP up to now has used the Exchange as the message routing agent within a virtual host. Applications create exchanges and bind them to queues with a binding key. Messages have associated routing keys used by exchanges to route messages to queues based on various matches between routing keys and binding keys. AMQP defined some standard types of exchange (direct, for exact key matches; topic, for pub-sub-type pattern matches; and fanout for delivery to all bound queues regardless of the message routing key). Implementations offered other specialized exchange types as well. For example, Red Hat developed an XML exchange that made routing decisions based on XML content.

    In AMQP 1.0, the exchange concept is gone. Applications interact only with queues that have well-known names. A new concept, Link, moves messages between queues and/or applications. A Link contains routing and predicate logic. The new scheme brings the following benefits:
- Simpler to program; the application only deals with queues now.
- Moves complexity from the client to the broker.
  • Services. A Service is a mini application inside the broker. For example, the previous management framework will become a service inside the broker. Clients interact with services using, of course, messages. Interbroker communication will also very likely be implemented using services. This could be used to add many new capabilities such as message bridging between AMQP and other message systems as well.
So when will these new capabilities come to an AMQP implementation near you? That's all being worked out now. It'll probably be later this year. As things progress I'll have more visibility into the Apache Qpid implementation than I will for others, so for questions on Qpid in particular, please let me know.

If you are working on (or will soon) a system that can benefit from message-oriented middleware technology and want to chat for a few minutes about whether or not AMQP may be beneficial, please email or call me any time.
How Do You Evaluate ACE Support Providers?
puzzle pieces
Have you ever wondered if you are taking best advantage of ACE's power and flexibility? Ever have a question you couldn't find the answer to? How about a bug?

Have any of these problems slowed down your project, or even delayed a deadline?

If you run into a situation in the future where you may want ACE support, it would be great if you already knew the best provider for you and your team. To do that, you have to start looking now. To evaluate the best provider for you, you can start with our new white paper "8 Essential Questions to Ask Your Potential ACE Support Service Provider". Download your copy today at http://www.riverace.com/support8qs.htm.
Do You Need Help Designing Your Next System?
Nobody has to tell you that designing a well-formed, efficient, maintainable networked application is hard. You've had to deal with it. The problem is that networking functionality is usually in a supporting role to your system's main purposes, and your skills and experience are much better used to focus on specific business and technology issues. It may make more sense to bring in seasoned expertise to help design a solid networking base in your next system.

I've helped many companies get great networked applications built - I may be able to help you as well. Let's talk and see if I can help take care of the networking, and let you focus on applying your expertise and experience to the business features that'll really help your system stand out.

Call me at 508-541-9180 or email me at shuston@riverace.com.
If you have any ideas for areas of networked programming you'd like to hear about in future issues, please email me with your suggestions. In the meantime, keep those nets working!
 
Sincerely,
 

Steve Huston
Riverace Corporation
Join Our Mailing List