2011-02-16 19 views
6

Axis2 admite la creación de servicios web utilizando AXIOM, JAXB, ADB y XMLBeans. Soy nuevo en esta área de desarrollo de servicios web y quiero crear un servicio web utilizando Axis2. El servicio web va a ser muy simple, pero espero que cambie con bastante frecuencia. Sentí que AXIOM es bueno, ya que le permite especificar sus requisitos de servicio en el archivo service.xml y luego lo crea en consecuencia para usted. Así que pensé que esto me facilitaría la vida, ya que en el futuro, para cualquier cambio en mi servicio web, solo necesito cambiar el archivo service.xml y algún código por clases .java para servicios web. Pero otros métodos tienen sus propias ventajas también. Considerando mis requisitos, ¿puede decirme qué método debo adoptar al crear el servicio web? Nota: Me encantaría extender el soporte tanto para REST como para el servicio web SOAP.Cuál es la elección correcta para mí para crear un servicio web utilizando Axis2 - AXIOM, JAXB, ADB o XMLBeans

Respuesta

7

Comenzaré admitiendo mi predisposición a dirigir la implementación de MOXy JAXB, lo que me lleva a mi primer punto.

1. Existen múltiples implementaciones JAXB

Desde JAXB is a standard (JSR-222), hay múltiples implementaciones: Metro (la implementación de referencia), EclipseLink MOXy, Apache JaxMe, etc. Si llega a un fallo tapón de la demostración en una implementación puedes probar con otro.

2. JAXB es la capa de unión predeterminado para ambos JAX-RS (RESTful Web Services) y JAX-WS (Web Services SOAP)

JAXB fue diseñada en conjunción con JAX-WS, y JAX- RS fue escrito para aprovechar JAXB. JAXB es compatible con todos los servidores de aplicaciones Java EE 5 y Java EE 6.

3. JAXB es compatible con Java 5 características tales como los genéricos y enumeraciones

Esto puede o no ser un gran problema para usted, pero es compatible con JAXB genéricos y enumeraciones mientras que los frijoles XML no.

4. Las implementaciones individuales tienen extensiones muy útiles

Por ejemplo moxy tiene extensiones para el mapeo basado XPath, archivo XML de metadatos, y extensiones para el mapeo entidades JPA:

+0

hey gracias por la explicación. apreciado. – chitresh

+0

@Blaise Doughan ¿significa esto que ADB es en realidad JAXB? Porque ni JAXB ni JaxMe se mencionan como opciones en "[Apache Axis 2? User Guide]" (http://axis.apache.org/axis2/java/core/docs/userguide-creatingclients.html#createclients). ?: - S – ArtB

+0

@ArtB - ADB es una solución propietaria de objeto a XML. JAXB es un estándar de enlace XML con varias implementaciones: Metro, MOXy, JaxMe. Axis admite JAXB como se describe aquí: http://axis.apache.org/axis2/java/core/docs/jaxws-guide.html –

Cuestiones relacionadas