Modeling Repository with CDO
The CDO Model Repository
The Connected Data Objects (CDO) model repository is the standard solution for EMF applications and tools when it comes to orthogonal concerns like scalability, persistence, transactionality and distribution. CDO is a component of the EMF project for many years now and has been successfully adopted by many companies and organizations.
CDO allows to develop applications against standard EMF APIs and decide later whether to persist the models in any SQL database, possibly through Hibernate, in an object oriented database, in memory or other backend stores.
Without any changes to the application code the used models become really scalable on both client and server side. Models larger than four giga bytes can easily be stored and used. Up to thirty thousand objects per second can be loaded by clients and they are automatically garbage collected when no longer needed. The performance can be further tuned with enhanced options for adaptive prefetching, partial loading, etc…
CDO offers true transactionality with save points and rollback, even over multiple repositories. Clients can decide to be notified about repository changes when they occur and thereby experience the collaboration on a real distributed shared model. CDO supports transparent versioning and efficient branching and merging.
The new Helios version of CDO comes with a superior offline mode, based on cloning and continuously replicating master repositories including all branches and histories. These offline clones can serve multiple clients and thereby act as site or group servers. Multiple CDO servers can be composed into failover groups and coordinated by failover monitors so that clients do not notice the failure of a single repository server.
- gives you a brief overview of CDO’s open and extensible architecture
- mentions some of the amazing use cases of CDO
- explains why CDO is the perfect choice for an enterprise modeling bus
Eike Stepper is a consultant specializing in modeling and OSGi with over 20 years in professional software development. Eike has conducted dozens of successful customer projects since founding his consulting company in 1991. Eike is the initiator and project lead for the CDO Model Repository and the Net4j Signalling Platform at the Eclipse Foundation.