Web Service

En el entorno J2EE los servicios web se construyen sobre JAX-RPC (Java API for XML-based RPC). Este es un API para construir servicios web y clientes que utilizan llamadas a procedimientos remotos (RPC) y XML.

En JAX-RPC, una llamada a un procedimiento remoto está representada por un protocolo basado en XML, como SOAP. La especificación SOAP define la envoltura estructural, las reglas de codificación y la convención para representar llamadas y respuestas a procedimientos remotos. Estas llamadas y respuestas se transmiten como mensajes SOAP (ficheros XML) sobre HTTP. Aunque los mensajes SOAP son un poco complejos, esta complejidad es transparente para el desarrollador. Cuando se desarrollan las implementaciones del lado del cliente y del servidor, los desarrolladores no tienen que generar mensajes SOAP porque estos los generan las llamadas al API JAX-RPC.

En el lado del servidor, el desarrollador especifica los procedimientos remotos definidiendo métodos de un interface escrito en Java. El desarrollador también codifica una o más clases que implementan esos métodos. Los programas cliente también son fáciles de codificar. Un cliente crea un proxy, un objeto local que representa el servicio, y luego simplemente llama a los métodos del proxy. Con JAX-RPC, el desarrollador no tiene que generar o analizar mensajes SOAP. Es el sistema de ejecución JAX-RPC el que convierte las llamadas y respuestas a/desde el API a mensajes SOAP.

Para este tutorial, utilizaremos la librería Axis de Apache, que es una iniciativa de código abierto de la Apache Software Foundation (ASF). Axis es un motor SOAP compatible JAX-RPC. Puede integrarse con contendores web como Tomcat/Jetty, lo que permite utilizar muchas características de esos contenedores como la seguridad, los repositorios de recursos, multi-threads, etc.

0 comentarios: