Вопрос о веб-службе Java JAX-RS

  1. В чем разница между классом, аннотированным @Path, и классом, аннотированным @WebService (что такое реализация конечной точки службы)?

После прочтения документации @WebService используется с SOAP, где @Path для REST.

  1. Любой простейший пример REST в java с веб-клиентом потребляет ресурсы из службы в том же приложении? Каков метод связи между клиентом и веб-службой?

Спасибо.


person nicholas    schedule 05.06.2011    source источник


Ответы (1)


@Path предназначен для служб JAX-RS (т. е. интерфейса REST), а @WebService — для служб JAX-WS (т. е. интерфейса SOAP). В принципе, вполне возможно иметь оба в одном классе — формально между ними нет взаимодействия — хотя на практике мне кажется проще иметь почти ничего общего между двумя сервисными интерфейсами; REST и SOAP, похоже, имеют совершенно разные ожидания в деталях.

В REST клиенты общаются с серверами через HTTP. Значительная часть REST во многом просто использует HTTP. Я бы никогда не хотел использовать REST для связи между клиентом и сервером в одном и том же процессе; все это проходит через части веб-сервера только для того, чтобы перейти от одного объекта к другому? Как много работы, когда вы можете сделать прямой вызов метода…

person Donal Fellows    schedule 05.06.2011
comment
Что вы имеете в виду, я никогда не хотел бы пытаться использовать REST для связи между клиентом и сервером в одном и том же процессе; все это проходит через части веб-сервера только для того, чтобы перейти от одного объекта к другому? - person nicholas; 05.06.2011
comment
@peter: я имею в виду, что у меня нет причин когда-либо вызывать интерфейс REST из того же веб-приложения. Слишком много накладных расходов, недостаточно прироста функциональности. Концептуально более разумно размещать веб-приложения в одном контейнере, но обычно я бы так не делал, поскольку фактически выполнял бы развертывание на разных серверах. - person Donal Fellows; 10.06.2011
comment
Спасибо за ваш комментарий. Это действительно полезно. - person nicholas; 11.06.2011
comment
Как вы вызываете веб-службу как приложение B из приложения A (предпочитаете сервлет подхода или жесткий код в пользовательском интерфейсе в приложении A)? - person nicholas; 13.06.2011