Тонни,
Только что пришедший из очень похожего и успешного проекта, пожалуйста, позвольте мне поделиться с вами своим опытом, чтобы сэкономить вам время и вашей компании немного денег. Прежде всего, ESB были действительно хорошей идеей 8 лет назад, когда они были предложены. И они решили важную проблему: как вы определяете бизнес-проблему таким образом, чтобы ее понимали эти надоедливые программисты? Цель состояла в том, чтобы разработать систему, которая позволила бы деловому человеку создать программное решение с минимальным или вообще не требующим взаимодействия с разработчиком, которое могло бы высосать деньги, лучше потраченные на управленческие бонусы.
Чтобы ответить на это, хорошие люди во многих организациях придумали JBI, BPMN и множество других решений, которые позволяют деловым людям моделировать бизнес-процессы, которые они хотели «оцифровать». Но на самом деле все они были несовершенны на очень критическом уровне: они решали проблемы бизнеса, но не проблемы интеграции. Таким образом, многие из этих реализаций были безуспешны, если не были сделаны каким-либо дорогостоящим консультантом, и даже тогда ваши перспективы были отрывочны.
В то же время некоторые очень умные люди в самом конце 90-х годов опубликовали книгу под названием «Шаблоны корпоративной интеграции», в которой было выявлено более 60 шаблонов проектирования, используемых для решения общих проблем интеграции. Многие из тех, кто занимается ESB, поняли, что их проблема не в бизнес-моделировании. Скорее проблема заключалась в том, как интегрировать свои существующие приложения. Чтобы помочь решить эту проблему, Майкл Стрэчан и некоторые действительно умные ребята основали проект Apache Software Foundation «Camel». Camel - это строгая реализация шаблонов Enterprise Integration Patterns в дополнение к огромному количеству компонентов, разработанных для того, чтобы позволить таким людям, как вы и я, объединять все вместе.
Итак, если вы считаете свой бизнес-процесс просто необходимостью отправлять данные из одного приложения в другое с соответствующими преобразованиями данных между ними, то Camel - ваш ответ. Теперь, что, если вы хотите основать «маршрут» (определенную серию конечных точек приложения, которую вы хотите отправить с помощью данных) из набора настраиваемых правил в базе данных? Ну, верблюд тоже может это сделать! Для этого есть конечная точка! Во всяком случае, не делайте традиционного ESB, его старый и сломанный. И Абсолютно сделай верблюжью вещь.
Пожалуйста, дайте мне знать, если это поможет.