Pregunta

Estoy haciendo una revisión técnica y analizando la integración de AMF con varios backends (Rails, Python, Grails, etc.).

Hay muchas opciones disponibles, la pregunta es: ¿qué hacen los productos de Adobe (BlazeDS, etc.) que algo como RubyAMF/pyAMF no hace?

¿Fue útil?

Solución

Además de los canales NIO (RTMP), los LCDS también incluyen funciones de "gestión de datos".

Al utilizar esta función, básicamente implementas, en una clase de ActionScript, una interfaz tipo CRUD definida por LCDS y obtienes:

  • carga progresiva automática de listas (las listas grandes/cuadrículas de datos se cargan mientras se desplaza)
  • gestión automática de basura (obtiene el objeto localmente en flash, lo modifica, lo envía de vuelta y la base de datos se actualizará automáticamente)
  • función para resolución de conflictos (si varios usuarios intentan actualizar el mismo registro al mismo tiempo)
  • si mal no recuerdo, también alguna integración mejorada con el motor de flujo de trabajo LiveCycle ES

En mi opinión, puede ser muy rápido desarrollarlo de esta manera, pero solo si solo tiene requisitos básicos y una arquitectura simple (olvídese de SOA, que de otra manera funciona tan bien con Flex).Estoy bien con BlazeDS.

Otros consejos

Las funciones de administración de datos para LCDS descritas aquí son ciertamente válidas, sin embargo, creo que no le permiten desarrollar una solución más rápido.Un desarrollador todavía tiene que escribir TODO el código de acceso a datos, ejecutar consultas y extraer datos de lectores de datos en objetos de valor.TODO esto se ha solucionado una docena de veces con generadores de códigos.Por ejemplo, el enfoque de gestión de datos en WebORB para Java (muy parecido a WebORB para .NET y PHP) se basa en la generación de código que crea código tanto para el lado del cliente como para el lado del servidor.Obtienes todas las API de ActionScript del generador de código para realizar CRUD completo.

Además, WebORB proporciona funciones de transmisión de video y mensajería en tiempo real y va MUCHO más allá de lo que ofrecen BlazeDS y LCDS combinados, especialmente considerando que el producto es gratuito.Sólo búscalo en Google.

Adobe tiene dos productos:Servicios de datos Livecycle ES (LCDS) y BlazeDS.BlazeDS contiene un subconjunto de funciones LCDS y se hizo de código abierto.Desafortunadamente, los canales NIO (RTMP NIO/HTTP) y las funciones de administración de datos se implementan solo en LCDS, no en BlazeDS.

BlazeDS sólo se puede utilizar para integrar Flex con el backend de Java.Ofrece no solo servicios de comunicación remota utilizando la serialización AMF (como RubyAMF), sino también funciones de mensajería y colaboración; eche un vistazo a este enlace (http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=lcoverview_3.html).También supongo que el soporte es mejor en comparación con RubyAMF/pyAMF.

Si su backend es JAVA y desea utilizar sólo un producto gratuito, también puede utilizar GraniteDS o WebORB (competidores de BlazeDS)

Buena pregunta.No soy un tipo Ruby (uso Java con Flex), pero lo que creo que diferencia a Blazeds de los Livecycle DS comerciales es

  1. Soporte de protocolo de transmisión (rtmp): competencia por cometas y demás, entrega de video
  2. Algunas cosas avanzadas para hibernar objetos separados y el almacenamiento en caché de conjuntos de resultados grandes que no entiendo completamente o no necesito
    1. ¿apoyo?Podrían ser otros, pero esos son los que conozco de memoria.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top