Весеннее удаленное взаимодействие / технологии веб-сервиса - PullRequest
1 голос
/ 19 марта 2012

Spring Framework предоставляет много технологий для приложений, чтобы общаться друг с другом через HTTP.

  • HTTP Invoker
  • RESTful MVC Controller
  • JAX-WS
  • Spring-WS

Что такоеразличия между ними?Какие критерии диктуют, какой выбрать?

Ответы [ 2 ]

1 голос
/ 19 марта 2012

JAX-WS - это стандарт, поддерживаемый JCP (Процесс сообщества Java), и каждый полнофункциональный сервер приложений реализует его (или, по крайней мере, обеспечивает реализацию для него). Он прост в использовании (вам просто нужно несколько аннотаций в конечной точке класса обслуживания), и вам не нужно беспокоиться о реализации (и ваше приложение будет нести в себе меньше зависимостей).

Spring-WS был широко распространен, когда JAX-WS находился в стадии разработки (или вообще не существовал). Он достигает того же, что и JAX-WS, но немного более громоздок. По моему опыту, он теряет адептов в пользу последних.

Службы, основанные на HTTP (как HTTP invoker и REST), утверждают, что они немного легче, чем JAX-WS (поскольку конечные точки не должны обрабатывать конверты SOAP), но не так строго типизированы, как службы на основе WSDL.

Когда мне приходится выбирать, я обычно выбираю JAX-WS, если нет веской причины для подхода на основе REST. Мне вообще не нравится HTTP Invoker, потому что это проблемы безопасности (даже если речь идет о интрасетях), но я думаю, что это своего рода личный выбор.

1 голос
/ 19 марта 2012

Если вы интегрируете свои собственные приложения и у вас есть жесткий контроль над клиентом приложения и проводной связью (например, внутрикорпоративной внутренней сетью), тогда используйте HTTP Invoker - он действительно прозрачен для приложения и прост в настройке.Http invoker через Интернет с ненадежной аутентификацией клиента (без аутентификации PKI) может быть не очень хорошей идеей, есть проблемы безопасности с использованием сериализации java, используемой в invoker.

Если invoker вам не подходитну, а это ваши собственные приложения - тогда рассмотрим REST.

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

...