JAX-WS - это структура веб-служб, которая предоставляет инструменты и инфраструктуру для разработки решений для веб-сервисов для конечных пользователей и разработчиков промежуточного программного обеспечения. JAX-WS - это Java API для веб-служб XML. JAX-WS - это технология для создания веб-сервисов и клиентов, которые обмениваются данными с использованием XML. JAX-WS позволяет разработчикам писать ориентированные на сообщения, а также RPC-ориентированные веб-сервисы. В JAX-WS вызов операции веб-службы представлен протоколом на основе XML, таким как SOAP. Спецификация SOAP определяет структуру огибающей, правила кодирования и соглашения для представления вызовов и ответов веб-служб. Эти вызовы и ответы передаются как сообщения SOAP (файлы XML) через HTTP.
Существует еще один тип веб-сервиса, который называется RESTful.RESTful веб-сервисы созданы для лучшей работы в Интернете. Репрезентативный перенос состояний (REST) представляет собой архитектурный стиль, который определяет ограничения, такие как единый интерфейс, который, если применяется к веб-службе, вызывает желательные свойства, такие как производительность, масштабируемость и изменяемость, которые позволяют службам работать лучше всего в Интернете. В архитектурном стиле REST данные и функциональность считаются ресурсами и доступны с использованием унифицированных идентификаторов ресурсов (URI), как правило, ссылок в Интернете. На ресурсы воздействует набор простых, четко определенных операций. Архитектурный стиль REST ограничивает архитектуру архитектуры клиент/сервер и предназначен для использования протокола связи без состояния, обычно HTTP. В стиле архитектуры REST клиенты и серверы обмениваются представлениями ресурсов с помощью стандартизованного интерфейса и протокола.
Genrally JAX-RS используется для разработки веб-сервисов RESTful. JAX-RS - это API-интерфейс Java-программирования, разработанный для упрощения разработки приложений, использующих архитектуру REST. API JAX-RS использует аннотации языка Java для упрощения разработки веб-сервисов RESTful. Разработчики украшают файлы классов языка программирования Java с помощью аннотаций JAX-RS для определения ресурсов и действий, которые могут выполняться на этих ресурсах. Аннотации JAX-RS представляют собой аннотации времени выполнения; поэтому отражение во время выполнения генерирует вспомогательные классы и артефакты для ресурса. В архиве приложений Java EE, содержащем классы ресурсов JAX-RS, будут сконфигурированы ресурсы, создаются классы-помощники и артефакты, а ресурс открыт для клиентов путем развертывания архива на сервере Java EE.
Различные каркасы используют либо JAX-WS, либо JAX-RS. Джерси использует JAX-RS, а Metro использует JAXWS.
Спасибо Miljen. Из сети я узнал, что JAX-WS RI является эталонной реализацией спецификации JAX-WS. Но тогда что здесь означает эталонная реализация? Является ли это просто POC с помощью JAX-WS, чтобы другие люди могли ссылаться на него или на какой-то подключаемый компонент, который мы можем использовать напрямую? – emilly
@emilly Добро пожаловать. Значение ссылочной реализации является своего рода стандартом, т. Е. Охватывает (реализует) все части спецификации JAX-WS. Это определенно не POC, поскольку он включен в JDK и используется повсеместно. Он также является основой структуры Metro, которая используется во многих местах, начиная с Glassfish (где она интегрирована), до автономных реализаций, подключенных в другом месте (например, в Tomcat, см. [Эта ссылка] (https://metro.java.net/1.2/docs/install.html)) –