веб сервисы. Web сервисы
Скачать 499 Kb.
|
Web - сервисыВеб-служба, веб-сервис (англ. web service) — идентифицируемая веб-адресом программная система со стандартизированными интерфейсами. Веб-службы могут взаимодействовать друг с другом и со сторонними приложениями посредством сообщений, основанных на определённых протоколах (SOAP, XML-RPC и т. д.). Веб-служба является единицей модульности при использовании сервис-ориентированной архитектуры приложения. В обиходе веб-сервисами называют услуги, оказываемые в Интернете. Используемые стандарты XML: Расширяемый язык разметки, предназначенный для хранения и передачи структурированных данных; SOAP: Протокол обмена сообщениями на базе XML; WSDL: Язык описания внешних интерфейсов веб-службы на базе XML; UDDI: Универсальный интерфейс распознавания, описания и интеграции (Universal Discovery, Description and Integration). Каталог веб-служб и сведений о компаниях, предоставляющих веб-службы во всеобщее пользование или конкретным компаниям. Достоинства Веб-службы обеспечивают взаимодействие программных систем независимо от платформы. Веб-службы основаны на базе открытых стандартов и протоколов. Благодаря использованию XML достигается простота разработки и отладки веб-служб. Использование интернет-протокола обеспечивает HTTP-взаимодействие программных систем через межсетевой экран Недостатки Меньшая производительность и больший размер сетевого трафика по сравнению с технологиями RMI, CORBA, DCOM за счёт использования текстовых XML-сообщений. Однако на некоторых веб-серверах возможна настройка сжатия сетевого трафика. Веб-сервисы. Компоненты технологии HTTP (SMTP, FTP, …) – транспортные протоколы SOAP – прикладной протокол вызова методов (передаются XML- документы) WSDL – описание «сигнатур» методов Web- сервиса (XML-документ) UDDI – сервис поиска необходимых сервисов (публикуется в виде XML- документа) SOAPОбеспечивает взаимодействие распределенных систем, независимо от объектной модели или используемой платформы Данные в рамках SOAP передаются в виде XML документов особого формата Для вызова необходимо знать имя Web–сервиса, имя его метода, имена и типы параметров Для известного Web-сервиса может быть получен список реализуемых им методов. Описание WSDL Элементы технологииЭлементы технологииСервер приложений Sun Java System Application Server Apache Tomcat GlassFish IBM WebSphere Application Server … Средства разработки Java jdk (J2SE + J2EE) .NET Visual Studio.NET Этапы разработки Web-сервисаСоздание Web-сервиса Развёртывание Web-сервиса Использование Web-сервиса
В сервлете В JSP странице 1. Создание Web-сервисаПри создании проекта выберите Web Application из категории Web Назовите проект CalcService При создании проекта, установите версию Java EE в Java EE 6 и сервер (GlassFish) С помощью контекстного меню проекта (правая кнопка мыши), создайте новый Web-сервис Назовите Web-сервис Calc В качестве пакета укажите ru.nstu Calc.javapackage ru.nstu; import javax.jws.WebService; import javax.jws.WebMethod; import javax.jws.WebParam; @WebService(serviceName = "Calc") public class Calc { /** * This is a sample web service operation */ @WebMethod(operationName = "add") public int add(@WebParam(name = "i") int i, @WebParam(name = "j") int j) { //TODO write your implementation code here: int k = i + j; return k; } } Развёртывание и тестированиеС помощью контекстного меню разверните проект на сервере (Undeploy and Deploy) Протестируйте Web-сервис ТестированиеВызов WS из Java SEСоздайте Java SE приложение С помощью контекстного меню проекта, создайте новый Web-сервис клиент Выберите Web-сервис для клиента Использование в Java приложенииpackage ru.nstu; public class ServiceClient { public static void main(String[] args) { try { // Call Web Service Operation ru.nstu.Calc_Service service = new ru.nstu.Calc_Service(); ru.nstu.Calc port = service.getCalcPort(); // TODO initialize WS operation arguments here int i = 2; int j = 5; // TODO process result here int result = port.add(i, j); System.out.println("Result = " + result); } catch (Exception ex) { // TODO handle custom exceptions here } } } Использование в JSP странице
Hello World!<% ru.nstu.Calc_Service service = new ru.nstu.Calc_Service(); ru.nstu.Calc port = service.getCalcPort(); // TODO initialize WS operation arguments here int i = 2; int j = 5; // TODO process result here int result = port.add(i, j); out.print(result); %> |