English version
+7(343) звоните:2 110 256

Пример интеграции CRM и системы документооборота (MySQL, Oracle) при помощи продукта "Бизнес Семантика"

Описываемый проект реализован в компании "Росэнерготранс", входящей в группу "Свердловэлектро". Профиль деятельности предприятия - разработка трансформаторов и другого оборудования для электроподстанций. Менеджеры по продажам используют в качестве основной рабочей среды систему index.CRM, основанную на сервере баз данных MySQL. В нее заносятся заявки на расчет и проектирование различных вариантов исполнения трансформаторов, которые менеджеры предлагают заказчикам. Проектировщики, выполняющие расчеты, работают в другой информационной системе, "Заказчик". Эта система основана на БД Oracle, и реализует функции документооборота заявок. Задачей интеграции является обеспечение сквозного движения заявок в этих двух системах. На приведенном ниже рисунке показана схема программных компонентов, участвующих в обмене информацией.

 

Процесс работы с заявками на расчет стоимости оборудования выглядит так:

  • Менеджер создает документ "Заявка" в CRM-системе, прикрепляет к нему необходимые файлы.
  • Документ поступает в систему "Заказчик", и передается исполнителю.
  • Исполнитель выполняет расчет, прикрепляет к заявке результаты расчета, и отправляет ее по маршруту документооборота на утверждение руководителю (возможно, и другим лицам).
  • Менеджер, через CRM-систему, отслеживает состояние обработки заявки. Для этого ему доступен просмотр всех событий, которые происходят с заявкой в системе "Заказчик".
  • После утверждения результатов расчета, обработка заявки в системе "Заказчик" прекращается, и она возвращается менеджеру, который продолжает работу с ней в CRM-системе.

Диаграмма обмена информационными сущностями показан на рисунке ниже. Здесь их показано только три (документ "Заявка", прикрепленные к нему файлы, и события, происходящие с заявками), хотя на самом деле таких сущностей восемь - в их число также входят подписи под заявкой, которые поставили пользователи в процессе документооборота, параметры трансформаторов, и иная дополнительная информация. Всего схема обмена включает 8 классов информационных объектов, и около сотни свойств.

Обмен информацией проходит в прозрачном для пользователя режиме. Задержка между внесением данных в одной системе, и их отображением в другой, составляет не более двух минут (возможна и более высокая частота обновления, однако в целях данного проекта она является достаточной). Пользователь никак не взаимодействует с программными компонентами, осуществляющими обмен данными, работая только в интерфейсе того или иного прикладного программного продукта.

Особенностью проекта, кооторый позволяет подчеркнуть преимущества именно семантического подхода к интеграции, является тот факт, что между таблицами MySQL и Oracle нет однозначного мэппинга. Например, в системе документооборота есть такое понятие, как "Строки заявки", а в CRM его нет; с другой стороны, в CRM параметры изделия хранятся в отдельной таблице, а в системе документооборота - в той же самой. Использование адаптеров для семантической трансформации данных позволяет легко и элегантно решить эту проблему с минимальными затратами труда программиста, которая обязательно возникла бы при простой интеграции "точка-точка". Также использование семантического представления информации существенно облегчает поддержку решения, за счет того, что мы избежали написания большого количества кода, жестко привязанного к структуре той или иной базы данных.