Выполнение вызова сервисного уровня из уровня презентации - PullRequest
5 голосов
/ 03 декабря 2008

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

Есть так много вариантов, что меня смущает. Вот варианты, которые я сузил, но не уверен ..

  • Пружина RMI

  • Apache Camel

  • Apache ServiceMix (ESB)

  • Iona FUSE (ESB)

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

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

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

Ответы [ 3 ]

3 голосов
/ 03 декабря 2008

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

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

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

2 голосов
/ 01 июля 2010

Здесь вы можете найти простое решение для объединения 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

2 голосов
/ 03 декабря 2008

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

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

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

...