Enterprise Domain Repository - Home
.
.
Enterprise Domain Repository - handle multi-source DomainObjects
| Enterprise Domain Repository (EDR) is a pattern for ensuring you are in control when handling Domain Objects containing data from multiple back-ends. Most enterprises have several systems which own parts of a domain object.The data from these systems might be disjoint, as well as overlapping. The data quality and SLA requirements for each system are often of diversified quality. We need a standardized way to handle multi-source domain objects, and to extend the Domain repository to handle the real-world CRUD of today's enterprises. The work on this pattern summarize experiences gained in real-life projects on both [.Net] and [Java]. |
EDR Technology section
| The Java implementation(s). - [[Java Implementation Details]] EDR on dev.java.net - EDR - Join - Browse SVN EDR implemented as a Composite Object Programming multi backend EntityStore - Qi4j EDR implementation | The .net/C# implementation. - [.Net (C#)] The .Net examples will be made publicly available later. |
Presentations
- JavaZone 2007
- Community Corner at JavaOne 2008
- EDR as Integration Strategy at Communities in Action 2010 (Norwegian)
Data Master Strategy
One of the advantages using EDR is the possibility of discovering, and automatically resolve, data inconsistency between different back-end systems.
One example is that the same customer has different street address in your billing and CMS applications.
This strategy is further examined in EDR-MDS.
EDR data inconsistency between different back-end systems.
One example is that the same customer has different street address in your billing and CMS applications.
Extensions / Advanced Scenarios
The Recording Command Pattern may be used to extend the Providers used by the Enterprise Domain Respository. A Recording Gateway will keep track of all executed commands and record all responses to these requests. This enables the gateway to go into offline mode and do playback of the traffic should the provided system be unavailable.
Merge Strategy Pattern
[Merge Timing Pattern]
Open-ended Integration Merge Pattern
Data Mapping in EDR
[EDR and very complex domain objects] How to handle domain objects that might span multiple Bounded Contexts
Reference Implementation
[EDR Reference Implementation]
Moderator Discussion