Patterns of Enterprise Application Architecture

Patterns of Enterprise Application Architecture
by Martin Fowler

Patterns of Enterprise Application Architecture
List Price: $69.99
Our Price: $43.33
You Save: $26.66 (38%)
Availability: Usually ships in 1-2 business days
Buy Used: from $32.44 (click here)
Category: Book
See more book details and other editions


or

Book Summary Information

Author: Martin Fowler
Edition: Hardcover
Audio: English (Unknown); English (Original Language); English (Published)
Published: 2002-11-15
ISBN: 0321127420
Number of pages: 560
Publisher: Addison-Wesley Professional
Accessories:

Book Reviews of Patterns of Enterprise Application Architecture

Book Review: Would have been a great book 2-3 years ago
Summary: 3 Stars

First, I'd like to say that I think Marin Fowler is awesome. I've been a long time fan of his and I really enjoy his talks and his books. So when you read this review, you can tell that it pains me to write what I have to say. I don't want to rip apart his book so that he potentially sells fewer copies - that's not my intention at all. By writing 3 books myself, I appreciate that authors don't make a lot of money for developing the book itself. Usually people like Martin write books for the experience and to generally help people.

That being said, many developers will unfortunately not find this book very useful. Many of the patterns Martin shows us have a lot of dependency on the platform you are using to implement the application. For instance, if you use Microsoft's .NET platform, you are going to be leaning towards a Table Module instead of a Domain Model. If you do not use a Table Module, you will not be able to take advantage of a considerable amount of functionality that is provided for you within the .NET platform. In Java, the same is true; the Table Module doesn't look as appealing if you are using EJBs, JDO or even Hibernate - you won't ever consider it.

Many of the patterns in the book have this characteristic described above, so architects won't actually learn anything from them. In other words, architects will not be able to take advantage of these alternate design patterns without some initial headaches that are often not worth it because the platform they use restricts and penalizes their usage.

Another complaint about the book is that many of the patterns are already available as frameworks. For instance, many of the presentation patterns are handled by frameworks like Struts or Webwork. In these cases, learning about the patterns that are associated with these frameworks will provide little value. These patterns have already been discussed many times before in other books like "Advanced Java Server Pages" for example.

The same could also be said for persistence frameworks of O/R mapping tools. There is literally over a 100 pages (in a 500 page book) that talk about lazy loads, unit of work, locking strategies, metadata patterns and inheritance mappings. Although sometimes they are useful, in most situations the developers would be abstracted away from all these underlying mechanics using a good persistence framework or O/R mapping tool. I realize not all that the this is true, but implementing Martin's suggestions would take a month or two alone if you didn't buy anything off the shelf - that's too much time to waste. Martin should have talked more about these tools and the patterns they currently implemented instead as this is a more pragmatic approach.

Martin also doesn't talk about the load-on-startup servlet that can be used to store application-scoped values in the ServletContext (for J2EE systems) in his Registry pattern. This was unfortunate because many non-ejb systems use this approach. Considering the book advocates using POJOs, JDO or JDBC instead of EJBs (which is sound advice in practice for most systems), they didn't cover the registry alternates for this approach. Many of us use containers like Resin because they are extremely fast and have no need for EJB development.

Coming from three different environments myself (PHP, .NET and J2EE), I was disappointed that I didn't learn anything from this book. I had, in fact, learned about many of these patterns on my own, but didn't exactly know what they were called. This left me disappointed, but it's not Martin's fault. I don't mean to build me up that I know everything, but I think I've reached a plateau when it comes to designing and architecting systems - I'm good at it. If you happen to be a good designer too and you think you might want to broaden your knowledge, then this book won't help in those areas. If this book doesn't, I don't think you'll find another book that will either. So again, this isn't Martin's fault.

Now before you say something, Martin explicitly states in his book that many experienced designers *will not* learn much. He mentions more than a few times that this book is meant to enhance the communication between architects and designers more than anything and that it is meant to be a documented repository of patterns that we know as an industry and use over and over. I completely agree with these statements. Thus, the book has value in these regards and it will definitely help the industry evolve and mature.

I know I've said some negative things about the book, but let's face it - this is Martin Fowler! The quality and style of the writing is top notch and the organization of the information couldn't have been better. The explanations and examples are very clear and this book is what it claims to be. In this respect, the book should be regarded as the best in its market.

I would advocate purchasing this book in combination with "EJB Design Patterns" and "Expert One-On-One: J2EE Design and Development" for the J2EE developer. As for you .NET folks, I have no idea. From experience, I suspect that .NET developers will have even less use for this book since Microsoft has limited your choices about design in favour of simplifying the platform. That's one of the major differences between J2EE and .NET, and Martin can't control that either.

Overall, this is a good book. I give it only 3 stars, however, because of the initial problems described above.

Summary of Patterns of Enterprise Application Architecture

Developers of enterprise applications (e.g reservation systems, supply chain programs, financial systems, etc.) face a unique set of challenges, different than those faced by their desktop system and embedded system peers. For this reason, enterprise developers must uncover their own solutions. In this new book, noted software engineering expert Martin Fowler turns his attention to enterprise application development. He helps professionals understand the complex -- yet critical -- aspects of architecture. While architecture is important to all application development, it is particularly critical to the success of an enterprise project, where issues such as performance and concurrent multi-user access are paramount. The book presents patterns (proven solutions to recurring problems) in enterprise architecture, and the context provided by the author enables the reader to make the proper choices when faced with a difficult design decision.

Microprocessors & System Design Books

Book Subjects
Similar Books and other products
The Pragmatic Programmer: From Journeyman to Master ImageThe Pragmatic Programmer: From Journeyman to Master
by Andrew Hunt, David Thomas
Addison-Wesley Professional; Published: 1999-10-30; Paperback; Book
Best price: $35.60
Price in other shops: $49.99
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler)) ImageContinuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation (Addison-Wesley Signature Series (Fowler))
by Jez Humble, David Farley
Addison-Wesley Professional; Published: 2010-08-06; Hardcover; Book
Best price: $30.99
Price in other shops: $49.99
Head First Design Patterns ImageHead First Design Patterns
by Elisabeth Freeman, Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
O'Reilly Media; Published: 2004-11-01; Paperback; Book
Best price: $25.00
Price in other shops: $49.99
Clean Code: A Handbook of Agile Software Craftsmanship ImageClean Code: A Handbook of Agile Software Craftsmanship
by Robert C. Martin
Prentice Hall; Published: 2008-08-11; Paperback; Book
Best price: $33.23
Price in other shops: $49.99
Refactoring: Improving the Design of Existing Code ImageRefactoring: Improving the Design of Existing Code
by Martin Fowler, Kent Beck, John Brant, William Opdyke, Don Roberts
Addison-Wesley Professional; Published: 1999-07-08; Hardcover; Book
Best price: $25.00
Price in other shops: $64.99
Domain-Driven Design: Tackling Complexity in the Heart of Software ImageDomain-Driven Design: Tackling Complexity in the Heart of Software
by Eric Evans
Addison-Wesley Professional; Published: 2003-08-30; Hardcover; Book
Best price: $44.97
Price in other shops: $69.99
Design Patterns: Elements of Reusable Object-Oriented Software ImageDesign Patterns: Elements of Reusable Object-Oriented Software
by Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides
Addison-Wesley Professional; Published: 1994-11-10; Hardcover; Book
Best price: $35.45
Price in other shops: $59.99
Microsoft® .NET: Architecting Applications for the Enterprise (Pro-Developer) ImageMicrosoft® .NET: Architecting Applications for the Enterprise (Pro-Developer)
by Dino Esposito, Andrea Saltarello
Microsoft Press; Published: 2008-10-15; Paperback; Book
Best price: $26.35
Price in other shops: $44.99
Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions ImageEnterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions
by Gregor Hohpe, Bobby Woolf
Addison-Wesley Professional; Published: 2003-10-20; Hardcover; Book
Best price: $43.95
Price in other shops: $64.99
Service Design Patterns: Fundamental Design Solutions for SOAP/WSDL and RESTful Web Services ImageService Design Patterns: Fundamental Design Solutions for SOAP/ WSDL and RESTful Web Services
by Robert Daigneau
Addison-Wesley Professional; Published: 2011-11-04; Hardcover; Book
Best price: $36.20
Price in other shops: $54.99