Подтвердить что ты не робот

Интегрирует ESB (ServiceMix/Mule) стоит кривая обучения?

Я рассматриваю интеграцию ESB в существующий веб-продукт Java/Maven. В частности, я смотрю ServiceMix и Mule. Продукт будет подключаться к нескольким различным службам, включая электронную почту, Quartz, веб-службы RESTful через HTTP, SMS и IM. Я только быстро взглянул на документацию, и эти два варианта кажутся довольно тяжеловесными и довольно сложными. Кажется, что пример учебника о том, когда использовать ESB, но я не хочу тратить много времени, просто изучая ту или иную систему.

Как я уже сказал, у меня уже есть веб-приложение, созданное Maven, и надеялся, что интеграция одной из систем будет довольно простой, даже для чего-то простого, как отправка электронной почты, но похоже, что добавление либо потянет наполовину мир с точки зрения банок и будет трудно внедрить в существующий продукт.

Стоит ли пытаться использовать один из этих вариантов? Есть ли простой способ интегрировать их в существующее приложение без его полной реструктуризации? Есть ли другие, более легкие варианты веса? Есть ли какие-то аспекты, которые я должен рассмотреть, которые сделают их использование целесообразным?

4b9b3361

Ответ 1

Mule довольно прост в использовании с точки зрения подключения сервисов вместе с XML, и у них есть много примеров видео, которые я нашел действительно полезными.

ESB должны быть в будущем, и, как вы говорите, ваш пример кажется примером учебника, где его использовать.

Я постараюсь ответить на все ваши вопросы:

Стоит ли пытаться использовать один из этих параметров? Я думаю, что это вопрос, который вам нужно задать самому себе - чего вы пытаетесь достичь? если вы пытаетесь упростить его реализацию, вероятно, потребуется то же самое время через чистый код или ESB, что при включенной настройке. Если вы думаете о том, чтобы делать это как учебное упражнение, это может быть полезно.

Есть ли простой способ интегрировать их в существующее приложение без его полной реструктуризации? Краткий ответ №. Для интеграции с большинством сторонних библиотек/фреймворков вам потребуется некоторая реорганизация.

Есть ли другие, более легкие варианты веса? Мул довольно прост. Возможно, вы сможете использовать MQ для выполнения HTTP, SMS и IM. Возможно, ActiveMQ или RabbitMQ.

Есть ли некоторые аспекты, которые я должен рассмотреть, чтобы сделать их использование целесообразным? Да, ESB предназначены для предприятий, где часто появляются новые сервисы, и конфигурация, вероятно, изменится. Наличие всего этого в XML делает это изменение немного проще. Поэтому, если вы просто создаете одноразовое программное обеспечение, это, возможно, не самый правильный путь. Но если вы будете добавлять более позднее и постоянно подключать разные службы, это может быть лучший маршрут.

Ответ 2

Вы также можете взглянуть на фреймворк Apache Camel, который действительно эффективен для всех потребностей интеграции, о которых вы говорили, без штрафов за полномасштабный ESB.

Ответ 3

Росс Мейсон, основатель проекта Mule, написал действительно хорошую статью по этой теме, В ESB или не в ESB. Я рекомендовал взглянуть на него. Кроме того, вы можете проверить Mule iBeans, который предлагает гораздо более простую модель, если вы строите это как веб-приложение и просто хотите сделать небольшая интеграция и не заинтересованы в посредничестве.

Ответ 4

Я советую не тратить свое драгоценное время на MULE. Мой опыт пока не хорош. Я бы не использовал его для какой-либо критической системы. Это далеко не зрелый продукт. Помимо того, что услуги RESTful определенно обещают большую простоту и имеют реальные варианты использования.

Ответ 5

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

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

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

С точки зрения кривой обучения, я нашел Mule ESB достаточно прямым для подбора и, безусловно, будет гораздо более низкой кривой обучения, пытаясь изучить все необходимые API, чтобы говорить о нескольких услугах, которые вы пытаетесь подключиться к.