Автор оригинала: Pankaj Kumar.
Добро пожаловать в Учебник по веб-службам Java . Здесь мы узнаем о веб-службах , полезных концепциях веб-служб, а затем о различных типах API, которые у нас есть в Java для создания веб-служб.
Что такое веб – служба
Проще говоря, службы, к которым можно получить доступ по сети, называются веб-службами. Итак, чем это отличается от веб-приложения, они также являются службами, доступ к которым осуществляется по сети. Существует несколько атрибутов, которые проясняют это различие.
- Веб-приложения предназначены для пользователей и должны быть доступны в браузере, имеющем удобочитаемый формат, в то время как веб-сервисы предназначены для приложений для доступа к данным в формате XML, JSON и т.д.
- Веб-приложения всегда используют протокол HTTP/HTTPS, в то время как традиционные веб-службы используют протокол SOAP. В последнее время REST набирает популярность, что является стилем архитектуры и почти все время работает по протоколу HTTP/HTTPS.
- Веб-приложения не предназначены для повторного использования, в то время как это является одним из преимуществ веб-сервисов. Одна и та же веб-служба может использоваться различными видами приложений.
- Веб-приложение может обращаться к веб-службам для доступа к некоторым данным или для выполнения некоторых задач, веб-службы не могут обращаться к веб-приложениям для извлечения некоторых данных.
- Веб-приложения способны поддерживать сеанс пользователя, веб-службы не имеют состояния.
Я надеюсь, что вышеуказанные различия достаточно хороши, чтобы устранить любую путаницу с веб-приложениями и веб-сервисами. И то, и другое-разные концепции и предназначено для разных целей.
Типы веб-сервисов
Существует два типа веб-сервисов.
- SOAP: SOAP расшифровывается как Простой протокол доступа к объектам. SOAP-это стандартный отраслевой протокол на основе XML для проектирования и разработки веб-сервисов. Поскольку он основан на XML, он не зависит от платформы и языка. Таким образом, наш сервер может быть основан на JAVA, а клиент может быть на .NET, PHP и т.д., и наоборот.
- REST: REST-это архитектурный стиль для разработки веб-сервисов. В последнее время он набирает популярность, потому что у него небольшая кривая обучения по сравнению с SOAP. Ресурсы являются основными концепциями веб-служб Restful, и они однозначно идентифицируются по их URI.
Веб-службы Java
Java предоставляет свой собственный API для создания как веб-служб SOAP, так и веб-служб REST.
- JAX-WS: JAX-WS расшифровывается как Java API для веб-служб XML. JAX-WS-это Java-API на основе XML для создания серверных и клиентских приложений веб-служб.
- JAX-RS: Java API для веб-служб RESTful (JAX-RS) – это Java API для создания веб-служб REST. JAX-RS использует аннотации для упрощения разработки и развертывания веб-служб.
Оба этих API являются частью стандартной установки JDK, поэтому нам не нужно добавлять какие-либо банки для работы с ними. Оба этих API-интерфейса очень активно используют аннотации.
Приложение Hello World JAX-WS
Давайте создадим очень простое приложение Hello World JAX-WS.
Давайте создадим очень простое приложение Hello World JAX-WS.
package com.journaldev.jaxws.service; import javax.jws.WebMethod; import javax.jws.WebService; import javax.jws.soap.SOAPBinding; import javax.xml.ws.Endpoint; @WebService @SOAPBinding(style = SOAPBinding.Style.DOCUMENT) public class TestService { @WebMethod public String sayHello(String msg){ return "Hello "+msg; } public static void main(String[] args){ Endpoint.publish("https://localhost:8888/testWS", new TestService()); } }
Вот и все. Просто запустите это приложение, и наш веб-сервис Hello World JAX-WS SOAP будет опубликован. На рисунке ниже показан вызов этой веб-службы JAX-WS через SOAPUI.
Вот и все для очень простого учебника по веб-сервису JAX-WS. Ниже приведены некоторые из статей, которые вам следует прочитать для лучшего понимания веб-сервисов SOAP и JAX-WS.
- Учебник по JAX-WS
- Развертывание веб-службы JAX-WS на Tomcat
- Пример веб-службы SOAP с использованием Eclipse и оси Apache
- Учебник по веб-службам Apache Axis2
Приложение Hello World JAX-RS
Джерси является эталонной реализацией API JAX-RS, он не является частью стандартного JDK, и мы должны включить все необходимые банки. Лучший способ-использовать сборку Maven, поэтому создайте простой динамический веб-проект, а затем преобразуйте его в Maven в Eclipse.
Вот окончательное pom.xml файл, имеющий необходимые зависимости.
4.0.0 JAX-RS-HelloWorld JAX-RS-HelloWorld 0.0.1-SNAPSHOT war com.sun.jersey jersey-server 1.19 com.sun.jersey jersey-servlet 1.19 src maven-war-plugin 2.6 WebContent false maven-compiler-plugin 3.3 1.7 1.7
Теперь добавьте сервлет Джерси в свой дескриптор развертывания web.xml в качестве переднего контроллера.
JAX-RS-HelloWorld Jersey REST Service com.sun.jersey.spi.container.servlet.ServletContainer com.sun.jersey.config.property.packages com.journaldev.jaxrs.service 1 Jersey REST Service /*
Для начальной настройки требуется выполнить два вышеуказанных шага, ниже приведен наш класс обслуживания Hello World JAX-RS.
package com.journaldev.jaxrs.service; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @Path("/test") public class TestService { @GET @Path("/hello/{msg}") public String sayHello(@PathParam(value="msg") String msg){ return "Hello "+msg; } }
Просто экспортируйте его как файл WAR, а затем получите доступ к нему в браузере, как показано на рисунке ниже.
Вы можете изменить последнюю часть URL-адреса, и возвращенное сообщение изменится соответствующим образом.
Вы можете видеть, как легко было создать веб-сервис RESTful с помощью API JAX-RS. Однако это еще не все, следуйте приведенным ниже статьям, чтобы узнать больше.
- Веб-службы Restful
- Легкий учебник
- Учебник по Джерси
Это все для быстрого ознакомления с веб-сервисами java , наконец, если вы готовитесь к какому-либо собеседованию, перейдите к Вопросам для интервью с веб-сервисами .
Ссылки: Страница Oracle JAX-WS , Страница Oracle JAX-RS