Могу ли я использовать Mule, Apache Camel, ServiceMix или другой ESB для решения моей проблемы? - PullRequest
0 голосов
/ 13 июля 2011

У меня должна быть своего рода система посредников / маршрутизации, которая должна взаимодействовать с несколькими системами в бэкэнде.Это будет выглядеть так:

    Client 
      |
      |
 --Mediator-  
 |   |     |
 |   |     |

Sys A Sys B SysC .....

Теперь клиент вызывает несколько методов на посреднике через http (http://foo/bar?id=1), и они должныбыть направленным в систему, настроенную где-то (возможно, xml-файл или что-то подобное)

Теперь у меня также есть требование, чтобы система и некоторые методы были способны обрабатывать аутентификацию, так что http://foo/loginи посредник должен вернуть токен, который может использоваться при последующих вызовах, таких как http://foo/secretbar.Если токен не предоставлен, вызовы должны возвращать конкретную ошибку.

Я хочу иметь гибкое, простое, расширяемое решение, так как системы в бэкэнде не всегда говорят на одном языке (некоторые JMS, некоторые FTP, ...).Сейчас я читаю о вышеупомянутых продуктах и ​​хочу знать, подходят ли некоторые из них для моего варианта использования.Я знаю, что они могут говорить / перенаправлять сообщения в другие системы, но я не нашел ни одного примера проблемы аутентификации (возможно, я тоже не выполнил поиск;).Есть ли системы, которые не способны на это?Или в какие документы мне лучше присмотреться к моим требованиям?

Ответы [ 3 ]

1 голос
/ 13 июля 2011

Верблюд определенно может помочь вам с этим. Servicemix также, но это больше контейнер для размещения этих сервисов (обычно написано на Camel). Camel определенно проще и может работать автономно, встроен в сервер приложений или OSGI-контейнер и т. Д.

см. Страницу camel-jetty для получения дополнительной информации о настройке аутентификации с помощью конечной точки HTTP / Jetty в Camel

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

см. На странице Компоненты Camel полный список компонентов, реализованных компанией Camel для взаимодействия с различными технологиями ((jms, file, http, jdbc, ftp и т. Д.).

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

Apache Camel и другие продукты ESB

0 голосов
/ 17 июля 2011

Мул, безусловно, может предоставить все, что вы просите, и даже больше. Во-первых, вы можете легко изменить маршрутизацию Mule с помощью XML Spring. Во-вторых, Мул выходит из коробки с большим «нет». транспортов, включая ActiveMQ, FTP и HTTP / s. В-третьих, операции могут быть представлены вашим клиентам в виде сервисов RESTful или веб-сервисов благодаря модулям Mule's Jersey и CXF. И последнее, но не менее важное: Mule позволяет использовать один и тот же объект для всех клиентских запросов через XML-элемент singleton-object. Этот элемент поможет вам с вашими потребностями в аутентификации, поскольку он может использоваться для хранения токена безопасности клиента на время сеанса клиента. По совпадению, мы недавно разработали демонстрационное приложение Mule, которое очень похоже на ваш вариант использования. Мы планируем сделать код общедоступным, но пока вы можете найти больше информации об этом приложении на http://androidmulecrm.muleion.com/.

0 голосов
/ 14 июля 2011

Camel предоставляет и camel-http, и camel-jetty, но вы ограничены в способах их настройки. Кажется, вам нужен какой-то сеанс для обработки вашей аутентификации, было бы более консервативным написать собственный сервлет и передать запрос верблюду из сервлета. но вы также можете использовать поддержку сессии Camel-Jetty и получить доступ к сессии для обработки аутентификации внутри процессора: больше здесь: Cammel-Jetty

...