По новой ветке:
- Разделение на API и реализацию
- Полнота API
- Дробление на пакеты, создание конфигураторов, фабрик и т.д.
- Уникальная реализация
- Разработка механизма частичной репликации (вероятно, создание фильтров на RSS)
- Менеджмент – отдельная вещь, относящаяся к реализации. Но очень и очень хорошая вещь, нам её надо хорошо развить.
Раз Layer у обеих веток общий, надо выделить его в отдельную ветку и реализовать в виде библиотеки. Это один из ключевых компонентов репликатора. Таким образом, можно хоть сколько реализаций прикрутить.
Раз с xwiki постоянные проблемы, стоит параллельно сделать небольшое приложение для демонстрации работы репликатора (чтобы хоть что-то было показать)
Мысли вслух:
- Для репликатора (конкретно, для компонента Layer) вся необходимая информация о маппинге реплицируемых объектов содержится в отдельном xml-файле.
- По всей видимости, реализовать репликацию совсем прозрачно для приложения в общем случае не получится. Приложение имеет право хранить информацию по собственным ключам, что может противоречить другой копии такого же приложения. Также необходим список объектов, подлежащих репликации. Т.е. приложение в своей объектной модели уже должно предусматривать возможность репликации/кластеризации БД.
- Пора составлять список ограничений для приложения.