JavaZone 2009 - Patterns for persisting large and rich domain models

The tenets of Domain-Driven Design are well documented, and its mindshare has expanded massively in recent years, due to the brilliant work of Eric Evans and others.
However, knowledge on persisting large and rich domain models, especially in a performant and scalable way, is basically non existing. Lessons learned by architects of high-scale DDD/OO-based systems in production settings are largely absent from the professional literature. And yet such knowledge should be of significant value to current practitioners responsible for the development or operation of such systems with performance and scalability concerns.
Therefore this seminar talk will focus on the persistence of domain models, the typical problems that arise around performance, scalability, and transaction isolation in domain model persistence, some observed solutions to those problems, and the consequences of those solutions for application architecture.
Drawing on the presenter's two decades of experience practicing DDD in multiple production systems, with different programming languages and various object persistence technologies, the talk will briefly survey the evolution of object persistence approaches, noting their performance, scalability, and isolation characteristics, culminating with exciting new possibilities offered by data grid technologies. However the bulk of the emphasis in the talk will be placed on patterns of domain model persistence with current Java ORM technologies.
Randy Stafford

Randy Stafford

Randy Stafford is a practicing software professional with 20 years’ experience as a developer, analyst, architect, manager, consultant, and author/presenter.
Currently for Oracle’s middleware development A-Team, he engages globally for proof-of-concept projects, architecture reviews, and production crises with diverse customer organizations, specializing in grid, SOA, performance, HA, and JEE/ORM work.
In past lives, Mr. Stafford has been Technical Advisor to agile vendor Rally Software, Chief Architect of SaaS company IQNavigator, Director of Development of SynXis Agent (acquired by Sabre), consultant for GemStone and Smalltalk, and a simulation specialist in the aerospace and CASE industries.
Long active in the professional community, he was a contributor to Martin Fowler’s Patterns of Enterprise Application Architecture and Floyd Marinescu’s EJB Design Patterns, and a reviewer of other enterprise patterns books. He has presented at conferences of the Society for Computer Simulation, the International Council on Systems Engineering, the Agile Development Conference, and Oracle Open World, and he has participated heavily in online communities devoted to architecture and agile development.
His professional interests include domain model persistence, enterprise application architecture, application performance management, requirements analysis and specification, software development process, organizational culture, and leadership of people.
Mr. Stafford is motivated to improve the practice of software development and solve problems facing society. He lives in his native Denver, Colorado with his wife and family.