2009-01-09 12 views
13

¿Alguien tiene alguna experiencia evaluando BlazeDS y GraniteDS? Tengo curiosidad sobre cuál es mejor para integrarse con Spring/Hibernate.BlazeDS vs. GraniteDS

Respuesta

11

Si solo buscas RPC y mensajes simples, me gustaría ir con Blaze. Las implementaciones son más maduras y están mejor probadas, especialmente con respecto a los mensajes. Los mensajes en Granite se basan en Comet y todavía son bastante nuevos por lo que recuerdo. Más detalles a continuación ...

Blaze DS es básicamente una pila que incluye RPC y algunos servicios simples de mensajería a través de HTTP. La integración con Spring se logra fácilmente utilizando la implementación de FlexFactory de SpringFactory: simplemente busque el nombre de la clase en google y encontrará el código. No ofrece ningún soporte adicional para cosas relacionadas con Hibernate.

Granite DS está creciendo rápidamente en términos de características. Compite más con LCDS que con Blaze DS. Incluye la capacidad de analizar gráficos de objetos Hibernate y tratar los proxies perezosos de una manera limpia. También tienen una herramienta llamada "Tide" que crea un análogo de una sesión en el cliente Flex para garantizar la singularidad de las entidades. También tienen soporte explícito para los servicios expuestos a través de Spring, EJB3 y Seam. Granite también tiene una utilidad para generar clases AS3 a partir de las clases de Java (aunque esto no es difícil de escribir si lo desea).

Trabajé con Granite hace aproximadamente un año y tuve algunos problemas para hacer que analizara correctamente gráficos de objetos; Flash Player lanzaría algunas desagradables excepciones de bajo nivel. Creo que la documentación y la implementación han madurado desde entonces, por lo que ya no son problemas. Sin embargo, todavía estoy un poco indeciso para recomendarlo ya que me encontré con problemas y cambiar a Blaze inmediatamente los resolvió sin ningún problema.

1

Unas pocas notas laterales sobre los comentarios de Cliff:

  1. GraniteDS se crearon a finales de 2006, aproximadamente un año antes de BlazeDS. Se usa ampliamente en entornos de producción exigentes y podría al menos considerarse tan maduro y probado como BlazeDS.
  2. La mensajería GraniteDS se introdujo en la versión 1.0 (a fines de 2007, pocas semanas después de la primera versión de BlazeDS), ahora es muy madura y está probada también en entornos de producción exigentes.
  3. Las excepciones de Flash Player encontradas por Cliff generalmente se producen al no compilar todas las clases de AS3 generadas en el archivo SWF. Solo es cuestión de utilizar una opción del compilador Flex que fuerce la inclusión de estas clases faltantes, que son parte del modelo de gráfico de datos y se requieren en el momento de la deserialización pero no se usan explícitamente en el código MXML/AS3.
  4. La mayoría de los usuarios GraniteDS están viniendo BlazeDS/LCDS porque estos dos marcos no se trata correctamente con los modelos de datos complejos (sin o defectuosa de soporte de carga perezosa, mal aislamiento de la transacción, etc.)

Por lo tanto, En mi humilde opinión, a menos que esté desarrollando una pequeña aplicación con un modelo de datos bastante trivial, debe ir a GraniteDS.

Cuestiones relacionadas