It is one of the most venerated books in the world of Software Engineering. It is such an icon it even has its own nickname and even the acronym of the nickname is easily recognized by most software architecture and design zealots.

I am of course talking about Design Patterns: Elements of Reusable Object-Oriented Software by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides. Also known simply as the Gang of Four book, or even more simply as just GoF.

I in fact never purchased the book myself, but I have definitely read it and it has been on my bookshelf for the best part of a decade now. When I first moved to the United States I moved into an apartment that was being rented and paid for by the company that hired me. It was the heady days of the .com explosion so there was a high rate of turnover at the company. When I moved into the apartment, it was clear that the previous occupant/employee had only just vacated and had left some personal belongings behind. One of the items carelessly discarded was a copy of Gof.

Now to be fair, the book will put the hardiest of readers to sleep pretty easily – it is most definitely a tome of knowledge, not a work of entertainment. But nonetheless, my copy is certainly worth the dead trees it is printed on.

As with many new ideas, there is rarely just one person thinking about them. It usually takes these visionaries getting together and coming up with some common terminology and cohesive thoughts to really launch the new idea into the mainstream. This is what GoF did for Design Patterns, and it is in this launching that its main value resides.

It is hard to believe that this book is already 15 years old. But InformIT has just published an interview with 3 of the gang (Vlissides died on Thanksgiving Day in 2005) to look back on the book, its influence on the Software Engineering industry since its release and whether in the rapidly changing world of app stores, mashups and the like, whether the book is still relevant.

JavaOne 2012

CON8122 - Amazon Web Services for Java Developers

Abstract: Amazon Web Services (AWS) is an ideal platform to develop on and to use for hosting enterprise Java applications. The zero up-front costs and virtually infinite scalability of resources enable Java EE developers to start small and be confident that their infrastructure will grow with their application. In addition, the nature of AWS and the services available help solve some of the problems Java developers often face in more-traditional environments. In this session, you will be introduced to AWS concepts, gain an understanding of how existing Java EE applications can be migrated to the AWS environment, what advantages there are in doing that, and how to architect a new Java EE application from the ground up to leverage the AWS environment for maximum benefit.