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

Thank you for subscribing to my newsletter. A number of people graciously responded to my request for your favorite networked programming tool in last month's issue. Thank you for sharing your thoughts with me! I'll discuss these further in this issue.

I also have news about new and upcoming releases of some of the networked programming tools that you and I rely on.

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
Our Favorite Networked Programming Tools
Apache Qpid M3 Released
ACE 5.7 Release Coming Soon
Did Your Last Project Run Late? Want to Prevent That?
Our Favorite Networked Programming Tools

Last month I noted that writing networked applications (at least, good ones) is difficult. Writing networked applications directly to low-level APIs is definitely "doing it the hard way." Fortunately, among those who replied to me, none program networked functionality down at the OS level.

I was impressed at the diversity of projects represented in the responses I received. SMS routing, massive online game server, electric utility support and image acquisition systems were among those described. With all the variety in application domains, a very common theme stood out in issues central to development: efficiency and stability. Security and scalability are also concerns, but when it comes right down to it, the system has to work correctly and it has to be fast.

Not surprisingly, these two top concerns drive our choices of both implementation language and supporting toolsets. All of the respondents are C++ users. Not surprising at all since C++ is the usual language of choice for performance-sensitive systems. However, the second-most mentioned language was Ada, which was a real surprise to me. Am I in the dark here, or is Ada surging in popularity?

ACE is a common choice for tools. Although this is not surprising given this newsletter's base of ACE users, it is still interesting to note the range of domains where ACE is used, as well as its long lifetime. TAO and Boost were also mentioned. There was a distinct lack of usage for .NET (Windows or Mono) even though Windows is one of the more popular development and deployment platforms.

I'm really enjoying hearing about your experiences and preferences with networked application development environments and tools. Thank you for writing! I'm learning a lot and would very much welcome comments from more of you! Especially those of you who can enlighten me on Ada's seeming popularity...
Apache Qpid M3 Released
The Apache Qpid community is pleased to announce the release of Apache Qpid M3!

Apache Qpid is a cross platform enterprise messaging solution which implements the Advanced Message Queueing Protocol. It provides brokers written in Java and C++ and clients in C++, Java (including a JMS implementation), .Net, Python and Ruby.

This release features:
  • AMQP 0-10 support in the Java, Python and C++ clients and the C++ broker
  • Java broker supports priority queues
  • Apache Derby based persistent store for the Java broker
  • Java client performance improvements
  • AMQP-based management protocol and a set of CLI management utilities
It is available to download from http://www.apache.org/dist/incubator/qpid/M3-incubating/
Complete release notes are available here:
https://issues.apache.org/jira/secure/ReleaseNote.jspa?version=12312117&styleName=Html&projectId=12310520&Create=Create

For those of you interested in my work porting the Apache Qpid C++ broker and client to Windows, that will be in the M4 release within a couple of months. It is working pretty well now and I'm merging the changes into the main code base. Stay tuned.
ACE 5.7 Release Coming Soon

The most recent ACE micro-release, 5.6.6, was released on September 15. The next planned full release is ACE 5.7, scheduled for release this quarter. Some of the benefits to the new ACE release are:
  • New port to HP-UX 11iv3 on Integrity
  • Improvements and very important fixes to the Service Configurator functionality
  • A new ACE_Stack_Trace class that allows you to log the current call stack at any point
  • Improvements to support for many newer compilers and platforms
Some of these items are also available in the ACE 5.6a Fix Kit available to Riverace ACE Support customers. If you'd like to discuss how the new ACE release may affect your choice of tools for an upcoming project, please contact me any time.
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