Case Study and J2EE Technologies
It's not enough to simply discuss a complex architectural topic like application layering in an abstract way, especially when this is a book to be used by practitioners. In this book we have also presented examples of how you use each technology in the context of a case study about a company developing a simple J2EE application for tracking time worked on projects. The example was sufficiently complicated, both from a user interface and a domain object perspective to provide an appropriate backdrop to show how to apply J2EE technologies in a real-world environment.
In order to illustrate to you how the different J2EE technologies work together, we have provided an overview of the J2EE architecture, a brief discussion of the specifications and described a component design with the solutions they provided. We described which J2EE technologies are available for enterprise application components and where they fall in the layered application architecture. We've provided examples (both small, stand-alone examples, and larger examples in the context of our case study) to show you how these technologies fit together, and how alternative technology choices (like using Struts or servlets as controllers) play out in the context of an application design.
The J2EE only defines the interfaces, life cycles, and interactions of components they must carry out and the roles that can be held by developers involved in the development and deployment of server-based applications. It does not provide you with detailed guidance on how to combine those components in the best way. That is what we hope to have provided you in our book.