Первая версия
Текущее состояние:
Реализована основная функциональность:
- Мониторинг изменений содержимого БД и сбор необходимой метаинформации.
- Обмен метаинформацией об изменениях.
- Обмен измененными объектами.
- Обработка особой ситуации – п.родолжение прерванного сеанса репликации.
- Обновление служебной информации (время последней удачной репликации).
- Интерфейс управления процессом репликации.
Дальнейшие действия
- Подготовка доклада к МНСК – выполнено
- Очистить ветку от неиспользуемого кода.
- Реализовать сжатие пересылаемых по сети данных. – выполнено
- Составить и утвердить список требований к организации БД.
- Модифицировать БД Xwiki в соответствии с описанными требованиями.
- Разработать утилиту для создания метаинформации для уже существующей БД.
- Тестирование системы (возможно, создание автоматических тестов, покомпонентных тестов).
- Реализовать развертывание системы на чистом сервере (создание установочных скриптов для unix и windows). – первая версия скрипта развертывания написана на apache ant-е.
- Создание документации пользователя и технической документации.
- Доработка и усовершенствование управляющего интерфейса
Подробнее
- Реализовать сохранение настроек, вносимых с панели администрирования, в базу банных
- Переработать страницу, отображающую процесс репликации.
- Доработать алгоритм составления глобальных идентификаторов – решено
- Проработка способа удаления объекта при репликации
(Для удаления записей об объекте необходима информация о том, что этот объект был удален на всех узлах. Именно для этого необходим управляющий узел. Либо придется удалять запись по таймауту, например, через месяц)
- Придумать, как сократить размер hibernateId. (решение придумано)
Летняя практика
1. Разработать способ работы со связанными и «сборными» объектами БЕЗ модификации исходного приложения.
2. Решить проблему с кэшированием данных в приложении (сброс кэша после репликации или его синхронизация с содержимым БД)
3. Прохождение модифицированной библиотекой Hibernate Unit-тестов оригинальной версии (для обеспечения полной прозрачности модификации)
4. Дальнейшее развитие интерфейса управления (панель администрирования)
5. Продумать новый способ работы с идентификаторами Hibernate (не BLOB)
После решения проблемы с xwiki главной целью будет сборка проекта, его тестирование и демонстрация. Попутно будет разрабатываться новая архитектура, поддерживающая заявленные особенности, такие как автоматизация процесса репликации, частичная репликация. В дополнение к самому репликатору планируется создать также и специальную утилиту для индексации уже существующей БД. Также возможна разработка клиентских GUI-приложений для репликации или плагинов для уже существующих систем.
Метод разделения таблиц показал свою работоспособность
Способы решения проблемы маппинга в одну строку
- Создание нового объекта, агрегирующего все объекты xwiki, отображаемые в одну строку базы данных. (Super Object)
- Разделение таблицы на две, исправление соответствующего кода в xwiki.
- Поддержка подобных транзакций на уровне Layer'а подробнее?
Примерно 27 марта – провести собрание, где окончательно принять способ решения проблемы с xwiki и обсудить остальные проблемы и ошибки.
Вторая версия
необходимо организационное собрание
- Проработка новой архитектуры