Implementing the Chain of Command pattern using Commons Chain

OnJava.com have a good article on their site giving and overview and code examples on how to use the Commons Chain library to implement a solution using the Chain of Command pattern.

The interesting thing about the Commons Chain implementation is that the commands that are used in any one process are configurable externally via an xml file, which allows you to alter the order of commands or the command themselves without any code changes.

Part 2 of the article shows how Commons Chain is being used in Struts 1.3.

AJAX – Asynchronous Javascript and XML

Google have recently been demonstrating some interesting web browser based client/server type functionality in some of their beta products. Most noticable of these is the Google Suggest site which drops down a list of word suggestions as you type.

News.com have an article today about this type of functionality picking up speed to offer a richer user experience, using older technologies to achieve the result.

To avoid reloading a page when the user selects an action in the page, typically some Javascript is used to call a function in a hidden frame on the page to retrieve some data from the server. When the data is returned Javascript can be used to update the main page with the new data. Simple but effective.

Is Java the new Cobol?

Tim Bray, co-inventor of XML, recently listed everything in the industry that he considers boring or not boring in his blog.

His point being that good news is often boring; it’s not exciting as bad news, and good news is often about things that are safe and predictable.

Java, in his opinion, has become boring. It’s reached a stage in it’s development where it is now accepted in many different application development areas (financial, telecoms, healthcare, etc) as a good, stable, reliable platform on which to build applications – Java has become the new Cobol.

This is an interesting perspective, but one that is great for everyone currently working with Java – it is truly mainstream and acceptable, and is no longer considered a risk. Companies are building multimillion dollar systems using Java, and it is accepted as a viable platform for building solutions.

All good things usually come to an end however. I don’t see that end as being .NET – Java has too much industry momentum to be overtaken or replaced by .NET. I see the main changes coming as a shift in development technology, possibly with AOP. Just as assembly was superceeded by high level languages, I think OO languages such as Java are going to not be replaced, but eveolve into more AOP like development languages. Java of course already has interest in these areas with Spring AOP, JBoss AOP, and AspectJ.