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 debería estar mirando también?Comparación entre Sun Metro y Apache CXF para el desarrollo de servicios web?
Respuesta
Estuve en su 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 utiliza anotaciones estándar para exponer un método dado como un servicio web y que todo el código de pegamento podría generarse automáticamente en tiempo de ejecución. Es decir. no hay pasos adicionales para realizar al construir e implementar y funciona en un contenedor servlet estándar (creo que 2.5) en Java 5, que es nuestra plataforma de implementación actual.
Esto ha funcionado muy bien para nosotros.
La razón por la cual fui para las anotaciones estándar es la muy simple que nuestras aplicaciones tienden a vivir literaly durante décadas, después de lo cual debe hacerse algún mantenimiento. Al codificar una interfaz en lugar de una implementación, podemos cambiar 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 surgido desde entonces y ser inmediatamente conectables.
Solo vea cuántas opciones tiene hoy para un contenedor de servlets ... ¡Ese es el poder de una buena API!
Editar: Aparentemente el tiempo de ejecución de Java 6 incluye la pila Metro además de un servidor web mínimo. En otras palabras, el JRE solo puede ser el reemplazo de andamiaje mencionado anteriormente: D
+1 por pensar en esos pobres tontos que tendrán que descifrar este código dentro de 10 años. ¡Puede ser uno de nosotros! –
@yar, simplemente esperaba que NO TENÍA que ser yo :) –
AFAIK, Java 6 no incluye Metro, incluye JAX-WS RI, que es un subconjunto de Metro (Metro = JAX-WS + WSIT /Tango). Pero sí, con Java 6, puede publicar un punto final del servicio web a través del método 'Endpoint.publish()', utilizando el servidor HTTP integrado en Java SE 6. Consulte http://www.javapassion.com/webservices/jaxwsjavase6. pdf. –
Tanto Metro como CXF son apilamientos de servicio web JAX-WS, y desde una perspectiva de tiempo de ejecución, hay muy poca selección entre ellos.
Sin embargo, CXF tiene ampliamente 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. Basándome solo en la documentación, escogería CXF durante el tiempo de Metroevery.
Sin embargo, elegiría Spring WebServices en Metro o CXF. No es compatible con JAX-WS, pero no lo considero un problema. También es considerablemente más simple y considerablemente más flexible que cualquiera de ellos. Muy recomendable.
¿Podría explicarnos un poco sobre la funcionalidad CXF de la que habla y sobre la Spring WS ídem? –
La alegría de CXF y Spring-WS es que puedes ir a sus sitios web y leer la excelente documentación para ver lo que pueden hacer :) – skaffman
Lo sé, es posible que hayas visto que había estado buscando un marco así. Estaba pensando en - como - experiencias reales y cosas que indicaste que tenías y yo tenía la extraña idea de que tal vez incluso querrías compartirlas ... Lástima de mí. –
- 1. Diferencia entre Apache CXF y Axis
- 2. Python para el desarrollo web en Apache
- 3. Reutilizar CXF contexto jaxb entre servicios múltiples
- 4. Cómo elegir CXF en Metro en Glassfish
- 5. Applet Web service client, con Eclipse Indigo usando Apache CXF,
- 6. Cliente Apache CXF para puntos finales dinámicos
- 7. python vs java en el desarrollo de servicios web?
- 8. Diferencia entre CXF y JAX-WS
- 9. ¿Servicios web por contrato?
- 10. Desarrollo de módulos DotNetNuke con servicios web
- 11. Implementación de Apache Wink y Apache CXF JAX-RS
- 12. ¿Qué significa CXF en "Apache CXF"?
- 13. Tema de Metro para el sitio web
- 14. ¿Existen equivalencias entre las tecnologías de Microsoft y Oracle/Sun?
- 15. diferencia entre los servicios web y aplicaciones web
- 16. Apache CXF: Cómo proteger el servicio web JAX-RS con autenticación básica
- 17. ¿Cuál es el mejor marco de servicios web de Java?
- 18. IDE para el desarrollo web de Django
- 19. ¿Hardware recomendado para el desarrollo Metro de Windows 8?
- 20. Seguridad de servicios web y certificados de Windows
- 21. es tranquilo solo para servicios web O para servicios web Y páginas web?
- 22. ¿Es posible generar un código de cliente de servicios web en un paquete especial usando apache cxf en maven?
- 23. ¿Jersey es solo un marco para desarrollar servicios web RESTful en Java?
- 24. Comparación entre los servicios web de Amazon (AWS) o los servidores en la nube Rackspace?
- 25. Detección de desconexiones de cliente en servicios web
- 26. Apache CXF + Spring: Autenticación de certificado simple
- 27. Apache CXF - Conjunto de la cabecera HTTP
- 28. ¿Existen alternativas confiables a la JVM de Sun para el desarrollo de escritorio y empresas?
- 29. servicios web, aplicación web
- 30. Cómo reducir el tamaño de la memoria de los objetos stub del cliente Apache CXF?
Mire [WS StackComparison] (http://wiki.apache.org/ws/StackComparison) - eso le traerá algunas ideas. –