Pregunta

¿Cuáles son las fortalezas y debilidades relativas entre Sun Metro y Apache CXF para el desarrollo de servicios web en Java? ¿Hay otro marco que también debería tener en cuenta?

¿Fue útil?

Solución

Estuve en tu posición hace unos meses y terminé mirando más de cerca a Metro.

La característica más importante para mí fue el hecho de que Metro usa anotaciones estándar para exponer un método determinado como servicio web y de que todo el código del pegamento podría generarse automáticamente en tiempo de ejecución. Es decir. no hay pasos adicionales que realizar al compilar e implementar y funciona en un contenedor de servlets estándar (2.5 creo) en Java 5, que es nuestra plataforma de implementación actual.

Esto ha funcionado muy bien para nosotros.

La razón por la que opté por las anotaciones estándar es que nuestras aplicaciones tienden a vivir literalmente durante décadas, después de las cuales se debe hacer un mantenimiento. Al codificar en una interfaz en lugar de una implementación, podemos intercambiar todo el andamio debajo del código sin cambiar el código que implementa el servicio web. En diez años (o más), cualquier implementación específica puede haberse marchitado y muerto, pero otras implementaciones pueden haber aumentado desde entonces y ser inmediatamente conectables.

Solo vea cuántas opciones tiene hoy para un contenedor de servlets ... ¡Eso es el poder de una buena API!


Editar: Aparentemente, el tiempo de ejecución de Java 6 incluye la pila de Metro más un servidor web mínimo. En otras palabras, solo el JRE puede ser el reemplazo de andamios mencionado anteriormente: D

Otros consejos

Tanto Metro como CXF son pilas de servicios web compatibles con JAX-WS y, desde una perspectiva de tiempo de ejecución, hay muy pocas opciones entre ellas.

Sin embargo, CXF tiene muchísimo mejor documentación y mucha más flexibilidad y funcionalidad adicional si está dispuesto a ir más allá de la especificación JAX-WS. Solo en base a la documentación, elegiría CXF a lo largo del tiempo de Metroevery.

Sin embargo, elegiría Spring WebServices sobre Metro o CXF. No es compatible con JAX-WS, pero no considero que eso sea un problema. También es considerablemente más simple y considerablemente más flexible que cualquiera de ellos. Muy recomendable.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top