Подключенные объекты данных - Википедия - Connected Data Objects
Подключенные объекты данных (CDO) - это бесплатная реализация Распределенная общая модель сверху Среда моделирования Eclipse (ЭДС).
С помощью CDO программисты могут легко улучшать существующие модели EMF таким образом, чтобы их можно было хранить и впоследствии поддерживать в центральном репозитории моделей. Пока реляционное отображение объектов против JDBC источник данных на стороне сервера поставляется по умолчанию, CDO обеспечивает сменные адаптеры для хранения которые позволяют разрабатывать и использовать различные картографы (например, Спящий режим - или же OODB -основан). На стороне клиента CDO обеспечивает интеграцию по умолчанию с EMF, Eclipse Modeling Framework, хотя другие интеграции моделей поверх CDO протокол тоже можно вообразить.
Особенности интеграции модели
- Интеграция EMF на уровне модели (в отличие от уровня редактирования)
- Поддержка сгенерированных моделей (просто переключите два свойства .genmodel)
- Поддержка динамических моделей (просто загрузите файл .ecore и зафиксируйте его в репозитории)
- Поддержка устаревших моделей (для скомпилированных моделей без доступа к .genmodel)
- Поддержка метамодели Ecore и потомков
Особенности пользовательского интерфейса
- Представление Eclipse для работы с сеансами CDO, транзакциями, представлениями и ресурсами
- Диалог диспетчера пакетов за сеанс
- Редактор Eclipse для работы с ресурсами и объектами
Возможности на стороне клиента
- Несколько сеансов с несколькими репозиториями на нескольких серверах
- Несколько транзакций за сеанс
- Несколько просмотров только для чтения за сеанс
- Множественные просмотры аудита за сеанс (аудит - это представление, которое показывает последовательную историческую версию репозитория)
- Несколько ресурсов на представление (представление всегда связано со своим собственным EMF ResourceSet)
- Межресурсный доверенное лицо разрешающая способность
- Несколько корневых объектов на ресурс
- Общее состояние объекта для всех представлений сеанса
- Граф объектов внутренне не связан (неиспользуемые части графа могут быть легко возвращены сборщиком мусора)
- Только новые и измененные объекты, зафиксированные в транзакции
- Транзакции могут охватывать несколько ресурсов
- Требовать загрузки объектов (ресурсы заполняются по мере навигации)
- Частичная загрузка коллекций (размер блока можно настроить за сеанс)
- Адаптивная предварительная выборка объектов (доступны различные интеллектуальные анализаторы использования)
- Асинхронный аннулирование объекта (необязательно)
- Чистый API для работы с сессиями, представлениями, транзакциями и объектами
- CDOResources также являются EObjects
- Объекты несут метаинформацию, такую как идентификатор, состояние, версию и продолжительность жизни.
- Поддержка сред OSGi (headless, Eclipse RCP, ...)
- Поддержка автономных приложений (не OSGi)
Особенности сетевого протокола
- Протокол двоичных приложений на основе Net4j
- Подключаемый транспортный уровень (поставляется с транспортом сокетов NIO и встроенным транспортом JVM)
- Подключаемая поддержка аварийного переключения
- Подключаемая аутентификация (поставляется с согласованием запроса / ответа)
- Несколько приемников на сервер
Возможности на стороне сервера
- Сменные адаптеры для хранения
- Несколько репозиториев на сервер
- Несколько моделей (пакетов) на репозиторий
- Несколько ресурсов (экземпляров документов) на репозиторий
- Выразительный XML конфигурационный файл
- Настраиваемый адаптер хранилища для каждого репозитория (см. Ниже)
- Настраиваемое кеширование для каждого репозитория
- Чистый API для работы с репозиториями, сессиями, представлениями, транзакциями и ревизиями
- Поддержка сред OSGi (обычно без головы)
- Поддержка автономных приложений (не OSGi)
Особенности магазина БД
- Поддерживает все дополнительные функции сервера CDO
- Подключаемый SQL диалектные адаптеры
- Включает поддержку Derby, HSQLDB, MySQL и Oracle (Подлежит уточнению)
- Подключаемые стратегии отображения
- Включает стратегию горизонтального сопоставления (одна таблица на конкретный класс)
- Включает стратегию вертикального сопоставления (подлежит уточнению, одна таблица на класс в иерархии)
- Поддерживает различные режимы отображения для коллекций