Интеграция корпоративных информационных систем с помощью Mule ESB

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

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

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

К счастью уже имеется базовое ПО для выполнения подобной интеграции, MULE ESB. Mule ESB — это легковесная интеграционная платформа (сервисная шина предприятия - ESB), которая позволяет разработчику объединять различные информационные системы на основе принципов обмена сообщениями (message routing), сопоставления данных (data mapping), управления сообщениями (orchestration), надежности (контроль за обменом сообщениями), защиты (использование https и опциональных коннекторов) и масштабирования между узлами (коннекторами).

Mule ESB предоставляет разработчикам простой и эффективный инструмент, позволяющий интегрировать приложения и сервисы с минимальными затратами. Mule ESB является открытым программным обеспечением (CPAL-лицензия) что позволяет использовать его даже небольшим компаниям без больших финансовых затрат.

Нашими специалистами была выполнена интеграция информационных систем (1С и внешние сервисы) для федеральной сети розничных магазинов на базе MULE ESB CE.

Были разработаны архитектурные решения:

  • двухуровневая система логирования всех операций (родительская операция и дочерние операции);
  • автоматическое построение маршрутов доставки на основе метаданных, хранящихся в БД;
  • автоматическая конвертация данных на основе сценариев написанных на языке 1С, для этих целей был разработан метаконвертер языка сценариев из 1С в Groovy, который непосредственно выполнял конвертацию;
  • разработан MuleConnector к сторонней системе (CRM);
  • разработаны маршруты доставки данных.

Используемые технологии:

Языки программирования: Java, Groovy
Базовый фреймворк: MULE ESB
Библиотеки: Apache Commons