Professional Java EE Design Patterns: A Great Addition to the Java EE Practitioner’s Bookshelf

Ignorant men raise questions that wise men answered a thousand years ago
                          – Johann Wolfgang von Goethe
I am very happy to report that my friend Murat Yener and co-author Alex Theedom have finished an important book that I hope will become a part of every good Java EE developer’s bookshelf – the first edition of Professional Java EE Design Patterns. I helped review the book and wrote it’s foreword. It is the first book of it’s kind for Java EE 7. Instead of detailing APIs, features and best-practices the book covers the design patterns that you should know about as an effective Java EE practitioner. The book is available for purchase through Amazon among other outlets.

Design patterns are our link to the past and the future. They make up a foundational language that represents well understood solutions to common problems talented engineers before us have added to our collective knowledge base. Design patterns or blue prints exist in every engineering field in one way or the other. Software development is no different.

The art and science of design patterns was brought to the world of software engineering – and more specifically to enterprise Java – by the seminal Gang of Four (GoF) book. They have been with us ever since through our adventures in J2EE, Spring and now modern Java EE. This is for very good reasons. Server-side Java developers tend to write the type of mission critical applications that need to stand the test of time and hence benefit the most from the discipline that design patterns represent.

It really takes a special kind of person to write a book on design patterns let alone a book on how to utilize design patterns in Java EE applications. You require not only basic knowledge of APIs and the patterns themselves but deep insight that can only come with hard earned experience as well as an innate ability to explain complex concepts elegantly. I am glad Java EE now has Murat and Alex to accomplish the mighty feat.

This book fulfills a much needed gap and fills it well. It is also very good that the book is on the cutting edge and covers Java EE 7 and not just Java EE 6 or Java EE 5. In fact many of the design patterns covered like Singleton, Factory, Model-View-Controller (MVC), Decorator and Observer are now incorporated right into the Java EE platform. Others like Facade, Data Access Object (DAO) and Data Transfer Object (DTO) fit elegantly on top. Besides the classical design patterns some others worth adding to your repertoire are slightly newer formulations like Entities, Value Objects, Aggregates, Domain Services, Application Services and Repositories – these come from the world of Domain-Driven Design (DDD). Murat and Alex tackle each pattern, explain its pragmatic motivation and discuss how it fits into Java EE.

I hope you enjoy the book and it helps you write better, more satisfying enterprise Java applications.

This entry and contributions to the book were done entirely on my own personal time. All views voiced here are my own, not necessarily Oracle’s.

Published by Reza Rahman

Reza Rahman is Principal Program Manager for Java on Azure at Microsoft. He works to make sure Java developers are first class citizens at Microsoft and Microsoft is a first class citizen of the Java ecosystem. Reza has been an official Java technologist at Oracle. He is the author of the popular book EJB 3 in Action. Reza has long been a frequent speaker at Java User Groups and conferences worldwide including JavaOne and Devoxx. He has been the lead for the Java EE track at JavaOne as well as a JavaOne Rock Star Speaker award recipient. He was the program chair for the inaugural JakartaOne conference. Reza is an avid contributor to industry journals like JavaLobby/DZone and TheServerSide. He has been a member of the Java EE, EJB and JMS expert groups over the years. Reza implemented the EJB container for the Resin open source Java EE application server. He helps lead the Philadelphia Java User Group. Reza is a founding member of the Jakarta EE Ambassadors. Reza has over a decade of experience with technology leadership, enterprise architecture and consulting. He has been working with Java EE technology since its inception, developing on almost every major application platform ranging from Tomcat to JBoss, GlassFish, WebSphere and WebLogic. Reza has developed enterprise systems for well-known companies like eBay, Motorola, Comcast, Nokia, Prudential, Guardian Life, USAA, Independence Blue Cross, Anthem, CapitalOne and AAA using Java EE and Spring.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: