На пути к СОА
Рис. 1. Базовые сервисы
В одной из компаний, в которой я недавно работал, имело место большое количество самостоятельных приложений и систем.
Такое положение дел было обусловлено как величиной компании, как отсутствием единого ИТ решения для всей кoмпании, так и к подходу к разработке программного обеспечения.
Каждый раз когда одна из команд разработчиков получала задание на разработку нового приложения, приходилось создавать новые или в лучшем случае использовать свои (разработанный ранее) обработчик ошибок, систему управления доступом, аудит и другие общие модули приложения.
Конечно же это проблема менеджмента и неверный подход к управлению проектами в целом. Вот ещё один пример. Новая компании запускает новый проект. Разработчики сталкиваются с той же проблемой, отсутствием технических сервисов или нехваткой времени на их разработку ибо надо выдать быстрый результат для бизнеса. В результате чего команда решает, в лучшем случае, разработать их позже.
Конечно же существуют много полезных продуктов для логирования, аудита, управления доступом и так далее. Но все эти продукты необходимо изучить и заставить работать вместе и не факт, что компании разработавшие эти компоненты будут продолжать их поддержку.
Таким образом , мною было принято решение на создание продукта базовых, интегрированных между собой сервисов как в помощь себе, так и в помощь другим заинтересованным лицам.
К числу этих сервисов относятся следующие (смотрите также и на диаграму 1.): Сервис кеширования данных, управление многоязычным контентом,
управление настройками многоязычности, синхронизация времени в системе, логирование, аудит и обработка ошибок,
управление доступом к ресурсам для пользователей системы, нотификация, управление настройками,
управление состоянием объектов, статистика и другие.