Java API for XML Based Web Services

Java API for XML Web Services (JAX-WS) — это прикладной программный интерфейс языка Java для создания веб-служб, являющийся частью платформы Java EE. JAX-WS является заменой технологии JAX-RPC, предоставляя более документо-ориентированную модель сообщений и упрощая разработку[1] веб-служб за счёт использования аннотаций, впервые появившихся в Java SE 5. Технология JAX-WS является стандартом и описана в JSR 224.

Преимущества JAX-WS

  • Использование аннотаций устраняет необходимость создания дескрипторов веб-служб. Декларация конечных точек (endpoints) происходит непосредственно в классах Java.
  • Прямая интеграция с JAXB 2.0.
  • Внедрение ресурсов (Resource injection).
  • Поддержка MTOM.
  • Возможность выбора между двумя путями разработки: «снизу вверх» (программист разрабатывает endpoint-классы сам) и «сверху вниз» (Java-классы генерируются по WSDL).

Аннотации

JAX-WS использует аннотации, описанные в JSR 181[2], для отображения POJO классов на WSDL. Среди них:

  • @WebService — указывает на то, что Java класс (или интерфейс) является веб-службой.
  • @WebMethod — позволяет настроить то, как будет отображаться метод класса на операцию веб-службы.
  • @WebParam — позволяет настроить то, как будет отображаться конкретный параметр операции на WSDL-часть (part) и XML элемент.
  • @WebResult — позволяет настроить то, как будет отображаться возвращаемое значение операции на WSDL-часть (part) и XML элемент.
  • @Oneway — указывает на то, что операция является односторонней, то есть не имеет выходных параметров.
  • @SOAPBinding — позволяет настроить то, как будет отображаться веб-служба на протокол SOAP.

Изменение названия

Первоначально технология должна была называться JAX-RPC 2.0, однако в связи с уходом от RPC-стиля к большей документо-ориентированности было принято решение изменить название на JAX-WS 2.0.

Каркасы, поддерживающие JAX-WS

  • GlassFish Metro (эталонная реализация JAX-WS, или JAX-WS Reference Implementation)
  • Apache Axis2
  • Apache CXF
  • JBossWS Native

Ссылки

Примечания

  1. JSR 224, Java API for XML Web Services 2.0  (англ.)
  2. JSR 181, Web Services Metadata for the JavaTM Platform
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.