Modern client-server applications manipulate complex graphs of data objects. For example a contract with its positions and optional amendments is represented as a hierarchy of data information. These graphs are transferred from and to the client application. The user views data, edits it and commits the changes to the database through server functions. The patterns commonly found in the literature describe thoroughly how to implement simple data transfer objects DTO but ignore the complexity how graphs of objects should efficiently be transmitted between server and client components. The intended audience is software developers interested in using DOG or implementing their own variant.
The framework described here provides pragmatic solutions to this common problem. This "state of the industry" approach efficiently transfers trees and graphs of value objects between client and server. Modern code generation technologies, based on the model driven architecture MDA approach are used to generate needed code artifacts. To streamline the integration of the framework into enterprise infrastructure, care was taken to provide a bridge to the enterprise blueprints described in the J2EE guidelines. The application architect can fully concentrate on the business analysis and avoid loosing time to solve infrastructure problems.
For further information, read "Data Object Graphs: A Pragmatic Approach to MDA Generated DTO Graphs" .