Проблемы интеграции и их решение… Или коротко о Scribe

Рано или поздно любой разработчик сталкивается с необходимостью интеграции ПО. Когда это всего один обмен, то никаких проблем обычно не возникает. Берем необходимую библиотеку, охапку костылей, смешиваем и взбалтываем – обмен готов. Но когда у вас средний бизнес и количество приложений уже не два, а несколько больше, да и на доработку, поддержку и развитие интеграций между двумя приложениями тратится уже много времени, приходит время задуматься об унификации, документировании, повышении прозрачности интеграций.
   

И тут существует два подхода: либо продолжать писать свои велосипеды, либо воспользоваться решениями класса ESB.  Основная проблема в том, что эти решения заточены под крупный бизнес и ценники их совсем не гуманны. С другой стороны, можно взять набор библиотек Apache camel, хорошего разработчика, системного администратора и….вернуться к своим велосипедам.

 

Когда я первый раз столкнулся со Scribe, мы разрабатывали высоконагруженную интеграцию между двумя ERP системами (западной и российской), и я был слишком увлечен разработкой своего велосипеда, чтобы оценить продукт, – и просто отмахнулся от него. Но через некоторое время, столкнувшись с очередной интеграцией, я вспомнил про Scribe и решил более детально ознакомиться с продуктом.

 

Что же заставило меня вернуться к этому продукту? Во-первых, из коробки предоставляются адаптеры к большому числу западных ERP и CRM систем, плюс адаптеры для нативной работы с БД, web-сервисами и даже файликами. И всё это в удобной графической среде, без программирования.  Просто выбираешь источник, приемник, настраиваешь связи и ключи – и всё работает, даже красивые видео есть. Платформа представлена в двух вариантах – локальная и облачная (iPaaS). Всё выглядело красиво и многообещающе – ну, что же, пришло время проверить, так ли всё хорошо на самом деле. Запросив лицензию на 30 дней и получив её в течении получаса, я приступил к разработке.

 

У меня было две системы: одна – самописная логистика, на базе MSSQL server, вторая – CRM от Microsoft, и задача: передать контрагентов из CRM в логистическую систему. Я использовал локальную версию Scribe Insight, установка не заняла много времени – в комплекте идет детальное руководство по установке,  SQL 2012 express, но система отлично работает и с 2014, а также с 2016 RC. Запускаю, иду по шаблону, выбираю адаптер для CRM,  5 минут настройки – и готово. Выбираю  для приемника SQL адаптер, получаю дерево таблиц, выбираю, в какую буду лить данные, устанавливаю связи и ключи, тыкаю Test connection – и всё работает. Данные переливаются в таблицу. На следующее утро у меня был готовый прототип интеграции. Конечно, потребовалась небольшая доработка со стороны самописной логистики, добавился уникальный идентификатор для синхронизации данных с CRM, но даже вместе с установкой сервера Scribe это заняло гораздо меньше времени, чем разработка сервисов с обеих сторон.

 

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