WEB-сервисы

Веб-сервис – это некоторая технология взаимодействия программных компонентов между собой, основанная на применении четко определенных интерфейсов обмена данными в независимости от платформы. Все это вместе работает поверх протокола HTTP. Веб-сервис однозначно идентифицируется своим URI.

Существует три основных вариант построения веб-сервисов в зависимости от используемого протокола обмена данными:

 

— XML-RPC

— SOAP

— REST

 

Веб-сервисы на основе XML пользуются меньшей популярностью, так как разбор полученного сообщения в формате XML требует больших затрат времени.

Для описания веб-сервиса может использоваться специальный файл конфигурации в формате WSDL, удобном для обработки и основанном на формате XML. В нем определяется протокол для взаимодействия между клиентом и сервером, тип передаваемых данных, адрес конечной точки веб-сервиса и прочие настройки конфигурации.

В Java EE для создания веб-сервисов применяется Java API for XML Web Services (JAX-WS), ставшим заменой устаревшей спецификации JAX-RPC.

Для создания веб-сервиса не языке Java можно использовать аннотации. Пометив обычный POJO-класс аннотацией @WebService, мы превращаем его в конечную точку.

Стоит отметить, что у разработчика есть два возможных пути создания веб-сервиса:

 

— разработка снизу-вверх. В этом случае разработчик сам создает endpoint-классы и по ним генерируется  WSDL-описание.

— разработка сверху-вниз предполагает наличие WSDL-описания веб-сервиса и генерация по нему классов Java.

 

Перейдем к практике. Допустим мы хотим описать небольшой сервис для расчета такой физической величины, как сила тяжести. На всякий случай напомним известную всем еще со школы формулу для расчета (F = m*g). Для создания конечной точки нашего веб-сервиса воспользуемся аннотацией @WebService:

 

 

Теперь создадим метод, который будет выполнять расчет. Для связывания метода POJO-класса и операции веб-службы в WSDL-описании используется аннотация @WebMethod.

 

 

ws_client

 

Теперь самое время протестировать собственный веб-сервис! Создайте обычное приложение Java. В NetBeans щелкните правой кнопкой на проекте -> Создать клиент веб-службы.

 

Там в открывшемся диалоговом окне выберите ваш проект.

web_services

 

После этого откройте файл с главным классом вашего приложения. Далее нажмите Правая кнопка мыши -> Вставка кода (либо воспользуйтесь комбинацией клавиш Alt-Insert) и выберите пункт Вызов операции веб-службы. Исходный код главного класса приведен ниже.

 

 

Здесь в методе main() мы вызываем метод result с параметром, соответствующим массе тела, равной 10. Запустите проект. В итоге в консоль будет выведен результат:

result_ws

Поздравляю! Вы научились создавать простой собственный веб-сервис! Следите за новостями!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *