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.