viernes, 5 de julio de 2013

Servicios Web Axis2, JSF 2.0, PrimeFaces 3.5 en Tomcat 6.0.37 Parte I

Para la realización de este tutorial necesitaremos:
Axis2 es un contenedor de Web Services, soportando el protocolo SOAP y REST. Axis2 ofrece las siguientes características:
  • Velocidad - Axis2 usa su propio modelo de objetos y un análisis sintáctico basado en StAX (Streaming API para XML) para lograr una velocidad de proceso significativamente mayor que la de versiones anteriores de Apache Axis.
  • Uso reducido de memoria - Axis2 fue diseñado desde la base teniendo en cuenta el objetivo de una reducida demanda de memoria.
  • AXIOM - Axis2 viene con su propio y eficiente modelo de objetos, AXIOM, para el procesamiento de mensajes, modelo que es extensible, ha sido optimizado con miras a desempeño y rapidez, simplificando su uso por parte de los desarrolladores.
  • Despliegue instantáneo - Axis2 está equipado con la capacidad de desplegar servicios web y handlers con el sistema en pleno funcionamiento. En otras palabras, es posible agregar nuevos servicios al sistema sin tener que detener la ejecución del servidor. Basta con copiar simplemente los archivos requeridos de servicios web al directorio de servicios en el repositorio, y el modelo de despliegue automáticamente desplegará el servicio y lo pondrá a disposición para su uso.
  • Servicios web asincrónicos - Axis2 ahora soporta servicios web asincrónicos y la invocación asincrónica de servicios web por medio de clientes y transportes no bloqueantes.
  • Soporte de MEP - Axis2 ahora viene con la conveniente flexibilidad de soportar "patrones de intercambio de mensajes" (Message Exchange Patterns (MEPs)) con su soporte incorporado para los MEPs básicos definidos en WSDL 2.0.
  • Flexibilidad - La arquitectura de Axis2 le otorga al desarrollador completa libertad para insertar extensiones al motor para el procesamiento a la medida de encabezamientos (headers), administración del sistema, o cualquier otro aspecto imaginable.
  • Estabilidad - Axis2 define un conjunto de interfaces publicados que cambian con relativa lentitud, comparados con el resto de Axis.
  • Despliegue orientado a componentes - Se puede fácilmente definir redes reutilizables de handlers para implementar patrones comunes de procesamiento para determinadas aplicaciones o para distribuir estos elementos a las contrapartes.
  • Framework de transporte - Axis2 tiene una abstracción limpia y simple para la integración y el uso de diversos transportes (esto es, senders y listeners para SOAP por vía de diversos protocolos tales como SMTP, FTP, middleware orientada a mensajes, etc.), siendo el núcleo del motor completamente independiente de los mecanismos de transporte.
  • Soporte de WSDL - Axis2 soporta Web Services Description Language, versiones 1.1 y 2.0 , lo que facilita la construcción de stubs para el acceso a servicios remotos, como también automáticamente exportar de Axis2 descripciones legibles por máquinas de los servicios desplegados.
  • Agregados - Se han incorporado diversas especificaciones relativas de los servicios web, entre las que se incluyen WSS4J para securidad (Apache Rampart), Sandesha para mensajería confiable, Kandula que es un encapsulamiento de WS-Coordination, WS-AtomicTransaction and WS-BusinessActivity.
  • Composición y extensibilidad - Con el empleo de módulos y fases se mejoran las habilidades de composición y extensibilidad. Los módules de Axis2 soportan la facultat de composición y también pueden soportar nuevas especificaciones WS-* de manera más simple y limpia. Sin embargo no permiten su despliegue instantáneo, ya que alteran el comportamiento global del sistema.

Configuración del ambiente


  1. Primero se debe instalar el JDK de Java y tener establecida la variable de sistema JAVA_HOME:
    JAVA_HOME=”C:\Program Files\Java\jdk1.6.0_21″
  2. Deberemos tener también el servidor de aplicaciones Apache Tomcat correctamente instalado así como establecida la variable de entorno CATALINA_HOME a la ruta del mismo:
    CATALINA_HOME=C:\Program Files\Apache Software Foundation\Tomcat 6.0
  3. Descargar la versión binaria de Apache Axis2 y copiar la distribución War al directorio de aplicaciones de Apache Tomcat
    • Descomprimiremos la versión binaria de Axis2 en la carpeta C:\axis2-1.6.2 y estableremos la variable AXIS2_HOME=C:\axis2-1.6.2 y añadiremos a la variable PATH del sistema la siguiente rura: C:\axis2-1.6.2\bin
    • Copiaremos el fichero axis2.war a C:\apache-tomcat-6.0.37\webapps

Si ahora arrancasemos el servidor de aplicaciones Apache Tomcat  (CATALINA_HOME\bin\startup.bat) veriamos como se ha realizado el deploy de la aplicacion axis2.war:



Si accedemos ahora a la dirección URL http://localhost:8080/axis2 veremos que nuestra aplicación se encuentra instalada: