This document discusses design patterns and Java EE application architecture. It begins by describing structural, behavioral, and J2EE design patterns like adapter, strategy, facade, DAO, and MVC. It then covers topics like identifying the layers in a web application architecture (presentation, business logic, data access) and common architectures like single-tier, two-tier, and three-tier. Finally, it explores Java EE application architecture including web-centric, EJB component-centric, B2B, and web service architectures.