У владельцев и руководства бизнеса есть 2 выхода из этого технологического тупика:
- Написать новую монолитную информационную систему, которая будет включать в себя функции уже имеющихся и эксплуатируемых систем.
- Организовать автоматический перенос и конвертацию данных между имеющимися системами без их глобального изменения.
Первый вариант требует больших капиталовложений и времени, более того, нет гарантий что новая система сможет успешно заменить уже существующие системы или что в будущем не возникнут подобные технологические трудности по переносу данных из других систем.
Второй вариант позволяет сохранить капиталовложения в уже имеющиеся системы и потребуется только разработка специального промежуточного ПО, которое будет отвечать за своевременный и надежный перенос данных из одной системы в другую и соответствующее преобразование данных.
Базовое ПО для выполнения подобной интеграции
Mule ESB — это легковесная интеграционная платформа (сервисная шина предприятия — ESB), которая позволяет разработчику объединять различные информационные системы на основе принципов обмена сообщениями (message routing), сопоставления данных (data mapping), управления сообщениями (orchestration), надежности (контроль за обменом сообщениями), защиты (использование https и опциональных коннекторов) и масштабирования между узлами (коннекторами).
Нашими специалистами была выполнена интеграция информационных систем (1С и внешние сервисы) для федеральной сети розничных магазинов на базе MULE ESB CE.
Были разработаны архитектурные решения:
- двухуровневая система логирования всех операций (родительская операция и дочерние операции);
- автоматическое построение маршрутов доставки на основе метаданных, хранящихся в БД;
- автоматическая конвертация данных на основе сценариев написанных на языке 1С, для этих целей был разработан метаконвертер языка сценариев из 1С в Groovy, который непосредственно выполнял конвертацию;
- разработан MuleConnector к сторонней системе (CRM);
- разработаны маршруты доставки данных.
Используемые технологии:
Языки программирования: Java, Groovy
Базовый фреймворк: MULE ESB
Библиотеки: Apache Commons