DekGenius.com
[ Team LiB ] Previous Section Next Section

Organization of This Book

This book provides developers with the patterns they need to build extensible, scalable, reliable systems with J2EE in a timely manner. Once you've finished reading it, you'll have an understanding of the primary J2EE patterns and how they relate to one another and to an application as a whole.

There are at least three ways to read this book. The simplest one is to start here and keep going until you hit the back cover. Another is to pick and choose: many chapters and sections of chapters are self-contained; if you're only interested in the business tier, you can focus on the second half of the book, and if you need tips on generating primary keys for database tables, Chapter 8 will see you through. Or, you can do it backwards by reading the four appendixes first. They'll give you a general outline of the different kinds of things patterns can do and how they can help you right now. Then head over to the appropriate chapters and read a bit more.

Chapter 1

Provides a brief introduction to design patterns and enterprise design. In addition to describing patterns themselves, we'll talk about how patterns help achieve four major design goals: extensibility, reliability, scalability, and timeliness. Although not necessarily all at once: we aren't miracle workers.

Chapter 2

Contains an introduction to the Unified Modeling Language, a standardized graphical approach to describing the purpose, structure, and processing of applications. We'll use UML throughout the rest of the book to describe individual design patterns. We've tried to make this introduction as complete as possible without taking several hundred pages, so you'll get a good idea of what's possible with UML and where you can go in order to learn more.

The rest of the book introduces a range of J2EE design patterns in the context of the design environments in which they are used. Rather than create a conventional patterns catalog, we've chosen to introduce these patterns in a narrative style, while keeping each section sufficiently distinct so that you can easily focus on the patterns themselves. The underlying themes of scalability, extensibility, and reliability flow through each chapter. Some of the chapters can stand alone: programmers working on the web tiers of an application do not necessarily need to know about patterns for MQ messaging systems, and vice versa. We do believe, however, that well-rounded developers will want to familiarize themselves with the whole package. We start with the presentation tier.

Chapter 3

Outlines the general patterns involved in structuring the web-focused side J2EE applications, providing a framework for extensibility.

Chapter 4

Continues the extensibility discussion, introducing additional patterns focused on creating more flexible presentation logic.

Chapter 5

Looks at scaling the presentation tier, presenting strategies for improving resource management and general performance.

Next, we leave the presentation tier and move on to the business tier.

Chapter 6

Introduces the business tier, focusing on the domain model for the application.

Chapter 7

Provides patterns designed to create a more efficient and scalable interface between the presentation tier and the business tier—the former interacting with the user and the latter interacting with application data.

Chapter 8

Focuses on the database, providing a set of patterns to implement persistence in your application.

Chapter 9

Discusses ways to centralize present business logic to your application.

Chapter 10

Discusses concurrency; in other words, the problems faced by any application in which two or more users might try to do the same thing at the same time.

Chapter 11

Introduces a set of patterns for enterprise messaging systems.

Chapter 12

Switches gears from the patterns chapters and introduces the concept of antipatterns: recurring worst practices in enterprise application development that must be avoided, if not at all costs, at least whenever possible.

We finish with a set of Appendixes, outlining each of the patterns presented in this book in a catalog format. The catalogs provide a quick reference to the various patterns in the book, as well as a way to efficiently explore potential solutions to current problems.

    [ Team LiB ] Previous Section Next Section