В продолжении серии «Через тернии к звездам»
Сервисы
Вариант выделение отдельных ECM-систем, рассмотренный в «Делении»,
имеет существенные недостатки.
Другой вариант решения проблемы, который обходит основные
проблемы деления – выделение узкоспециализированных сервисов, которые выполняют
максимально конкретные функции. При этом все используемые данные хранятся в
единой ECM-системе.
Поясню на рисунке:

Выделяется ряд специализированных сервисов, максимально
конкретных: сервисы выгрузки определенной информации в xml, сервисы инициализации в ECM-системе конкретных
процессов (используя workflow),
сервисы контроля выгрузки данных и синхронизации.
Сервисы выгрузки данных используются для синхронизации данных
между ECM-системой и
базой данных сайта взаимодействия (база построена на xml).
Какие преимущества и недостатки дает нам такой подход
построения архитектуры? Сначала о плюсах:
● Каждый
сервис заточен на решение строго конкретной задачи, поэтому разработку и
поддержку различных сервисов можно распределить между несколькими сотрудниками
с различным уровнем квалификации;
● Решаем
вопрос недоступности ECM-системы
(одна из проблем, описанная в «Начале») –
необходимые данные выгружаются непосредственно на сайт.
● Снижение
стоимости администрирования по сравнению с прошлым вариантом.
А
теперь о недостатках:
● Сервисы
должны тесно интегрироваться в ECM-систему,
вплоть до вызовов методов сервиса в событиях ECM-системы, т.е. меняется разработка, которую в том числе нужно
поддерживать.
● Смещаются
акценты администрирования, теперь сложности возникает в большом числе
администрируемых объектов, хотя, как было сказано выше – эти обязанности легко
можно распределить.
В следующей записи рассмотрим вариант развития этого решение
с выделением «агрегирующих» и специализированных сервисов, не связанных
напрямую с двумя концами пути «источник данных» - «потребитель данных».