E++, an Alexandrian pattern language, describes the process for creating a J2EE framework. Compared with a loose pattern collection, E++ provides rules for design patterns to work together in solving a set of related problems. Building or migrating to an n-tier J2EE application becomes as easy as following the E++ tree network from root to leaves. Bin Yang, in this first article of two, introduces the pattern language concept and three architectural patterns, saving detailed design patterns for Part 2. (4,000 words)
2. E++: A pattern language for J2EE applications, Part 2
E++, a pattern-based J2EE application framework, promotes modularity, reusability, extensibility, portability, inversion of control, consistence, and scalability (MREPICS; see the sidebar below). The framework architecture captures reusable patterns and design experiences on the J2EE platform. In the second and final part of the series, Bin Yang presents detailed implementations of the major E++ patterns. (4,500 words)
Mark Johnson and Inderjeet Singh presented a conference session on J2EE design patterns. Here's a rundown of the main patterns discussed, including descriptions of situations in which each pattern should be used. (900 words)
In this introductory-level article, Walter Hurst describes how to combine J2EE (Java 2 Platform, Enterprise Edition) with object-oriented design patterns to build a scalable, flexible, and extensible application architecture. He explains the importance of application architecture and design patterns and provides basic tips for using design patterns to build application architecture for J2EE projects. (2,500 words; June 7, 2002)
In this article, Jason Cai explores the benefits and advantages of using the Session Facade pattern. He discusses when to use the pattern with value objects, and when to use it with XML. He also provides a detailed implementation of the Session Facade pattern integrated with XML. (2,200 words; January 11, 2002)
In most J2EE systems, it is desirable to have factories or managers (implemented as stateless session beans) that fire appropriate events. EJB containers handle the demand for stateless session beans by creating as many instances of them as required or by reusing existing ones. However, each new bean instance must be initialized with exactly the same set of listeners as exists for all other instances. This tip shows you how to correctly implement the Observer pattern when participants are EJBs. (1,000 words)