Pergunta

Estou fazendo uma revisão técnica e analisando a integração do AMF com vários backends (Rails, Python, Grails etc).

Muitas opções estão por aí, a questão é: o que os produtos Adobe fazem (BlazeDS etc.) que algo como RubyAMF/pyAMF não faz?

Foi útil?

Solução

Além dos canais NIO (RTMP), os LCDS incluem também os recursos de “gerenciamento de dados”.

Usando esse recurso, você basicamente implementa, em uma classe ActionScript, uma interface semelhante ao CRUD definida pelo LCDS e obtém:

  • carregamento progressivo automático de listas (cargas grandes de listas/datagrids durante a rolagem)
  • gerenciamento automático de dados brutos (você obtém o objeto localmente no flash, modifica-o, envia-o de volta e o banco de dados será atualizado automaticamente)
  • recurso para resolução de conflitos (se vários usuários tentarem atualizar o mesmo registro ao mesmo tempo)
  • se bem me lembro, também alguma integração aprimorada com o mecanismo de fluxo de trabalho LiveCycle ES

IMO, pode ser muito rápido desenvolver desta forma, mas somente se você tiver apenas requisitos básicos e uma arquitetura simples (esqueça SOA, que de outra forma funciona tão bem com Flex).Estou bem com BlazeDS.

Outras dicas

Os recursos de gerenciamento de dados para LCDS descritos aqui são certamente válidos, porém acredito que eles não permitem desenvolver uma solução mais rapidamente.Um desenvolvedor ainda precisa escrever TODO o código de acesso a dados, executar consultas e extrair dados de leitores de dados em objetos de valor.TUDO isso foi resolvido dezenas de vezes com geradores de código.Por exemplo, a abordagem de gerenciamento de dados no WebORB para Java (assim como no WebORB para .NET e PHP) é baseada na geração de código que cria código tanto para o lado do cliente quanto para o lado do servidor.Você obtém todas as APIs do ActionScript do gerador de código para fazer o CRUD completo.

Além disso, o WebORB oferece recursos de streaming de vídeo e mensagens em tempo real e vai MUITO além do que BlazeDS e LCDS oferecem combinados, especialmente considerando que o produto é gratuito.Basta pesquisar no Google.

Adobe tem dois produtos:Livecycle Data Services ES (LCDS) e BlazeDS.BlazeDS contém um subconjunto de recursos do LCDS e foi desenvolvido como código aberto.Infelizmente, os canais NIO (RTMP NIO/HTTP) e os recursos de gerenciamento de dados são implementados apenas em LCDS, não em BlazeDS.

BlazeDS pode ser usado apenas para integrar Flex com backend Java.Ele oferece não apenas serviços remotos usando serialização AMF (como RubyAMF), mas também recursos de mensagens e colaboração - dê uma olhada neste link (http://livedocs.adobe.com/blazeds/1/blazeds_devguide/help.html?content=lcoverview_3.html).Também suponho que o suporte seja melhor comparado com RubyAMF/pyAMF.

Se o seu backend for JAVA e você quiser usar apenas um produto gratuito, você também pode usar GraniteDS ou WebORB (concorrentes do BlazeDS)

Boa pergunta.Não sou um cara de Ruby (uso java com flex), mas o que acredito diferenciar blazeds vs comercial livecycle ds é

  1. Suporte a protocolo de streaming (rtmp) - competição por cometa e outros, entrega de vídeo
  2. Algumas coisas avançadas para hibernar objetos desanexados e cache de grandes conjuntos de resultados que não entendo totalmente ou não preciso
    1. apoiar?Podem ser outros, mas esses são os que conheço de cabeça.
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top