flex blazeds

flex - BlazeDS vs. GraniteDS



(2)

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


Algunas notas al margen sobre los comentarios de Cliff:

  1. GraniteDS se creó a fines 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 deben a la falla al compilar todas las clases AS3 generadas en el 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 de GraniteDS provienen de BlazeDS / LCDS debido a que estos dos marcos no están manejando correctamente los modelos de datos complejos (sin o con soporte de carga lenta defectuoso, aislamiento de transacciones incorrecto, etc.)

Entonces, 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.


Si solo estás buscando 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 lograr que analizara correctamente los 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.