Steve HustonRiverace Corporation
Steve's Networked Programming Newsletter
Making Nets Work
September 2008

Thank you for subscribing to my newsletter. If you've been wondering where the August issue is, it was buried under a pile of work, and is now gone like the New England summer. So I'm starting fresh with September.

This month I have some updates regarding Apache Qpid and we begin a discussion of your favorite networked programming tools.

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
What's Your Favorite Networked Programming Tool?
Steve Huston Approved as Apache Qpid Committer
Did Your Last Project Run Late? Want to Prevent That?
What's Your Favorite Networked Programming Tool?

Writing networked applications (at least, good ones) is difficult. C++NPv1 elaborates on some of the reasons that the job is hard to do correctly including inherent and accidental complexity. Writing networked applications directly to low-level APIs is definitely "doing it the hard way." (There's a white paper at www.riverace.com that explains the most common mistakes.)

To help develop networked applications more easily and with fewer errors, a number of tools have been developed over the years. They target different problem areas, levels of abstraction, and programming languages. In the past few issues we've discussed, in various levels of detail, three such tools: ACE, Apache Qpid, and Boost asio. Some others that get a lot of press are .NET, TAO, and Ice.

I'd like to use the next few issues of this column to discuss your favorite tools. If you have a few minutes, could you please reply to me and tell me:
  • What kind of systems or applications you build?
  • What your primary challenges are in terms of the networked aspects of your systems?
  • What tool(s) you like, what OS and language(s) you prefer, and why?
Also, please let me know if it's ok to include some of your comments in future newsletters. Let's get our heads together and help each other develop better networked applications!
Steve Huston Approved as Apache Qpid Committer
I mentioned Apache Qpid in the January and March newsletters. It's a project in the incubation phase in the Apache Software Foundation that implements the Advanced Message Queuing Protocol (AMQP). I've implemented message queuing systems using ACE for a few customers in the past, and was contracted to do another one, so was very interested to learn of this effort. It has great backing and an enthusiastic development and management team behind it. I've been getting more involved in this, porting the C++ implementation to Windows.

The Apache way of handling code contributions is very different from what I've been accustomed to working on ACE. There are a relatively small number of approved "committers" who can commit source code to the repository. All other contributions must be attached to a bug/enhancement request with the agreement that such code is being donated to Apache. A committer must then review, approve, and integrate the supplied patch.

I'm very pleased and honored to have been nominated and approved as a Qpid committer. This will certainly make it easier to integrate the changes for Windows that I'm involved with.

If you have any questions about message queuing or about Apache Qpid, please contact me! I'd be very happy to chat about it.
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