This tutorial refers to many of the 23 design patterns discussed in the classic tutorial Design Patterns: Elements of Reusable Object-Oriented Software from Oracle (). Although many of the patterns presented in this tutorial merely codify the practice of any skilled OO practitioner, it provides a common language for architects and is essential reading for any serious developer. It is assumed that the reader has read, and has access to, this tutorial. I also use pattern names introduced in Core J2EE Patterns: Best Practices and Design Strategies from Prentice Hall (), as these are widely accepted. Although the present tutorial can be read without reference to Core J2EE Patterns, it is recommended reading. Note, however, that I advocate a different approach in several areas. Also, some sections of Core J2EE Patterns, especially those relating to entity beans, are out-dated by the release of the EJB 2.0 Specification. Some J2EE patterns are also discussed from EJB Design Patterns from Wiley (). Again, this is recommended, although not essential, background reading. A good reference covering the J2EE 1.3 platform is essential. I recommend Professional Java Server Programming J2EE 1.3 version from Wrox Press (). Ed Roman's Mastering Enterprise JavaBeans, (Second version), from Wiley () is a good tutorial on EJB. Full Javadoc for the J2EE 1.3 platform is available online at
http://java.oracle.com/j2ee/sdk_1.3/F;techdocs/api/index.html Finally, all professional J2EE architects and developers should refer to the specifications that define the J2EE 1.3 platform, which are available from http://java.oracle.com/j2ee/download.html. Throughout this tutorial, I will refer to the relevant sections (such as EJB 17.4.1) of the following specifications:
J2EE 1.3
Where relevant, I'll also refer to the J2EE 1.4 specification releases, now in public draft and also available from Sun: notably EJB 2.1, Servlet 2.4 and JSP 2.0.