Domanda

Sto effettuando una revisione tecnica e sto esaminando l'integrazione di AMF con vari backend (Rails, Python, Grails ecc.).

Sono disponibili molte opzioni, la domanda è: cosa fanno i prodotti Adobe (BlazeDS ecc.) che qualcosa come RubyAMF / pyAMF non fanno?

È stato utile?

Soluzione

Oltre ai canali NIO (RTMP), gli LCDS includono anche le funzionalità di "gestione dei dati".

Usando questa funzionalità, sostanzialmente implementi, in una classe ActionScript, un'interfaccia simile a CRUD definita da LCDS e ottieni:

  • caricamento automatico progressivo degli elenchi (elenchi/griglie di dati di grandi dimensioni vengono caricati durante lo scorrimento)
  • gestione crud automatica (ottieni l'oggetto localmente in flash, lo modifichi, lo rispedisci e il DB si aggiornerà automaticamente)
  • funzionalità per la risoluzione dei conflitti (se più utenti tentano di aggiornare lo stesso record contemporaneamente)
  • se ricordo bene, anche una migliore integrazione con il motore del flusso di lavoro LiveCycle ES

IMO, può essere molto veloce sviluppare in questo modo, ma solo se si hanno solo requisiti di base e un'architettura semplice (dimentica SOA, che altrimenti funziona così bene con Flex).Sto bene con BlazeDS.

Altri suggerimenti

Le funzionalità di gestione dei dati per LCDS qui descritte sono sicuramente valide, tuttavia credo che non permettano di sviluppare effettivamente una soluzione più velocemente.Uno sviluppatore deve ancora scrivere TUTTO il codice di accesso ai dati, l'esecuzione delle query, l'estrazione dei dati dai lettori di dati in oggetti valore.TUTTO questo è stato risolto una dozzina di volte con i generatori di codici.Ad esempio, l'approccio alla gestione dei dati in WebORB per Java (molto simile a WebORB per .NET e PHP) si basa sulla generazione di codice che crea codice sia per il lato client che per il lato server.Ottieni tutte le API ActionScript dal generatore di codice per eseguire CRUD completo.

Inoltre, WebORB fornisce funzionalità di streaming video e messaggistica in tempo reale e va MOLTO oltre ciò che offrono BlazeDS e LCDS messi insieme, soprattutto considerando che il prodotto è gratuito.Basta cercarlo su Google.

Adobe ha due prodotti:Livecycle Data Services ES (LCDS) e BlazeDS.BlazeDS contiene un sottoinsieme di funzionalità LCDS ed è stato reso open source.Sfortunatamente i canali NIO (RTMP NIO/HTTP) e le funzionalità DataManagement sono implementati solo in LCDS, non in BlazeDS.

BlazeDS può essere utilizzato solo per integrare Flex con il backend Java.Offre non solo servizi remoti utilizzando la serializzazione AMF (come RubyAMF) ma anche funzionalità di messaggistica e collaborazione: dai un'occhiata a questo collegamento (http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=lcoverview_3.html).Inoltre suppongo che il supporto sia migliore rispetto a RubyAMF/pyAMF.

Se il tuo backend è JAVA e desideri utilizzare solo un prodotto gratuito puoi anche utilizzare GraniteDS o WebORB (concorrenti di BlazeDS)

Buona domanda.Non sono un tipo da Ruby (uso Java con Flex), ma ciò che credo differenzia Blazeds da Livecycle DS commerciale è

  1. Supporto del protocollo di streaming (rtmp): competizione per comet e simili, fornitura di video
  2. Alcune cose avanzate per l'ibernazione di oggetti separati e la memorizzazione nella cache di set di risultati di grandi dimensioni che non comprendo o di cui non ho bisogno
    1. supporto?Potrebbero essercene altri, ma quelli sono quelli che conosco dalla cima della mia testa.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top