Uso de Apis y Frameworks de Servicios Webs

LIBP-0321 (Libro de pautas)

Se indica qué APIs y Frameworks para servicios web son recomendados y cuales no

Pautas

TítuloCarácter
Metro (WSIT)Recomendada
Axis1No Recomendada
Axis2Recomendada
XFireNo Recomendada
Apache CXFRecomendada
Spring Web ServicesRecomendada

Metro (WSIT)

Se recomienda el uso de Metro (WSIT)

Es un paquete de diferentes tecnologías, entre las que se encuentran JAX-WS, JAXB, y WSIT (implementación de webservices, implementación de XML-Bindings y Webservices intercomunication tecnology, que permite comunicar sin problemas webservices java y .net 3)

Es la actualización del antiguo JWSDP (Java Web Services Developer Pack). Está incluido en Glassfish (Servidor de aplicaciones de Sun) a partir de su versión 2.

Axis1

No se recomienda el uso de Axis1

Apache Axis es una implementación OpenSource de SOAP que proporciona un entorno de ejecución para Servicios Web implementados en Java

Entre otras cosas Axis proporciona:

  • Un entorno de ejecución para Servicios Web Java (*.jws)

  • Herramientas para crear WSDL desde clases java.

  • Herramientas para crear clientes Java desde un WSDL.

  • Herramientas para desplegar, probar y monitorizar Servicios Web.

  • Integración con servidores de aplicaciones y contenedores de Servlets.

Axis2

Se recomienda el uso de Axis2

La nueva arquitectura, en la que se basa Axis2, es más flexible, eficiente y configurable en comparación con la de Axis1.x. Ciertos conceptos probados y bien establecidos de Axis 1.x, como handlers etc., se han conservado en la nueva arquitectura.

Apache Axis2 no sólo soporta SOAP 1.1 y SOAP 1.2, sino que también integra soporte para el estilo REST para servicios web y Spring Framework.

XFire

No se recomienda el uso de XFire

XFire es un framework para desarrollar Servicios Web SOAP en Java a través de la sencillez de uso de su API soportada por los principales estándares. Este entorno, al igual que el Apache Axis, utiliza componentes del proyecto GlassFish. Sigue la filosofía POJO (Plain Old Java Object), en la que cualquier clase puede ser un Servicio Web, no se necesita extender ninguna clase ni implementar ningún interface para crear un Servicio Web.

Actualmente el proyecto XFire como tal no sigue activo, sino que continua como "Apache CXF"

Apache CXF

Se recomienda el uso de Apache CXF

Es un framework de servicios de software libre. CXF nos ayuda a construir y desarrollar servicios utilizando JAX-WS como API de programación. Estos servicios pueden manejar una gran variedad de protocolos como SOAP, XML/HTTP, HTTP RESTful, o CORBA, y pueden trabajar sobre transportes como HTTP, JMS o JBI.

Spring Web Services

Se recomienda el uso de Spring Web Services

Es una extensión a Spring para facilitar la creación de servicios web Java.  Spring-WS se basa en el concepto de "contrato primero", con el cual se define primero el contrato del servicio y luego se implementa, evitando atar al contrato como sucede en los casos en los cuales se genera el mismo a partir de las clases Java.