Axis2.docx

7
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 fácil 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 implementación de clases para el servidor y el cliente usando WSDL Recuperar fácilmente 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 aplicación de envío 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 envía a través 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 aplicación no tiene una escucha HTTP en marcha, este no va a recibir ningún mensaje HTTP.) Una vez más, si el mensaje es parte de un sistema que requiere el uso de WS-

Transcript of Axis2.docx

Page 1: Axis2.docx

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 fácil 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 implementación de clases para el servidor y el cliente usando WSDL Recuperar fácilmente 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 aplicación de envío 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 envía a través 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 aplicación no tiene una escucha HTTP en marcha, este no va a recibir ningún mensaje HTTP.) Una vez más, 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 propósito de verificar las credenciales o descifrar información sensible. Finalmente, un despachador determina la aplicación específica (u otro componente, tal como un método Java) para la que se destina el mensaje, y la envía a dicho componente. Ese componente es parte de una aplicación general diseñado para trabajar con los datos que se envían de ida y vuelta.

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

Page 2: Axis2.docx

En cada extremo, tiene una aplicación diseñada para hacer frente a los mensajes (enviados y recibidos). En el medio, hay Axis2, o más 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 aplicación. Suponiendo que Axis2 se está ejecutando en ambos lados, el proceso es el siguiente:

El remitente crea el mensaje SOAP. Axis "manejadores" realizar cualquier acción necesaria en ese mensaje como el cifrado de los mensajes

relacionados con WS-Security. El remitente envía 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 aplicación 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 colección 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. También puede añadir sus propias fases y manipuladores.

Manipuladores provienen de "módulos" que pueden ser conectados a un sistema de Axis2 en ejecución. Estos módulos, como Rampart, que proporciona una implementación de WS-Security, y Sandesha, que proporciona una implementación de WS-Reliable Messaging, son los principales mecanismos de extensibilidad en Axis2.

Axis2 Distribuciones

Page 3: Axis2.docx

Axis2 es liberado en varias distribuciones . Cuál usted necesita depende de lo que va a hacer con él.

La Distribución Axis2 estándar binario Si estás desarrollando servicios y aplicaciones, necesitará la Distribución Axis2 estándar binario. La distribución incluye todos los archivos * .jar necesarias, así como una variedad de secuencias de comandos que facilitan el desarrollo. Tiene la siguiente estructura.

Listado de Código 1: Axis2 estándar binario Distribución

El directorio bin incluye una serie de secuencias de comandos útiles. Incluyen axis2.bat (o axis2.sh), que le permite ejecutar fácilmente 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 fácilmente el código 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 aplicación.

Como era de esperar, el directorio lib incluye todos los archivos jar necesarios. Servicios y módulos se añaden al directorio de repositorio. Axis2 viene con un módulo estándar implementación de WS-Addressing, y usted puede agregar cualquier otro módulo 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 código de ejemplo distribuidos con Axis2. axis2.war Distribución jerarquía de directorios

Page 4: Axis2.docx

axis2.war está disponible en WAR (Web Archive) Distribución . El lado del servidor de buques Axis2 como una aplicación J2EE, y tiene la siguiente estructura que se muestra en el Listado de Código 2.

Listado de Código 2: Server Side de Axis2

Comenzando en la parte superior, axis2-web es una colección de páginas JSP que conforman la aplicación de administración de Axis2 , a través del cual se pueden realizar las acciones necesarias, tales como la adición de los servicios y de acoplamiento y módulos dis-atractivas. El directorio WEB-INF representa la aplicación Axis2 real, incluyendo todos los archivos * .jar, cualquier incluyeron módulos, 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 definición de los remitentes de mensajes y receptores de mensajes.

El archivo principal en todo esto es axis2.xml, que controla cómo la aplicación basta con los mensajes recibidos. Se define receptores y receptores de mensajes de transporte, así como la definición de los remitentes de transporte y determinar qué módulos están activos. También define el orden de las fases, y los manipuladores para ser ejecutado dentro de cada fase.

Usted puede controlar toda esta información a través del uso de la aplicación web, pero si reinicia la aplicación Axis2, estás perdido estos cambios y el servidor se remonta a las definiciones en el archivo axis2.xml.

Axis2 también proporciona una tercera distribución, la distribución de la fuente , lo que le permite generar este .war archivo usted mismo.

Axis2 Documentación Distribución jerarquía de directorios La distribución de documentos incluye toda la documentación Axis2 incluyendo los xdcos y javadocs. Tiene la siguiente estructura:

Page 5: Axis2.docx

Listado de Código 3: Axis2 de distribución de documentos

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

Axis2 y Clientes Ahora que se explica cómo se comporta Axis2 como parte de una aplicación web. ¿Qué pasa con un cliente independiente que no forma parte de una aplicación J2EE? En ese caso, un emisor puede utilizar las propiedades Axis2 por defecto, en otras palabras, no hay controladores especiales, y así sucesivamente. Pero también tienes la opción de decirle al cliente para cargar su propia copia del archivo axis2.xml y comportarse en consecuencia.

Instalación y Pruebas Código 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 aplicación 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

están 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 distribución Axis2 WAR y colocar el archivo en el directorio webapps axis2.war del servidor. El servidor entonces ampliara la distribución 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 librerías necesarias y el archivo services.xml que define el comportamiento del servicio. Puede instalar el servicio mediante la aplicación de administración 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 número de formas, de una colección de archivos en un solo archivo * .jar. Lo importante es asegurarse de que todas las clases correspondientes se encuentran en la ruta de clases. Además de las clases que pertenecen al cliente real, también debe agregar los archivos jar Axis2 en el CLASSPATH. Normalmente, esto se hace mediante la descarga y desembalaje de la distribución estándar Axis2 y añadiendo los archivos jar * en el directorio lib de su CLASSPATH, o también tiene la opción de ejecutar el cliente utilizando el axis2.bat (o axis2.sh) guión , que se encarga de él para usted. Por ejemplo, puede ejecutar un cliente con el comando: axis2 org.apache.axis2.axis2userguide.Client.

Page 6: Axis2.docx