Chilim/ПланДействий

Первая версия

Текущее состояние:

Реализована основная функциональность:
  1. Мониторинг изменений содержимого БД и сбор необходимой метаинформации.
  2. Обмен метаинформацией об изменениях.
  3. Обмен измененными объектами.
  4. Обработка особой ситуации – п.родолжение прерванного сеанса репликации.
  5. Обновление служебной информации (время последней удачной репликации).
  6. Интерфейс управления процессом репликации.

Дальнейшие действия

  1. Подготовка доклада к МНСК – выполнено
  2. Очистить ветку от неиспользуемого кода.
  3. Реализовать сжатие пересылаемых по сети данных. – выполнено
  4. Составить и утвердить список требований к организации БД.
  5. Модифицировать БД Xwiki в соответствии с описанными требованиями.
  6. Разработать утилиту для создания метаинформации для уже существующей БД.
  7. Тестирование системы (возможно, создание автоматических тестов, покомпонентных тестов).
  8. Реализовать развертывание системы на чистом сервере (создание установочных скриптов для unix и windows). – первая версия скрипта развертывания написана на apache ant-е.
  9. Создание документации пользователя и технической документации.
  10. Доработка и усовершенствование управляющего интерфейса

Подробнее
  1. Реализовать сохранение настроек, вносимых с панели администрирования, в базу банных
  2. Переработать страницу, отображающую процесс репликации.
  3. Доработать алгоритм составления глобальных идентификаторов – решено
  4. Проработка способа удаления объекта при репликации
    (Для удаления записей об объекте необходима информация о том, что этот объект был удален на всех узлах. Именно для этого необходим управляющий узел. Либо придется удалять запись по таймауту, например, через месяц)
  5. Придумать, как сократить размер hibernateId. (решение придумано)

Летняя практика

1. Разработать способ работы со связанными и «сборными» объектами БЕЗ модификации исходного приложения.
2. Решить проблему с кэшированием данных в приложении (сброс кэша после репликации или его синхронизация с содержимым БД)
3. Прохождение модифицированной библиотекой Hibernate Unit-тестов оригинальной версии (для обеспечения полной прозрачности модификации)
4. Дальнейшее развитие интерфейса управления (панель администрирования)
5. Продумать новый способ работы с идентификаторами Hibernate (не BLOB)


После решения проблемы с xwiki главной целью будет сборка проекта, его тестирование и демонстрация. Попутно будет разрабатываться новая архитектура, поддерживающая заявленные особенности, такие как автоматизация процесса репликации, частичная репликация. В дополнение к самому репликатору планируется создать также и специальную утилиту для индексации уже существующей БД. Также возможна разработка клиентских GUI-приложений для репликации или плагинов для уже существующих систем.

Метод разделения таблиц показал свою работоспособность

Способы решения проблемы маппинга в одну строку

  1. Создание нового объекта, агрегирующего все объекты xwiki, отображаемые в одну строку базы данных. (Super Object)
  2. Разделение таблицы на две, исправление соответствующего кода в xwiki.
  3. Поддержка подобных транзакций на уровне Layer'а подробнее?

Примерно 27 марта – провести собрание, где окончательно принять способ решения проблемы с xwiki и обсудить остальные проблемы и ошибки.

Вторая версия


необходимо организационное собрание

  1. Проработка новой архитектуры