Connected Data Objects

Connected Data Objects

CDO is a free implementation of a Distributed Shared Model on top of the Eclipse Modeling Framework (EMF).

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 (like Hibernate- or OODB-based). 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.

Contents

Model Integration Features

  • EMF integration at model level (as opposed to the edit level)
  • Support for generated models (just switch two .genmodel properties)
  • Support for dynamic models (just load .ecore file and commit to repository)
  • Support for legacy models (for compiled models without access to .genmodel)
  • Support for the Ecore meta 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 (an audit is a view that shows a consistent, historical version of a repository)
  • Multiple resources per view (a view is always associated with its own EMF ResourceSet)
  • Inter-resource proxy resolution
  • Multiple root objects per resource
  • Object state shared among all views of a session
  • Object graph internally unconnected (unused parts of the graph can easily be reclaimed by the garbage collector)
  • Only new and modified objects committed in a transaction
  • Transactions can span multiple resources
  • Demand loading of objects (resources are populated as they are navigated)
  • Partial loading of collections (chunk size can be configured per session)
  • Adaptable pre-fetching of objects (different intelligent usage analyzers are available)
  • Asynchronous object invalidation (optional)
  • 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 (headless, Eclipse RCP, ...)
  • Support for standalone applications (non-OSGi)

Network Protocol Features

  • Net4j based binary application protocol
  • Pluggable transport layer (shipped with NIO socket transport and JVM embedded transport)
  • Pluggable fail over support
  • Pluggable authentication (shipped with challenge/response negotiation)
  • Multiple acceptors per server

Server Side Features

  • Pluggable storage adapters
  • Multiple repositories per server
  • Multiple models (packages) per repository
  • Multiple resources (instance documents) per repository
  • Expressive XML configuration file
  • Configurable storage adapter per repository (see below)
  • Configurable caching per repository
  • Clean API to work with repositories, sessions, views, transactions and revisions
  • Support for OSGi environments (usually headless)
  • Support for standalone applications (non-OSGi)

DB Store Features

  • Supports all optional features of the CDO Server
  • Pluggable SQL dialect adapters
  • Includes support for Derby, HSQLDB, MySQL and Oracle (TBD)
  • Pluggable mapping strategies
  • Includes horizontal mapping strategy (one table per concrete class)
  • Includes vertical mapping strategy (TBD, one table per class in hierarchy)
  • Supports different mapping modes for collections

External links


Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Look at other dictionaries:

  • Connected-component labeling — (alternatively connected component analysis, blob extraction, region labeling, blob discovery, or region extraction) is an algorithmic application of graph theory, where subsets of connected components are uniquely labeled based on a given… …   Wikipedia

  • Data synchronization — is the process of establishing consistency among data from a source to a target data storage and vice versa and the continuous harmonization of the data over time. It is fundamental to a wide variety of applications, including file… …   Wikipedia

  • Data file — A data file is a computer file which stores data to use by a computer application or system. It generally does not refer to files that contain instructions or code to be executed (typically called program files), or to files which define the… …   Wikipedia

  • Microsoft Data Access Components — MDAC redirects here. For other uses, see MDAC (disambiguation). MDAC (Microsoft Data Access Components) Microsoft Corporation s MDAC provides a uniform framework for accessing a variety of data sources on their Windows platform. Developer(s)… …   Wikipedia

  • Holistic Data Management — (HDM) framework is AHISDATA indigenous standard for implementing software implementations within an organization network. This framework extends the existing data management solutions such as data quality, data governance, data integration, data… …   Wikipedia

  • Pure Data — (or Pd) is a graphical programming language developed by Miller Puckette in the 1990s for the creation of interactive computer music and multimedia works. Though Puckette is the primary author of the software, Pd is an open source project and has …   Wikipedia

  • Core Architecture Data Model — Example of a CADM Diagram for Overview and Summary Information (AV 1) of the DoDAF.[1] Core Architecture Data Model (CADM) in Enterprise Architecture is a logical data model of information used to describe and build architectures …   Wikipedia

  • Astrophysics Data System — Logo of the ADS The Astrophysics Data System (usually referred to as ADS), developed by the National Aeronautics and Space Administration (NASA), is an online database of over eight million astronomy and physics papers from both peer reviewed and …   Wikipedia

  • Doubly connected edge list — The doubly connected edge list (DCEL) is a data structure to represent an embedding of a planar graph in the plane and polytopes in 3D. This data structure provides efficient manipulation of the topological information associated with the objects …   Wikipedia

  • Clustering high-dimensional data — is the cluster analysis of data with anywhere from a few dozen to many thousands of dimensions. Such high dimensional data spaces are often encountered in areas such as medicine, where DNA microarray technology can produce a large number of… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”