EJB и Web Services

Download Report

Transcript EJB и Web Services

Рассматриваемые темы
 Введение в Web Services
 EJB и Web Services
2-1
Введение в Web Services
Что такое Web Services?
 Знакомая проблема
 Новое решение
2-2
Введение в Web Services
Модель «Publish-Find-Bind»
 Модель «Афиширование-Поиск-Связь»
2-3
Введение в Web Services
Модель «Publish-Find-Bind»
 SOAP – Simple Object Access Protocol
 WSDL – Web Service Definition
Language
 UDDI – Universal Description, Discovery
and Integration
2-4
Введение в Web Services
WSDL
 WSDL стандарт – независимый от
реализации IDL
 Определяет XML-документ,
полностью описывающий Web Service
 Web-сервисы используют обмен
сообщениями с помощью SOAP
2-5
Введение в Web Services
Java API для Web-сервисов
 JAX-WS (Java API for XML – Web
Services)
 JSR-181
 Упрощенная модель разработки
 Включает устаревшие JAX-RPC и
JAXB API
 Используется EJB 3.0
2-6
Рассматриваемые темы
 Введение в Web Services
 EJB и Web Services
2-7
EJB и Web Services
Web-сервисы в EJB 3.0
 В EJB 3.0 используется новый
стандарт JAX-WS (JSR-181)
 Аннотации:
 @WebService
 @WebMethod
 @SOAPBinding
 @WebParameter
 @WebResult
 @OneWay
2-8
EJB и Web Services
javax.jws.WebService
 Аннотация @WebService
используется для указания, что класс
(интерфейс) является Web-сервисом
 Параметры
 targetNamespace
 serviceName
 wsdlLocation
 endpointInterface
2-9
EJB и Web Services
javax.jws.WebMethod
 Аннотация @WebMethod помечает
метод как операцию Web-сервиса
 Параметры
 operationName
 action
2-10
EJB и Web Services
javax.jws.WebParam
 Аннотация @WebParam контролирует
генерацию WSDL для параметра
метода
 Параметры
 name
 targetNamespace
 mode (IN|OUT|INOUT)
 header
2-11
EJB и Web Services
javax.jws.soap.SOAPBinding
 Аннотация @WebMethod определяет
поведение Web-сервиса в SOAP
 Параметры
 style (DOCUMENT|RPC)
 use (LITERAL|ENCODED)
 parameterStyle (BARED|WRAPPED)
 По умолчанию – Document/Literal
Wrapped
2-12
EJB и Web Services
javax.jws.WebResult и
javax.jws.OneWay
 Аннотация @WebResult контролирует
создание WSDL для возвращаемого
значения метода
 Аннотация @OneWay показывает, что
метод не возвращает значения и
может вызываться асинхронно
2-13
EJB и Web Services
Атрибут endpointInterface
 Аннотация @WebService позволяет
указать особый интерфейс для Webсервиса
@WebService
public interface SomeEndpoint {
public String doSomethingCool(String in);
}
@Stateless
@WebService(endpointInterface=”SomeEndpoint”)
public class SomeBean implements SomeEndpoint {
public String doSomethingCool(String in) {...}
}
2-14
EJB и Web Services
Java-клиенты с JAX-WS
 Все клиенты общаются с Webсервисом посредством заглушек
 Обычные Java-клиенты могут
расширить javax.xml.ws.Service
для получения заглушек
 EJB-клиенты могут использовать
аннотацию @WebServiceRef
2-15
EJB и Web Services
javax.xml.ws.WebServiceRef
 Аннотация @WebServiceRef
используется для переменных,
имеющих тип интерфейса Webсервиса
@Stateful
public class MyAgent implements MyAgentRemote {
@WebServiceRef(SomeService.class)
SomeEndpoint ws;
public void doSomething() {
ws.doSomethingCool();
}
}
2-16
Рассмотренные темы
 Введение в Web Services
 EJB и Web Services
2-17
Практика
Упражнение
Создание JAX-WS Web-сервиса.
2-18