Herramientas Java para el diseño de Servicios Web XML

Se dispone de las siguientes APIs (Application Programming Interfaces) para el diseño de Servicios Web XML y clientes de servicios Web XML:

  • JAXR: Acceso a directorios de servicios.
  • JAXM: Envío de mensajes XML.
  • JAX-RPC: Uso de XML-RPC (mecanismo para invocación remota de procedimientos (métodos) utilizando XML como forma de comunicación) desde Java.

JAXR

Es una API para Java que permite trabajar con los registros de servicios web sin preocuparnos de los detalles de los documentos XML que intervienen en las operaciones.

Un registro es una infraestructura que facilita el descubrimiento de servicios web. Este tipo de registros se encuentra disponibles para cualquier organización, normalmente como un servicio web más. Existen varias especificaciones para estos registros, la más importantes es UDDI, desarrollada por una serie de empresas.

Es independiente del tipo de registro concreto al que accedemos, pues se utiliza un modelo de contenido unificado.

Permite realizar las siguientes operaciones básicas: buscar servicios web disponibles, publicar servicios web, modificar los datos de un servicio, eliminar un servicio.

JAXM

Es una API para Java que permite trabajar con mensajes SOAP sin preocuparnos de los detalles de los documentos XML que intervienen en las operaciones.

Permite enviar mensajes de dos formas:

  • Mediante una conexión punto a punto: el programa envía el mensaje directamente al destinatario, quedando bloqueado a la espera de una respuesta.
  • Mediante un proveedor de mensajes: se envía el mensaje a un proveedor que será el encargado de hacerlo llegar al destinatario, sin producirse ningún bloqueo en espera de una respuesta.

JAX-RPC

Es una API para Java que permite construir servicios web y clientes para los servicios sin preocuparnos de los detalles de los documentos XML que intervienen en las operaciones.

Las llamadas a los métodos y las respuestas se implementan mediante mensajes SOAP. En un servicio web, los métodos que lo constituyen se definen en un interfaz y se implementan en una clase aparte.

En un cliente, las llamadas a los métodos se realizan mediante objetos locales que representan el método remoto (stubs).

Un cliente escrito con JAX-RPC puede interactuar con un servicio escrito en otro lenguaje, y viceversa, pues esta tecnología se basa en una serie de estándares como HTTP, SOAP y WSDL.

Fuente: Apuntes de informática III, Escuela Superior de Ingenieros de la Universidad de Navarra.