# Introduction

Author: Eike Stepper

CDO is a model repository and distributed shared model framework for EMF models. It enables collaborative editing of EMF models in a distributed environment, providing features such as transactions, versioning, and branching.

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:

- The Plug-in Development Environment Guide provides information about developing Eclipse plug-ins.
- The EMF Documentation provides comprehensive information about EMF concepts and APIs.
- The Net4j Signalling Platform Documentation explains the underlying communication framework used by CDO.
- The Net4j DB Framework Documentation explains the database access framework used by CDO.
- The Net4j Utilities Documentation explains various utility classes used by CDO.

This documentation about CDO programming is split into two main parts:

- Developing Client Applications: A guide for developing client applications that use CDO to store and manage EMF models in a distributed environment.
- Developing Server Applications: A guide for developing server applications that provide CDO repositories for client applications.

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.

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.

Copyright (c) 2004-2025 Eike Stepper (Loehne, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html