Connected Data Objects
Connected Data Objects is a free implementation of a Distributed Shared Model on top of the Eclipse Modeling Framework.
With CDO, programmers can easily enhance existing EMF models in such a way that they can be stored and subsequently maintained in a central model repository. While object relational mapping against a JDBC data source on the server side is the shipped default, CDO provides for pluggable storage adapters that allow you to develop and use different mappers. On the client side, CDO provides a default integration with EMF, the Eclipse Modeling Framework, although other model integrations on top of the CDO protocol are imaginable as well.
Model integration features
- EMF integration at model level
- Support for generated models
- Support for dynamic models
- Support for legacy models
- Support for the Ecore meta model and descendants
User interface features
- Eclipse view for working with CDO sessions, transactions, views and resources
- Package Manager dialog per session
- Eclipse editor for working with resources and objects
Client side features
- Multiple sessions to multiple repositories on multiple servers
- Multiple transactions per session
- Multiple read-only views per session
- Multiple audit views per session
- Multiple resources per view
- Inter-resource proxy resolution
- Multiple root objects per resource
- Object state shared among all views of a session
- Object graph internally unconnected
- Only new and modified objects committed in a transaction
- Transactions can span multiple resources
- Demand loading of objects
- Partial loading of collections
- Adaptable pre-fetching of objects
- Asynchronous object invalidation
- Clean API to work with sessions, views, transactions and objects
- CDOResources are EObjects as well
- Objects carry meta information like id, state, version and life span
- Support for OSGi environments
- Support for standalone applications
Network protocol features
- Net4j based binary application protocol
- Pluggable transport layer
- Pluggable fail over support
- Pluggable authentication
- Multiple acceptors per server
Server side features
- Pluggable storage adapters
- Multiple repositories per server
- Multiple models per repository
- Multiple resources per repository
- Expressive XML configuration file
- Configurable storage adapter per repository
- Configurable caching per repository
- Clean API to work with repositories, sessions, views, transactions and revisions
- Support for OSGi environments
- Support for standalone applications