Заказчики: Росэнерготранс Электротехника и микроэлектроника Подрядчики: Бизнес Семантика Продукт: Index.CRMНа базе: index.CRM Дата проекта: 2010/08
|
Описываемый проект реализован в компании "Росэнерготранс", входящей в группу "Свердловэлектро". Профиль деятельности предприятия - разработка трансформаторов и другого оборудования для электроподстанций. Менеджеры по продажам используют в качестве основной рабочей среды систему index.CRM, основанную на сервере баз данных MySQL. В нее заносятся заявки на расчет и проектирование различных вариантов исполнения трансформаторов, которые менеджеры предлагают заказчикам. Проектировщики, выполняющие расчеты, работают в другой информационной системе, "Заказчик". Эта система основана на БД Oracle, и реализует функции документооборота заявок. Задачей интеграции является обеспечение сквозного движения заявок в этих двух системах. На приведенном ниже рисунке показана схема программных компонентов, участвующих в обмене информацией.
Процесс работы с заявками на расчет стоимости оборудования выглядит так:
- Менеджер создает документ "Заявка" в CRM-системе, прикрепляет к нему необходимые файлы.
- Документ поступает в систему "Заказчик", и передается исполнителю.
- Исполнитель выполняет расчет, прикрепляет к заявке результаты расчета, и отправляет ее по маршруту документооборота на утверждение руководителю (возможно, и другим лицам).
- Менеджер, через CRM-систему, отслеживает состояние обработки заявки. Для этого ему доступен просмотр всех событий, которые происходят с заявкой в системе "Заказчик".
- После утверждения результатов расчета, обработка заявки в системе "Заказчик" прекращается, и она возвращается менеджеру, который продолжает работу с ней в CRM-системе.
Диаграмма обмена информационными сущностями показан на рисунке ниже. Здесь их показано только три (документ "Заявка", прикрепленные к нему файлы, и события, происходящие с заявками), хотя на самом деле таких сущностей восемь - в их число также входят подписи под заявкой, которые поставили пользователи в процессе документооборота, параметры трансформаторов, и иная дополнительная информация. Всего схема обмена включает 8 классов информационных объектов, и около сотни свойств.
Обмен информацией проходит в прозрачном для пользователя режиме. Задержка между внесением данных в одной системе, и их отображением в другой, составляет не более двух минут (возможна и более высокая частота обновления, однако в целях данного проекта она является достаточной). Пользователь никак не взаимодействует с программными компонентами, осуществляющими обмен данными, работая только в интерфейсе того или иного прикладного программного продукта.
Особенностью проекта, кооторый позволяет подчеркнуть преимущества именно семантического подхода к интеграции, является тот факт, что между таблицами MySQL и Oracle нет однозначного мэппинга. Например, в системе документооборота есть такое понятие, как "Строки заявки", а в CRM его нет; с другой стороны, в CRM параметры изделия хранятся в отдельной таблице, а в системе документооборота - в той же самой. Использование адаптеров для семантической трансформации данных позволяет легко и элегантно решить эту проблему с минимальными затратами труда программиста, которая обязательно возникла бы при простой интеграции "точка-точка". Также использование семантического представления информации существенно облегчает поддержку решения, за счет того, что мы избежали написания большого количества кода, жестко привязанного к структуре той или иной базы данных.