This document discusses the choices involved in developing a J2EE architecture. It covers whether to use a distributed or non-distributed model, when to use EJBs, and data access strategies. The key considerations for choosing an architecture include performance, complexity, object-oriented design principles, and business requirements like scalability, portability and client support. The document recommends choosing the simplest solution and avoiding distribution or EJBs unless clearly needed.