Apache Axis

De Wikipedia, la enciclopedia libre
Apache Axis
Información general
Tipo de programa servicios web
Desarrollador Apache Software Foundation
Licencia Apache License 2.0
Información técnica
Programado en Java y C
Versiones
Última versión estable 1.4 (info) ( 22.04.2006)
Enlaces

Apache Axis es un framework de código abierto, basado en XML para servicios web. Consiste en una implementación en Java y otra en C++ del servidor SOAP, así como diversos utilitarios y APIs para generar y desplegar aplicaciones de servicios web. Por medio de Apache Axis, los desarrolladores pueden crear aplicaciones computacionales interoperables y distribuidas. Axis se desarrolla bajo los auspicios de la Apache Software Foundation.

Axis para Java[editar]

Al emplear la variante Java de Axis, existen dos maneras de exponer código Java como servicio web. Lo más fácil es usar los archivos JWS (Java Web Service), nativos de Axis. La otra manera consiste en usar despliegues a la medida. Los despliegues a la medida permiten adaptar los recursos que se desea exponer como servicios web.

Véase también Apache Axis2.

Creación de servicios web vía JWS[editar]

Los archivos JWS contienen el código fuente de la clase Java que se desea exponer como servicio web. La principal diferencia entre un archivo Java corriente y un archivo jws consiste en su extensión. Otra diferencia es que los archivos jws se despliegan como código fuente y no como archivos .class compilados.

El siguiente ejemplo se ha tomado de la guía del usuario de Axis. Expone los métodos add y subtract de una clase "Calculator".

 public class Calculator 
 {
   public int add(int i1, int i2) 
   {
     return i1 + i2; 
   }
 
   public int subtract(int i1, int i2) 
   {
     return i1 - i2;
   }
 }

Despliegue de servicios web vía JWS[editar]

Una vez desplegado el servlet de Axis, basta copiar el archivo jws al directorio de Axis en el servidor. Este mecanismo funciona, por ejemplo, en caso de emplearse un contenedor Apache Tomcat. En el caso de otros contenedores web hace falta crear un archivo WAR a la medida.

Acceso a servicios web vía JWS[editar]

Puede accederse al servicio web creado y desplegado por vía de JWS a través del URL http://localhost:8080/axis/Calculator.jws. En caso de emplearse una configuración a la medida de Apache Tomcat u otro contenedor, la URL puede ser diferente.

Servicios web desplegados a la medida[editar]

Para el despliegue a la medida de servicios web se requiere un descriptor de despliegue específico con una sintaxis denominada WSDD (Web Service Deployment Descriptor). Este descriptor puede emplearse para especificar los recursos que se desea exponer como servicios web. En su versión actual (1.3) soporta

  • servicios sobre la base de RPC
  • servicios sobre la base de EJB (de sesión) sin estado

Generación automática de WSDL[editar]

Cuando un servicio web se expone por medio de Axis, un archivo WSDL se generará automáticamente al acceder a la URL del servicio web con el apéndice ?WSDL.

Axis para C++[editar]

Un ejemplo de la implementación y el despliegue de un servicio web simple por medio de la versión C++ de Axis puede hallarse en el tutorial para Axis-CPP (ver sección de enlaces externos).

Los pasos requeridos son:

  • Crear el archivo wsdl
  • Generar los stubs para cliente y servidor mediante wsdl2ws
  • Proveer la implementación del servicio web del lado del servidor (p.ej. el método add del servicio de calculadora)
  • Compilar el código servidor y actualizar el archivo deploy.wsdd generado con la ruta del archivo .dll
  • Desplegar los archivos binarios al directorio especificado en el wsdd
  • Compilar el cliente
  • Ejecutar y usar...

Para más información sobre los pasos individuales, véase directamente el tutorial.

Tecnologías relacionadas[editar]

Véase también[editar]

Enlaces externos[editar]