• Ввойдите на сайт >>>

Статьи

Учебник по веб-сервисам Java

  1. Что такое веб-сервис
  2. Типы веб-сервисов
  3. О Панкадж

Добро пожаловать в учебник по веб-сервисам Java . Здесь мы узнаем о веб-сервисах , полезных концепциях в веб-сервисах, а также о различных типах API, которые есть в Java для создания веб-сервисов.

Что такое веб-сервис

Проще говоря, сервисы, к которым можно получить доступ по сети, называются веб-сервисами. Так чем же он отличается от веб-приложения, это также сервисы, доступ к которым осуществляется по сети. Есть несколько атрибутов, которые проясняют эту разницу.

  • Веб-приложения предназначены для пользователей и доступны в браузере в удобочитаемом формате, тогда как веб-сервисы предназначены для приложений для доступа к данным в формате XML, JSON и т. Д.
  • Веб-приложения всегда используют протокол HTTP / HTTPS, тогда как традиционные веб-сервисы используют протокол SOAP. В последнее время набирает популярность REST, который является архитектурным стилем и почти всегда работает по протоколу HTTP / HTTPS.
  • Веб-приложения не предназначены для повторного использования, в то время как это одно из преимуществ веб-сервисов. Один веб-сервис может использоваться различными приложениями.
  • Веб-приложение может получить доступ к веб-службам для доступа к некоторым данным или для выполнения некоторых задач, веб-службы не могут получить доступ к веб-приложениям для получения некоторых данных.
  • Веб-приложения способны поддерживать сеанс пользователя, веб-службы не сохраняют состояния.

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

Типы веб-сервисов

Существует два типа веб-сервисов.

  1. SOAP: SOAP означает простой протокол доступа к объектам. SOAP - это основанный на XML протокол промышленного стандарта для проектирования и разработки веб-сервисов. Поскольку он основан на XML, он не зависит от платформы и языка. Таким образом, наш сервер может быть основан на JAVA, а клиент может быть на .NET, PHP и т. Д. И наоборот.
  2. REST: REST - это архитектурный стиль для разработки веб-сервисов. В последнее время он становится популярным, потому что у него небольшая кривая обучения по сравнению с SOAP. Ресурсы являются основными понятиями веб-служб Restful, и они уникально идентифицируются по их URI.

Java предоставляет собственный API для создания как SOAP, так и веб-сервисов REST.

  1. JAX-WS: JAX-WS означает Java API для веб-служб XML. JAX-WS - это API-интерфейс на основе XML для создания сервера веб-служб и клиентского приложения.
  2. JAX-RS: Java API для веб-служб RESTful (JAX-RS) - это Java API для создания веб-служб REST. JAX-RS использует аннотации для упрощения разработки и развертывания веб-сервисов.

Оба эти API являются частью стандартной установки JDK, поэтому нам не нужно добавлять какие-либо jar-файлы для работы с ними. Оба эти API очень интенсивно используют аннотации.

Давайте создадим очень простое приложение Hello World JAX-WS.

TestService.java


копия

пакет 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) открытый класс TestService {@WebMethod public String sayHello (String msg) {return "Hello" + msg; } public static void main (String [] args) {Endpoint.publish ("http: // localhost: 8888 / testWS", new TestService ()); }}

Вот и все. Просто запустите это приложение, и наш веб-сервис Hello World JAX-WS SOAP будет опубликован. На следующем рисунке показан вызов этой веб-службы JAX-WS через пользовательский интерфейс SOAP.

На следующем рисунке показан вызов этой веб-службы JAX-WS через пользовательский интерфейс SOAP

Вот и все для очень основного руководства по веб-сервису JAX-WS. Ниже приведены некоторые статьи, которые вы должны прочитать, чтобы лучше понять веб-сервисы SOAP и JAX-WS.

  1. Учебник по JAX-WS
  2. Развертывание веб-службы JAX-WS на Tomcat
  3. Пример веб-службы SOAP с использованием Eclipse и Apache Axis
  4. Учебник по веб-сервисам Apache Axis 2

Джерси является эталонной реализацией API JAX-RS, он не является частью стандартного JDK, и мы должны включить все необходимые банки. Лучший способ - использовать сборку Maven, поэтому создайте простой динамический веб-проект, а затем преобразуйте его в Maven в Eclipse.

Вот последний файл pom.xml, имеющий необходимые зависимости.


копия

<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation = "http: / /maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd "> <modelVersion> 4.0.0 </ modelVersion> <groupId> JAX-RS- HelloWorld </ groupId> <artifactId> JAX-RS-HelloWorld </ artifactId> <версия> 0.0.1-SNAPSHOT </ версия> <packaging> война </ packaging> <зависимости> <зависимости>> <groupId> com.sun. jersey </ groupId> <artifactId> jersey-server </ artifactId> <версия> 1.19 </ version> </ dependency> <зависимость> <groupId> com.sun.jersey </ groupId> <artifactId> джерси-сервлет </ artifactId> <версия> 1.19 </ version> </ dependency> </ dependencies> <build> <sourceDirectory> src </ sourceDirectory> <plugins> <plugin> <artifactId> maven-war-plugin </ artifactId> <версия> 2.6 </ version> <configuration> <warSourceDirectory> WebContent </ warSourceDirectory> <failOnMissingWebXml> false </ failOnMissingWebXml> </ configuration> </ plugin> <plugin> <artifactId> maven-compiler-plugin </ artifactId> <версия > 3.3 </ version> <конфигурация> <source> 1.7 </ source> <target> 1.7 </ target> </ configuration> </ plugin> </ plugins> </ build> </ project>

Теперь добавьте сервлет Jersey в наш дескриптор развертывания web.xml в качестве фронт-контроллера.


копия

<? xml version = "1.0" encoding = "UTF-8"?> <веб-приложение xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns = "http: // xmlns .jcp.org / xml / ns / javaee "xsi: schemaLocation =" http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1 .xsd "id =" WebApp_ID "version =" 3.1 "> <display-name> JAX-RS-HelloWorld </ display-name> <servlet> <servlet-name> Служба REST Джерси </ servlet-name> <servlet- class> com.sun.jersey.spi.container.servlet.ServletContainer </ servlet-class> <init-param> <param-name> com.sun.jersey.config.property.packages </ param-name> <param -value> com.journaldev.jaxrs.service </ param-value> </ init-param> <загрузка при запуске> 1 </ загрузка при запуске> </ servlet> <servlet-mapping> <servlet- name> Служба REST Джерси </ servlet-name> <url-pattern> / * </ url-pattern> </ servlet-mapping> </ web-app>

Выше двух шагов требуется для начальной настройки, ниже наш класс обслуживания Hello World JAX-RS.


копия

пакет com.journaldev.jaxrs.service; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.PathParam; @Path ("/ test") открытый класс TestService {@GET @Path ("/ hello / {msg}") public String sayHello (@PathParam (value = "msg") String msg) {return "Hello" + msg; }}

Просто экспортируйте его как WAR-файл и затем откройте его в браузере, как показано на рисунке ниже.

Просто экспортируйте его как WAR-файл и затем откройте его в браузере, как показано на рисунке ниже

Вы можете изменить последнюю часть URL, и возвращаемое сообщение изменится соответственно.

Вы можете видеть, как легко было создать веб-сервис RESTful с помощью API JAX-RS. Однако это еще не все, следуйте статьям ниже, чтобы узнать больше.

  1. Restful Web Services
  2. RESTEasy Tutorial
  3. Джерси Учебник

Это все, что нужно для быстрого ознакомления с веб-сервисами java. Наконец, если вы готовитесь к собеседованию, просмотрите Интервью по веб-сервисам ,

Рекомендации: JAX-WS Oracle Page , JAX-RS Oracle Страница

О Панкадж

Я люблю технологии с открытым исходным кодом и пишу о своем опыте, связанном с ними. Вы можете связаться со мной напрямую на facebook , щебет , а также YouTube ,

Encoding = "UTF-8"?

Новости

Карта