Este artigo apresenta o framework
BlazeDS para auxílio na integração do Flex com Java em busca de maior
performance na comunicação e como utilizar os recursos avançados do BlazeDS
para desenvolver RIAs de qualidade. Serve para aqueles que pensam em utilizar ou estão utilizando soluções
de interfaces baseadas no Adobe Flex e estão em busca da melhor maneira de
utilizar o Flex com Java. O conteúdo deste artigo é útil
quando há a necessidade de criar uma interface para o usuário final de
qualidade e com desempenho na troca de dados entre o cliente e o servidor. Integrando Flex com Java utilizando o BlazeDS: O Adobe Flex é um framework open source utilizado para a construção de
Rich Internet Applications que contém todas as formas de comunicação com
serviços existentes no mercado, como HTTP, web services e também Remoting. Para que o suporte a Remoting fique funcional, é necessário a
utilização de um DataServices no back-end. Um dos melhores e mais maduros é o
BlazeDS, uma solução desenvolvida pela própria Adobe. Utilizar Remoting em
aplicações que exigem performance é sem dúvidas a melhor escolha, pois a
comunicação entre o cliente e o servidor passa a ser feita de forma binária,
compacta e trafegando somente objetos; nada de texto como nos outros modelos de
comunicação. O Flex também suporta nativamente o recurso de tráfego de mensagens (data-push,
semelhante à JMS), utilizando os componentes producer e consumer.
Para que serve:
Em que situação o tema é útil:
Dentre as etapas do desenvolvimento de um projeto de software web, o desenvolvimento de interfaces aprimoradas e customizadas sempre demanda mais tempo. Principalmente no modelo atual, no qual o desenvolvedor na maioria das vezes tem de se preocupar em resolver problemas que a tecnologia escolhida não visa atender, como por exemplo, a incompatibilidade da solução desenvolvida com todos os browsers presentes no mercado.
Quando se trata de aplicações ricas, o usuário não está mais contente só com uma interface agradável. Por causa das aplicações presentes na internet construídas pelos grandes players de mercado, como o Google, Yahoo, Microsoft, os usuários estão querendo cada vez mais aplicações mais interativas, dinâmicas, e com dados em tempo real. Em outras palavras, não se espera sistemas onde há a necessidade de procurar um dado, interpretar e gerar um conhecimento, mas cresce cada vez mais a procura de sistemas com dashboards compostos por relatórios e gráficos com foco na área de conhecimento em que está sendo utilizado, dados estes vindos em tempo real, trazendo o estado atual da organização onde o sistema está implantado.
A Adobe identificando essas necessidades criou o Adobe Flex como solução para a construção de interfaces ricas, hoje disponível como open source para a comunidade. Também criou soluções baseadas em Java para dar todo o suporte necessário para as aplicações ricas, estes chamados de DataServices, que detêm várias funcionalidades que envolvem performance e mecanismos que visam resolver problemas comuns no desenvolvimento cotidiano de software.
Hoje no mercado existem vários DataServices para serem usados com interfaces baseadas no Flex. O oficial criado pela Adobe chama-se LiveCycle DataServices (LCDS), solução Java EE proprietária, porém robusta e recomendável para softwares de grande porte. A Adobe também criou o Blaze DataServices (BlazeDS), este disponível para a comunidade como software open source sob os termos da GNU Lesser General Public License Version 3, publicada pela Free Software Foundation.
Há outros DataServices disponíveis como open sources, dentre os mais famosos está o Granite DataServices (GraniteDS) criado e mantido por Franck Wolff, na qual se destaca por integrações nativas com EJB3, JBoss Seam, SpringFramework, Guice/Warp, implementação de Data Push (modelo arquitetural de software conhecido como Comet) e solução para cache no lado do cliente (Tide). Existe também o Exadel Flamingo que é uma solução que serve tanto para o Flex quanto para o JavaFX, focado em integrar de forma nativa ao JBoss Seam ou o Spring Framework. O Flamingo traz suporte nativo ao protocolo Hessian, não presente nos outros data services. Ele também é composto por vários componentes que atuam no lado cliente, como por exemplo, validadores aprimorados, serviços de binding etc.
O BlazeDS é o data services favorito do momento: isso se dá por ser criado pela própria Adobe, por ser parte do oficial LCDS e principalmente por estar ganhando espaço na comunidade Java. Por exemplo, a Spring Source iniciou um projeto chamado “Spring-Flex” que contém soluções para integrações com o BlazeDS e o SpringFramework. Portanto, este artigo aborda as principais funcionalidades do BlazeDS e como integrá-lo com Java.
O Blaze Data Services
O BlazeDS é um framework construído em Java que suporta a tecnologia de remoting e web messaging, habilitando o desenvolvedor a distribuir e publicar os dados provido de serviços no back-end em tempo real ou não para interfaces baseadas no Adobe Flex e no Adobe AIR.
O BlazeDS é composto por boa parte do LCDS, não presentes apenas funcionalidades que dizem respeito a gerenciamento de dados (data management) como sincronização de dados, suporte a aplicações off-line e paginação de dados; também não inclui geração de relatórios PDF ou suporte nativo a deployment em portais. O BlazeDS apesar de não ter essas funcionalidades, é composto por diversas outras funcionalidades que colaboram para o desenvolvimento de aplicações ricas. A Figura 1 exibe o BlazeDS em contraste com o LCDS (LiveCycle DataServices).
Figura 1.
Conforme as RIAs foram evoluindo, houve a necessidade de criação de opções para uma melhor conectividade de dados. O modelo chamado de Remoting baseado em RPC (Remote Procedure Call) simplifica o consumo de serviços construídos e publicados com Java. Uma interface baseada em Flash como o Flex, consegue acessar os métodos que compõem os serviços diretamente, algo como realizar uma chamada meuServico.meuMetodo() diretamente. Para que isso seja possível, criou-se o formato chamado AMF (AMF-Action Message Format) para o tráfego dos dados; trata-se de um formato binário com compactação baseado no SOAP, que pode ser executado sobre o protocolo HTTP.
Utilizando Remoting via AMF, ganha-se performance, permitindo que as aplicações carreguem os dados até 10 vezes mais rápido do que se carregasse em um formato baseado em texto, como XML e SOAP. Quando se trata de uma RIA construída em Flex que atuará em um ambiente corporativo, utilizar o BlazeDS ou qualquer outro DataServices que suporte remoting é a melhor opção, principalmente quando há um grande fluxo de dados.
Características do BlazeDS
A Tabela 1 exibe as principais características do BlazeDS.
|
Confira outros conteúdos:
Introdução ao JDBC
Novidades do Java
Teste unitário com JUnit
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.