Предисловие
Этой записью блога я
хочу начать цикл, в котором буду отражать все перипетии, сложности, особенности
и просто интересные факты, связанные с процессом выстраивания информационной
среды по принципам SOA.
Записи основаны на
реальных событиях одной ИТ-компании. Для простоты будем называть ее компанией X.
Сейчас я не могу
предсказать, чем это закончится, потому что процесс активно идет и пока конца
ему (в плане открывающихся возможностей) не видно.
Начало
Начало любого пути – это всегда страшно. Впереди –
неизвестность, конечная цель еще даже не видна, и, как правило, ты вообще очень
смутно представляешь ее себе. В такой момент ты должен четко представлять – а
зачем тебе куда-то идти? Что тебя не устраивает сейчас? Для компании X тоже встал такой вопрос. Небольшая предыстория…
В компании X внедрена и успешно
функционирует ECM-система,
на которую завязано довольно много бизнес-процессов. Часть этих процессов –
внутренние, а часть – выходят на клиентов и партнеров. Взаимодействие клиентов/партнеров
с информационной средой компании осуществляется через внешние сайты. Есть
внутрифирменный портал, который активно используется сотрудниками компании и
который манипулирует данными информационной системы – информация о сотрудниках
и отделах, справочная информация по организациям, новости, доступ к
корпоративной базе знаний. Также внутрифирменный портал служит тестовой
площадкой для внешних маркетинговых сайтов (которые публикуются на внешние
сервера из ECM-системы).
Таким образом, выделяются множество «потребителей»
информации, которая собрана в одном месте – ECM-системе.
Чтобы лучше понять, нарисуем схему:

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