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

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

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

  • Пружина RMI

  • Apache Camel

  • Apache ServiceMix (ESB)

  • Iona FUSE (ESB)

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

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

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

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
5
0
1 719
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

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

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

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

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

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

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

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

Другие вопросы по теме