Introduction |
![]() |
CDO is a repository and distributed shared-model framework for EMF. It stores model objects and their relationships centrally so multiple clients can work with the same model while keeping local object graphs in ordinary EMF ResourceSets. A client session connects to a repository; views read a repository state and transactions edit a branch head and publish a change set as a commit. Repositories can also retain history and expose branches when their storage configuration supports those capabilities.
This documentation is intended for developers who want to use CDO in their applications. It assumes that you have a basic understanding of EMF, Net4j and Java development with Eclipse. Here are some pointers to other documentation that may be helpful:
This guide separates three kinds of work. Client programming covers connecting, loading, observing, and changing models. Server programming covers embedding or extending a repository server. Workspace preparation and source installation cover development setup; operating a deployed server, including its configuration and maintenance, belongs to the Operator's Guide.
The guide has two main programming parts:
Before diving into CDO programming, it is essential to understand some key concepts that form the foundation of CDO. They are explained in Understanding the Key Concepts.
Instructions for preparing your development environment are provided in Preparing the Workspace. This includes setting up your Eclipse workspace with the necessary dependencies.
Instructions for preparing your EMF models for use with CDO are provided in Preparing the Models. This includes creating Ecore models and generating CDO-enabled code.
For a first client application, continue with the client session chapter, then open a view for reading or a transaction for changes. Follow Working with Transactions for commit, rollback, and cleanup. The remaining client chapters explain specific topics such as synchronization, locking, history, notifications, and integration with other EMF-based frameworks.
For server development, start with Server Architecture to understand the components and their ownership, then read CDO Server Application and Startup for the packaged server lifecycle. Continue with managed containers, application extensions, and repository creation when building an embedded or extended server. Use the Operator's Guide for deployment configuration.
At the end of this Programmer's Guide, you find the chapter Installing the Sources with instructions for installing the CDO sources into your workspace. This is only necessary if you want to work on CDO itself or want to analyze the commit history of CDO.