Связанные объекты данных

Connected Data Objects ( CDO ) — это бесплатная реализация распределенной общей модели на основе Eclipse Modeling Framework (EMF).

С помощью CDO программисты могут легко улучшить существующие модели EMF таким образом, чтобы их можно было хранить и впоследствии поддерживать в центральном репозитории моделей. В то время как объектно-реляционное отображение с источником данных JDBC на стороне сервера является поставляемым по умолчанию, CDO предоставляет подключаемые адаптеры хранения , которые позволяют разрабатывать и использовать различные преобразователи (например, основанные на Hibernate или 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 (TBD)
  • Подключаемые стратегии картирования
  • Включает стратегию горизонтального картирования (одна таблица на конкретный класс)
  • Включает стратегию вертикального сопоставления (TBD, одна таблица на класс в иерархии)
  • Поддерживает различные режимы отображения коллекций
  • Домашняя страница CDO
Получено с "https://en.wikipedia.org/w/index.php?title=Connected_Data_Objects&oldid=973881314"