Patterns of Enterprise Application Architecture 1st Edition
| Martin Fowler (Author) Find all the books, read about the author, and more. See search results for this author |
Use the Amazon App to scan ISBNs and compare prices.
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.
Frequently bought together
Customers who viewed this item also viewed
Editorial Reviews
From the Back Cover
The practice of enterprise application development has benefited from the emergence of many new enabling technologies. Multi-tiered object-oriented platforms, such as Java and .NET, have become commonplace. These new tools and technologies are capable of building powerful applications, but they are not easily implemented. Common failures in enterprise applications often occur because their developers do not understand the architectural lessons that experienced object developers have learned.
Patterns of Enterprise Application Architecture is written in direct response to the stiff challenges that face enterprise application developers. The author, noted object-oriented designer Martin Fowler, noticed that despite changes in technology--from Smalltalk to CORBA to Java to .NET--the same basic design ideas can be adapted and applied to solve common problems. With the help of an expert group of contributors, Martin distills over forty recurring solutions into patterns. The result is an indispensable handbook of solutions that are applicable to any enterprise application platform.
This book is actually two books in one. The first section is a short tutorial on developing enterprise applications, which you can read from start to finish to understand the scope of the book's lessons. The next section, the bulk of the book, is a detailed reference to the patterns themselves. Each pattern provides usage and implementation information, as well as detailed code examples in Java or C#. The entire book is also richly illustrated with UML diagrams to further explain the concepts.
Armed with this book, you will have the knowledge necessary to make important architectural decisions about building an enterprise application and the proven patterns for use when building them.
The topics covered include:
0321127420B10152002
About the Author
Martin Fowler is an independent consultant who has applied objects to pressing business problems for more than a decade. He has consulted on systems in fields such as health care, financial trading, and corporate finance. His clients include Chrysler, Citibank, UK National Health Service, Andersen Consulting, and Netscape Communications. In addition, Fowler is a regular speaker on objects, the Unified Modeling Language, and patterns.
0321127420AB07242003
Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Product details
- Publisher : Addison-Wesley Professional; 1st edition (November 5, 2002)
- Language : English
- Hardcover : 560 pages
- ISBN-10 : 0321127420
- ISBN-13 : 978-0321127426
- Item Weight : 2.44 pounds
- Dimensions : 7.7 x 1.6 x 9.4 inches
- Best Sellers Rank: #30,083 in Books (See Top 100 in Books)
- #1 in Computer Hardware Design
- #3 in Microsoft .NET
- #4 in Computer Hardware Design & Architecture
- Customer Reviews:
About the author

For all of my career I've been interested in the design and architecture of software systems, particularly those loosely classed as Enterprise Applications. I firmly believe that poor software design leads to software that is difficult to change in response to growing needs, and encourages buggy software that saps the productivity of computer users everywhere.
I'm always trying to find out what designs are effective, what approaches lead people into trouble, how we can organize our work to do better designs, and how to communicate what I've learned to more people. My books and website are all ways in which I can share what I learn and I'm glad I've found a way to make a living doing this.
Customer reviews
Reviewed in the United States on January 2, 2019
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
I read in a review that this book is biased toward java: I must disagree--while most of the example are in java (chosen because its a language most developer, at least, know how to read, if not program in), the concepts are universal and can be applied to almost any object oriented language. I've never programmed an enterprise application in Java--yet, it is my go to book when designing architecture for my language of choice.
So if you are thinking are buying this and think it is dated: Its not.
Or think its for java devs: its not.
There's my two cents
I didn't look at this book for a long time simply because of the word "enterprise." I felt the word was too overloaded to be useful. I've heard too many managers, recruiters, and other programmers use this word to mean too many different things. Fowler defines enterprise application as "the display, manipulation, and storage of large amounts of often complex data and the support or automation of business process with that data." By that definition every system I've ever worked on has been an enterprise application.
Cons
A dense, tough read. I almost wish I was at a whiteboard or kept a notepad while reading.
Pros
Fowler gives a fantastic presentation of how to design software using databases, distributed components, etc. This is given through good narratives and anecdotes of Fowler's own experiences, and also through the patterns distilled from these.
The best thing I can say about this book is I would put it fourth in the list of books-I'd-like-anybody-I'm-working-with-to-have-read, right after to Design Patterns, Refactoring, and Extreme Programming Explained.
Summary
As with most patterns books, not everything in here is an amazing revelation, but the common approach, terminology, and ways of categorizing problems and solutions make it very valuable.
Programmers who utilize design patterns and refactoring, and who work on software systems involving distributed components and/or databases should take a look at this book.
If your using a code based language you will learn a lot, pair this book with the Kent Beck Test Driven Development and the blue Domain Driven Development books. Extend the longevity of your code by years.
Top reviews from other countries
While there are a lot of patterns here that can be found among those proposed by the Gang of Four or found at Sun's BluePrints website, the explanations of the significance of the pattern and when and where it should be used makes it invaluable to programmers. The patterns covered are almost perfect in that they cover the most commonly used patterns as well as the patterns that can make the biggest difference. It's not perfect though as there are a couple of patterns that you feel were included to make up the numbers ('Money' being the most obvious offender).
Incidentally, it's also a great source for disambiguation of terms too where disparate teams can use terms from this book as a common reference. Very useful when dealing with remote teams.
I am a non-developer and have found this an easy read, and dare I say compelling! I don't understand all of it, but it has certainly enhanced my understanding to be better able to comprehend the architecture behind the code I am reviewing.
I tells you about those many things in real life applications that you may have not come across yet and you need to develop carefully when you are working in a big project.
The enterprise approach to patterns is light but described in a rigorous manner.
I must confess I enjoy these books that are not tied to a given version of a given language much more than the rest.
The information you get is more open and you get a better understanding of the big picture.
If this one doesn't become a timeless reference (the way our profession changes I wouldn't dare to say so from any book), it will sure stand as a classic of its era.









