Technical Program
Educators' Symposium
Doctoral Symposium
Student Research

Student Volunteers
Special Events
Housing Information
Registration Information

Monday, 4 November – 13:30-17:00 Afternoon – Convention Ctr - Room 307-308

15 Patterns of Enterprise Application Architecture

Martin Fowler
ThoughtWorks, Inc., fowler@acm.org

The last decade or so has been one of technology churn. We've seen client/server, CORBA, J2EE, COM, .NET and a host of other enterprise platforms appear or fade from view, or both. Keeping up with resulting alphabet soup is a full time job, even without applications to ship.

But amongst all of this churn, some techniques stay relatively constant. So we've been trying to identify these common patterns and taking note of how we use the ideas from one technology and use similar, but not the same designs in others (you can find these at www.martinfowler.com/isa).

In this tutorial we'll explore a number of these patterns. We'll touch on various topics including layering, business logic organization, database mapping, web server design, and session state management.

Attendee background

Knowledge of the basic topic of developing information systems.


Martin Fowler is the Chief Scientist for ThoughtWorks, Inc., a leading custom e-business application and platform development firm. For a decade he was an independent consultant pioneering the use of objects in developing business information systems. He's worked with technologies including Smalltalk, C++, object and relational databases, and EJB with domains including leasing, payroll, derivatives trading and healthcare. He is particularly known for his work in patterns, the UML, lightweight methodologies, and refactoring. He has written four books: Analysis Patterns, Refactoring, the award winning UML Distilled, and Planning Extreme Programming.