Выполнение вызова сервисного уровня из уровня представления
Вопрос
Я должен выбрать технологию для подключения моего Уровень приложения / презентации (На основе Java) с помощью Уровень обслуживания (На основе Java).В основном ищет соответствующую службу Spring из объекта Business Delegate.
Существует так много вариантов, что это сбивает меня с толку.Вот варианты, которые я сузил, но не уверен..
Весенний RMI
Верблюд - апач
Apache ServiceMix (ESB) Сервис-микс Apache (ESB)
Ионный ПРЕДОХРАНИТЕЛЬ (ESB)
Вот что я хочу знать
- Если вы работали над любым из них (или оценивали), какой выбор Вы считаете более подходящим?(и не мешало бы сказать мне, почему :)
- Существуют ли другие технологии, на которые мне также следует обратить внимание?
- На данный момент я так и делаю не смотрите, как распространяется уровень приложений и сервисов, но я не хочу исключать эту возможность в будущем.Хорошая ли это идея для разработки, чтобы обеспечить такую гибкость?
Любая помощь была бы полезна.Спасибо!
Решение
В основном это сводится к тому, хотите ли вы использовать Spring Remoting (какой Spring RMI и Верблюд - апач являются реализациями) - или вы хотите использовать JAX-WS для веб-сервисов (которые реализуют CXF или Metro).т. е.хотите ли вы автоматическое удаленное управление для ваших POJOs - или вы хотите WS с контрактами WSDL и так далее.
Как только вы определитесь с технологией удаленного взаимодействия;ваше следующее решение заключается в том, хотите ли вы объединить его внутри вашего приложения в виде библиотеки (напримерSpring RMI или Camel) - или вы хотите развернуть его в контейнере ESB, таком как ServiceMix, чтобы иметь возможность горячего повторного развертывания модулей и так далее.
Если вы выбираете последнее, то используйте Apache ServiceMix - или используйте FUSE ESB, если вам нужен коммерческий дистрибутив с большим количеством документации, частыми выпусками, коммерческой поддержкой и так далее.
Другие советы
Удаленное использование Spring может показаться самым простым подходом.Это также оставило бы вас открытыми для более сложных подходов в будущем, если это то направление, которое вы хотите избрать.
Исходя из ограниченного представления о ваших требованиях, я бы предпочел простое решение с более низкой кривой обучения и оставил ESB до тех пор, пока вы не решите, что оно вам действительно нужно.
Принцип ПОЦЕЛУЯ - замечательная вещь.
Здесь вы можете найти простое решение для совместной интеграции Metro и Camel: http://www.everit.biz/web/guest/everit-blog/-/blogs/calling-a-camel-route-from-web-service-using-metro-and-tomcat?_33_redirect=/веб/гостевой/everit-блог