Está en la página 1de 6

Axis2

Motor de Servicios Web orientado a XML


Soporta Plug-in que extienden su funcionalidad (seguridad/fiabilidad).
Se puede configurar tanto como un motor de servicios Web independiente, tanto como un contenedor
de Servlets J2EE.
Axis2 trabaja tanto del lado del cliente como del servidor de servicios web.
Proporciona una arquitecta modular que hace fcil agregar funcionalidad y soporte para las nuevas
especificaciones.

Entre los beneficios que proporciona Axis2 son:
Enviar mensajes SOAP
Recibir y procesar mensajes SOAP
Crear Servicios Web a partir de clases java simples
Crear la implementacin de clases para el servidor y el cliente usando WSDL
Recuperar fcilmente el WSDL para un servicio
Enviar y recibir mensajes SOAP con archivos adjuntos.
Crear o utilizar un servicio web basado en REST
Crear o utilizar los servicios que se aprovechan de la WS-Security , WS-Reliable Messaging , WS-
Addressing WS-Coordination y WS-Atomic Transaction recomendaciones

Para entender Axis2 y lo que hace, debe tener una buena idea del ciclo de vida de un mensaje de servicios
Web. Por lo general, se ve algo como esto:

La aplicacin de envo crea el mensaje SOAP original, un mensaje XML que consta de encabezados y un cuerpo.
Si el sistema requiere el uso de WS * tales como WS-Addressing o WS-Security, el mensaje puede someterse a
un procesamiento adicional antes de que salga el remitente. Una vez que el mensaje est listo, se enva a
travs de un transporte particular, como HTTP, JMS, y as sucesivamente.

El mensaje se abre camino a el receptor, que se lleva en el mensaje por el oyente transporte. (En otras
palabras, si la aplicacin no tiene una escucha HTTP en marcha, este no va a recibir ningn mensaje HTTP.) Una
vez ms, si el mensaje es parte de un sistema que requiere el uso de WS-Security u otras, se puede ser
necesario un procesamiento adicional con el propsito de verificar las credenciales o descifrar informacin
sensible. Finalmente, un despachador determina la aplicacin especfica (u otro componente, tal como un
mtodo Java) para la que se destina el mensaje, y la enva a dicho componente. Ese componente es parte de
una aplicacin general diseado para trabajar con los datos que se envan de ida y vuelta.

Cmo Axis2 controla los mensajes de SOAP
Axis2 puede manejar el procesamiento, tanto para el emisor y el receptor en una transaccin. Desde la
perspectiva Axis2, la estructura se parece a esto:


En cada extremo, tiene una aplicacin diseada para hacer frente a los mensajes (enviados y recibidos). En el
medio, hay Axis2, o ms bien, usted puede tener Axis2. El valor de los servicios Web es que el emisor y el
receptor (cada uno de los cuales puede ser el servidor o en el cliente) ni siquiera tiene que estar en la misma
plataforma, y mucho menos correr la misma aplicacin. Suponiendo que Axis2 se est ejecutando en ambos
lados, el proceso es el siguiente:
El remitente crea el mensaje SOAP.
Axis "manejadores" realizar cualquier accin necesaria en ese mensaje como el cifrado de los mensajes
relacionados con WS-Security.
El remitente enva el mensaje de transporte.
En el extremo receptor, el transporte oyente detecta el mensaje.
El oyente de transporte pasa el mensaje a cualquier controlador en el lado receptor.
Una vez que el mensaje ha sido procesado en la fase de "pre-despacho", es entregada a los
despachadores, que la transmiten a la aplicacin correspondiente.

En Axis2, estas acciones se dividen en "fases", con varias fases predefinidas, tales como el "pre-despacho",
"despacho", y "el procesamiento de mensajes", que se est construyendo en Axis2. Cada fase es una coleccin
de "manejadores". Axis2 le permite controlar lo que los manipuladores que entran en fases, y el orden en que
los manipuladores se ejecutan dentro de las fases. Tambin puede aadir sus propias fases y manipuladores.

Manipuladores provienen de "mdulos" que pueden ser conectados a un sistema de Axis2 en ejecucin. Estos
mdulos, como Rampart, que proporciona una implementacin de WS-Security, y Sandesha, que proporciona
una implementacin de WS-Reliable Messaging, son los principales mecanismos de extensibilidad en Axis2.











Axis2 Distribuciones
Axis2 es liberado en varias distribuciones . Cul usted necesita depende de lo que va a hacer con l.

La Distribucin Axis2 estndar binario
Si ests desarrollando servicios y aplicaciones, necesitar la Distribucin Axis2 estndar binario. La distribucin
incluye todos los archivos * .jar necesarias, as como una variedad de secuencias de comandos que facilitan el
desarrollo. Tiene la siguiente estructura.

Listado de Cdigo 1: Axis2 estndar binario Distribucin


El directorio bin incluye una serie de secuencias de comandos tiles. Incluyen axis2.bat (o axis2.sh), que le
permite ejecutar fcilmente un comando Java sin tener que agregar manualmente todos los archivos jar Axis2 a
la ruta de clases, java2wsdl.bat (y .sh) y wsdl2java.bat (y. sh), que le permiten generar fcilmente el cdigo Java
a partir de un archivo WSDL y viceversa, y axis2server.bat (y sh), un servidor Web simple que le permite
construir la capacidad de Axis2 para enviar y recibir mensajes en su propia aplicacin.

Como era de esperar, el directorio lib incluye todos los archivos jar necesarios. Servicios y mdulos se aaden
al directorio de repositorio. Axis2 viene con un mdulo estndar implementacin de WS-Addressing, y usted
puede agregar cualquier otro mdulo necesario, como Rampart al directorio del repositorio / modules.

conf incluye el axis2.xml que es el descriptor de despliegue global.

Por ltimo, el directorio de muestras incluye todo el cdigo de ejemplo distribuidos con Axis2.
axis2.war Distribucin jerarqua de directorios
axis2.war est disponible en WAR (Web Archive) Distribucin . El lado del servidor de buques Axis2 como una
aplicacin J2EE, y tiene la siguiente estructura que se muestra en el Listado de Cdigo 2.

Listado de Cdigo 2: Server Side de Axis2

Comenzando en la parte superior, axis2-web es una coleccin de pginas JSP que conforman la aplicacin de
administracin de Axis2 , a travs del cual se pueden realizar las acciones necesarias, tales como la adicin de
los servicios y de acoplamiento y mdulos dis-atractivas. El directorio WEB-INF representa la aplicacin Axis2
real, incluyendo todos los archivos * .jar, cualquier incluyeron mdulos, e incluso los propios servicios
desplegados.

El directorio de clases tiene cualquier archivo de clase o de propiedad que son necesarios por s Axis2, como
log4j.properties. Cualquier servicio reales sean manipuladas por el sistema residen en el directorio de servicios
en forma de un archivo de eje, o * .aar archivo. Este archivo contiene las clases relacionadas con el servicio, as
como el archivo services.xml, que controla todos los requisitos adicionales, tales como la definicin de los
remitentes de mensajes y receptores de mensajes.

El archivo principal en todo esto es axis2.xml, que controla cmo la aplicacin basta con los mensajes recibidos.
Se define receptores y receptores de mensajes de transporte, as como la definicin de los remitentes de
transporte y determinar qu mdulos estn activos. Tambin define el orden de las fases, y los manipuladores
para ser ejecutado dentro de cada fase.

Usted puede controlar toda esta informacin a travs del uso de la aplicacin web, pero si reinicia la aplicacin
Axis2, ests perdido estos cambios y el servidor se remonta a las definiciones en el archivo axis2.xml.

Axis2 tambin proporciona una tercera distribucin, la distribucin de la fuente , lo que le permite generar este
.war archivo usted mismo.


Axis2 Documentacin Distribucin jerarqua de directorios
La distribucin de documentos incluye toda la documentacin Axis2 incluyendo los xdcos y javadocs. Tiene la
siguiente estructura:

Listado de Cdigo 3: Axis2 de distribucin de documentos

El directorio javadocs incluye toda la norma documentacin de la API para la API de Axis2, con otra
documentacin (como este documento) en el directorio xdocs.

Axis2 y Clientes
Ahora que se explica cmo se comporta Axis2 como parte de una aplicacin web. Qu pasa con un cliente
independiente que no forma parte de una aplicacin J2EE? En ese caso, un emisor puede utilizar las
propiedades Axis2 por defecto, en otras palabras, no hay controladores especiales, y as sucesivamente. Pero
tambin tienes la opcin de decirle al cliente para cargar su propia copia del archivo axis2.xml y comportarse
en consecuencia.
Instalacin y Pruebas Cdigo del Cliente

La historia corta:
1. Instalar Apache Axis2 en un recipiente adecuado, como Apache Tomcat, copiando el archivo axis2.war
al directorio webapps.
2. Instale el servicio en la aplicacin Axis2 copiando el archivo .aar * en el directorio de servicios de Axis2.
3. Instale el cliente en el sistema en el que desea ejecutar, y asegurarse de que todas las bibliotecas Axis2
estn en el CLASSPATH.
4. Ejecute el cliente.

La historia larga:
Lo primero es instalar un recipiente adecuado, como Apache Tomcat . Cualquier servidor J2EE har. Para
instalar Apache Axis2 en el servidor, descarga la distribucin Axis2 WAR y colocar el archivo en el directorio
webapps axis2.war del servidor. El servidor entonces ampliara la distribucin en su estructura adecuada.

Servicios de Apache Axis2 vienen incluidos como archivos .aar *, que contienen todas las piezas necesarias para
definir el servicio, tales como las clases y libreras necesarias y el archivo services.xml que define el
comportamiento del servicio. Puede instalar el servicio mediante la aplicacin de administracin de Web , pero
para hacer las cosas simples, por ahora, copie el archivo .aar * en el directorio de servicios de Axis2. Por
ejemplo, para instalar el servicio MiServicio distribuido como una de las muestras de Axis2, copie el archivo
<AXIS2_HOME> /samples/userguide/build/MyService.aar archivo, que se construye con el comando de ANT,
de <AXIS2_HOME> / muestras / userguide , en el directorio <J2EE_HOME> / webapps / axis2 / WEB-INF /
servicios.

Su cliente puede venir en cualquier nmero de formas, de una coleccin de archivos en un solo archivo * .jar.
Lo importante es asegurarse de que todas las clases correspondientes se encuentran en la ruta de clases.
Adems de las clases que pertenecen al cliente real, tambin debe agregar los archivos jar Axis2 en el
CLASSPATH. Normalmente, esto se hace mediante la descarga y desembalaje de la distribucin estndar Axis2
y aadiendo los archivos jar * en el directorio lib de su CLASSPATH, o tambin tiene la opcin de ejecutar el
cliente utilizando el axis2.bat (o axis2.sh) guin , que se encarga de l para usted. Por ejemplo, puede ejecutar
un cliente con el comando: axis2 org.apache.axis2.axis2userguide.Client.

También podría gustarte