This chapter has explained how to map an enterprise domain model to a design model that can be used to implement the integration tier of a J2EE application. Through this straightforward mapping, design elements such as Transfer Objects and Data Access Objects can be directly traced to core business concepts such as Party, Arrangement, and Product.
The design guidelines and patterns for J2EE applications presented in this chapter have shown how Transfer Objects, Composite Transfer Objects, Business Rule Objects, and Data Access Objects provide the building blocks for a design model that addresses the fundamental characteristics of an application, such as performance and flexibility. In addition, these guidelines address the challenging task of bridging the impedance mismatch between an object-oriented design model and the enterprise data representation of a legacy system.
The Data Access Object pattern is the key to overcoming this impedance mismatch. However, the mapping from an object-oriented enterprise data model to a legacy system service model is complex, and this complexity is increased by the addition of distributed transactions involving legacy system services that cannot provide two-phase commit functionality to a J2EE application. This issue is addressed in Chapter 3, and techniques for combining Data Access Objects with the J2EE Connector Architecture are presented.
Implementing a design model derived from the common domain model allows the creation of a core, reusable component for the enterprise.