Выполнение вызова сервисного уровня из уровня представления

Мне нужно выбрать технологию для соединения моего уровня приложения/представления (на основе Java) с уровнем обслуживания (на основе Java). В основном поиск соответствующей службы Spring из объекта бизнес-делегата.

Там так много вариантов, что это сбивает меня с толку. Вот варианты, которые я сузил, но не уверен.

  • Весна РМИ

  • Апачский верблюд

  • Apache ServiceMix (ESB)

  • Иона ФУЗЕ (ESB)

Вот что я хочу знать

  1. Если вы работали (или оценивали) любой из них, какой выбор вы считаете более подходящим? (и не мешало бы сказать почему :)
  2. Существуют ли другие технологии, на которые мне следует обратить внимание?
  3. На данный момент я не наблюдаю распространение уровней приложений и служб, но я не хочу исключать такую ​​возможность в будущем. Это хорошая идея для обеспечения такой гибкости?

Любая помощь будет полезна. Спасибо!


person a-sak    schedule 03.12.2008    source источник


Ответы (3)


В основном это сводится к тому, хотите ли вы использовать Spring Remoting (который Spring RMI и Apache Camel являются реализациями) - или вы хотите использовать JAX-WS для веб-сервисов (которые реализуют CXF или Metro). то есть вы хотите автоматическое удаленное взаимодействие для ваших POJO - или вы хотите WS с контрактами WSDL и так далее.

Как только вы определились с технологией удаленного взаимодействия; ваше следующее решение: хотите ли вы связать его внутри своего приложения в виде библиотеки (например, Spring RMI или Camel) или вы хотите развернуть его в контейнере ESB, таком как ServiceMix, чтобы иметь возможность горячего повторного развертывания модулей и так далее.

Если вы выбираете последнее, используйте Apache ServiceMix или используйте FUSE ESB, если вам нужен коммерческий дистрибутив с большим количеством документации, частыми выпусками, коммерческой поддержкой и так далее.

person James Strachan    schedule 03.12.2008

Spring Remoting может показаться самым простым подходом. Это также оставит вас открытыми для более сложных подходов в будущем, если это то направление, в котором вы хотите двигаться.

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

Принцип KISS — замечательная вещь.

person Robin    schedule 03.12.2008

Здесь вы можете найти простое решение для совместной интеграции Metro и Camel: http://www.everit.biz/web/guest/everit-blog/-/blogs/calling-a-camel-route-from-web-service-using-metro-and-tomcat?_33_redirect=/web/guest/everit-blog

person enoliking    schedule 01.07.2010