2010-04-24 19 views
66

¿Cuáles cree que son las ventajas/desventajas entre estas dos bibliotecas? ¿Cuál de estos dos es el más adecuado para el entorno de producción? Por cierto, usaré JSON en lugar de XML.Implementación de Java REST: Jersey vs CXF

También me gustaría saber qué biblioteca es más compatible con la comunidad, p. tutoriales, documentación.

+0

Ver http://meta.stackexchange.com/questions/71068/a-few-possible-duplicate-questions-about-java-rest-what-should-we-do – ripper234

+0

Pregunta similar aquí http: // stackoverflow .com/questions/80799/jax-rs-frameworks – Kirby

Respuesta

4

Solo he usado Jersey (con gran satisfacción) así que no puedo dar una comparación real. Cosas que tal vez desee considerar:

  • CXF está empaquetado con pila de jabón apoyo para que traer una gran cantidad de de peso relacionada con SOAP que nunca uso cuando se construye un sistema REST. (Hay planes para dividir el envase por lo que yo sé, sin embargo)
  • Jersey viene con una serie de adiciones no estándar a JAX-RS que son muy útiles. También hay un marco de núcleo del lado del cliente que es diseñado bastante bien.
  • [Advertencia: Enchufe desvergonzado por delante (lo siento)]: He estado trabajando en un cliente marco lado de Jersey extendida que fomenta la adecuada uso del resto en el lado del cliente y es (en mi humilde opinión al menos) muy natural a utilizar . Se planea anunciar esta (o siguiente) semana - si le importa mucho el lado del cliente , pruébelo. Personalmente, consideraría que es un gran argumento pro-Jersey.

HTH,

Ene

+0

En cuanto a su plug desvergonzado, ¿dónde podría encontrar alguna documentación/información/etc. en él que podría ser capaz de darle un giro? –

+0

Nick, solo estoy escribiendo la publicación introductoria del blog. Paul Sandoz planea hacer algunos cambios en el repositorio final esta mañana. Una vez hecho esto, saldremos al público. Encontrará el blog en http://nordsc.com/blog/ (con suerte esta tarde). –

+0

Nick, aquí tienes :-) | La estructura del lado del cliente de Jersey: http://www.nordsc.com/blog/?p=439 –

44

He usado ambos, pero para diferentes propósitos. CXF funcionó muy bien para analizar un WSDL y crear POJOs de Java para interactuar, por lo que CXF es bastante bueno para los servicios WSDL del lado del cliente. Actualmente estoy usando Jersey para la implementación del lado del servidor y estoy impresionado con la simplicidad de comenzar a usar los servicios RESTful usando Jersey.

Como Jersey se dedica principalmente a servicios RESTful y CXF trata principalmente (¿todos?) Con SOAP, creo que se trata de si desea trabajar con SOAP o REST y determinar el mejor marco para el trabajo desde allí. Personalmente, estoy más en el campamento REST que en SOAP, pero mis necesidades son diferentes. Si me encuentro en una situación en la que el proveedor/cliente/empresa para el que escribo el servicio necesita algún tipo de contrato, aún puedo presionar para REST (y el equivalente de REST para servicios basados ​​en contrato, WADL), pero probablemente se requiera implementar un servicio SOAP, en cuyo caso miraría primero a CXF y luego a todo lo demás.

Personalmente, Jersey es bastante bueno para un marco JAX-RS, aunque no excluya RESTEasy, por JBoss. Me gustan ambos, pero la documentación para RESTEasy es mejor.

Para CXF, la documentación está bien, pero me encontré con inconsistencias en la forma en que necesitaba manejar SSL y Proxies HTTP, pero finalmente funcionó. CXF brinda más información sobre estas características adicionales, y yo diría que RESTEasy proporcionaría la funcionalidad equivalente para los frameworks RESTful.

+11

CXF también hace RESTO. Vea aquí: http://cxf.apache.org/docs/jax-rs.html – HDave

+1

Apache CXF ofrece [tres metodologías] (http://cxf.apache.org/docs/restful-services.html) para usar REST : JAX-RS, JAX-WS y enlace HTTP. – hotshot309

3

¿Considera que usted es RESTlet? Es un paquete potente para crear rápidamente servicios web RESTful.Las personas detrás de RESTlet también escriben el libro RESTlet In Action que se encuentra actualmente en acceso anticipado. Los capítulos que ya están disponibles hacen un muy buen trabajo explicando REST y detallando cómo diseñar DISPAS.

1

He usado Apache CXF para JAX-WS y Jersey para JAX-RS, así que no puedo hacer ningún comentario sobre CXF y REST. Fue fácil configurar un ejemplo de REST usando Jersey. La documentación fue adecuada. No he usado RESTEasy, pero Jersey parece tener más tracción y actualizaciones más recientes.

Un buen libro para las pautas de implementación es RESTful Web Services Cookbook.

2

Si usted está preocupado por los detalles de la conversión de una solución desarrollada con Jersey para ejecutarse en CXF, Glen Mazza posted a collection of Jersey samples ported to Apache CXF on GitHub. Los archivos README tienen notas para cada muestra con respecto a los cambios necesarios realizados.

+0

el enlace está roto, puede actualizarlo, si es posible –

+0

@AnkurLoriya Lo intenté. Glen movió su blog a https://web-gmazza.rhcloud.com/, pero no pude encontrar ese artículo allí. Voy a arreglar la respuesta. –

Cuestiones relacionadas