Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
java1_2013_2014 / java18.pptx
Скачиваний:
149
Добавлен:
16.04.2015
Размер:
724.2 Кб
Скачать

Интерфейс HelloService

package helloservice; import java.rmi.Remote;

import java.rmi.RemoteException;

public interface HelloIF extends Remote {

public String sayHello(String s) throws RemoteException;

}

(C) В.О. Сафонов. 2013

Его реализация HelloImpl

package helloservice;

public class HelloImpl implements HelloIF

{

public String message ="Hello"; public String sayHello(String s) {

return message + s;

}

}

(C) В.О. Сафонов. 2013

Конфигурационный файл для генерации Web-сервиса (config-interface.xml)

<?xml version="1.0" encoding="UTF-8"?> <configuration xmlns="http://java.sun.com/xml/ns/jax-rpc/ri/config">

<service

name="MyHelloService"

targetNamespace="urn:Foo"

typeNamespace="urn:Foo"

packageName="helloservice"> <interface name="helloservice.HelloIF"/>

</service>

</configuration>

(C) В.О. Сафонов. 2013

Генерация и использование Web- сервиса

cd <INSTALL>/j2eetutorial14/examples/jaxrpc/helloservice/

asant build

Подцели:

-compile-service

-generate-wsdl

wscompile -define -mapping build/mapping.xml -d build -nd build

-classpath build config-interface.xml

Будет выполнена сборка сервиса; генерируется класс-файл и WSDL- файл сервиса в поддиректории build; в конечном итоге, сервис будет реализован в виде сервлета

Для развертывания сервиса используется утилита deploytool, которая создает дескриптор Web-приложения и упаковывает его вместе с результатами сборки в .war – файл

Использование Web-сервиса:

http://localhost:8080/hello-jaxrpc/hello

(C) В.О. Сафонов. 2013

Взаимодействие клиента и сервера в JAX-RPC

(C) В.О. Сафонов. 2013

Web-сервисы в Java EE 6 (GlassFish 3.0)

GlassFish – совместный проект Sun / Oracle по разработке сервера приложений для JEE

Текущая версия: GlassFish 3.0

Новые возможности:

- с точки зрения языка Java – широкое использование аннотаций (например, @WebService)

- новые технологии создания Web-сервисов – JAX-WS и JAX-RS

- persistence – API для сохранения информации об объектах и их взаимодействия с СУБД

- интеграция с NetBeans 6.x

(C)В.О. Сафонов. 2013

Виды Web-сервисов в JEE 6

“Big” Web services – JAX-WS – основаны на SOAP- протоколе и определениях сервисов в формате WSDL; поддерживают асинхронный обмен; сервисы “общего вида”

RESTful Web services (REpresentational State Transfer) – JAX-RS. Не требуют формата SOAP для сообщений и формата WSDL для описаний сервисов

RESTful-сервисы не имеют состояний (stateless), т.е. более надежны и требуют меньше ресурсов. Допускают кеширование. Используются для PDA (КПК)

Проект Jersey (JSR 311): Реализация RESTful –

(C) В.О. Сафонов. 2013

сервисов для JEE

JAX-WS Web-сервисы

(C) В.О. Сафонов. 2013

JAX-WS Web-сервисы

(C) В.О. Сафонов. 2013

JAX-WS Web-сервисы

Основаны на SOAP-сообщениях

Реализация использует аннотации

Аннотации аналогичны атрибутам

.NET для Web-сервисов: [WebMethod]

(C) В.О. Сафонов. 2013

Соседние файлы в папке java1_2013_2014