Artigo sobre AdobeFlex + BlazeDS + SpringFramework + Hibernate (Part1)

Olá Pessoal!

Escrevi um artigo que mostra como integrar as tecnlogias que o título já descreve.

http://forum.flexbrasil.com.br/viewtopic.php?f=8&t=46

Está é apenas a parte 1, porém já é possível executar uma aplicação
com Flex e BlazeDS usando serviços do Java.

Source Disponível para Download.

Espero que gostem,

Obrigado!

Legal kra!

Essa semana vou escrever um integrando Flex + GraniteDS + Hibernate + Spring tudo no NetBeans.

Até mais!

Bacana a iniciativa amigo.
Já faz tempo que estou querendo me aprofundar no assunto (flex).
Estou animado para chegar em casa e ler o artigo, já que aqui no trabalho bloqueia qualquer url como “blog”.
Depois de ler coloco mais comentários.

Massa hen cara… bacana saber que a comunidade java está apar da tecnologia!
Quando escrever, poste aqui no forum -> http://forum.flexbrasil.com.br/viewforum.php?f=8

Bacana hen Kleber, cara não sabe o quão feliz fico sabendo que tem developers java afim da tecnologia!
Será um prazer te auxiliar no que for! :smiley:

Abraços!
\o/

cara primeiramente parabens pelo tutorial, ficou muito bom !!

agora, podia fazer um usando o SDK free , pra clarear um pouquinho a mente…

vlew e mais uma vez parabens…

Amigo,

Não há muita diferença se você não usar o Builder,

baixe o sdk aki -> http://labs.adobe.com/technologies/flex/sdk/flex3sdk.html

Compile os códigos igual você faz com um javac da vida

A única coisa que tem q fazer, é adicionar o parametro do "services" no compiler. (O último item do meu artigo)

amigos,
quais as vantagens do flex com relação ao laszlo?

obrigado

[quote=raf4ever]amigos,
quais as vantagens do flex com relação ao laszlo?

obrigado
[/quote]

Você quer mesmo saber? :stuck_out_tongue:
Então vamos lá! :lol:

O Flex diferente do Laszlo foi projetado para ser uma solução enterprise, ao contrário que muitos fazem,
não foi feito para fazer simples sites e etc… Não sei se sabe, mais todo o sdk do Flex foi baseado no no sdk do java,
como por exemplo:

*O esquema de pacotes;
*O empacotamento das classes; (o .jar do java se chama .swc no flex)

Falando a nível de view, o Flex usa ActionScript para gerar seus componentes, alguns não sabe mas a
Adobe doou parte da VM Flash Player a Mozilla, com o codenome de Tamarin.

O que roda na VM FlashPlayer é ActionScript, liguagem desenvolvida por quem desenvolveu a VM FlashPlayer,
que por sua vez é a linguagem do Flex.

Quanto ao Laszlo, fizeram algumas coisas extrondosas para transformar o .lzx em Flash, aí você diria:

Isso é mesmo uma vantagem? já executou uma aplicação de médio porte com saída para DHTML?
ou até mesmo para Flash, o on demand dele pede arrego! fica muito lento.
E outra, você que desenvolve app’s web que usa html/js/css para denotar interface…
Quantos problemas de compatiblidade de browsers você já teve?

Sou muito mais a favor de executar minhas aplicações em cima de uma VM, no caso o FlashPlayer,
logo me preocupo apenas com as lógicas de interface, não com possíveis problemas de máquinas clientes.

A Adobe doando parte da engine para a Mozilla, colaborou muito para a nova Especificacao ECMA Script,
que está resutando na nova engine de JS, há até rumores que nas próximas versões do Firefox
será capaz de executar um código ActionScript (Tamarin) sem a necessidade do plugin Flash.
Tem até um pessoal que fez um Bechmark com o Tamarin testando a VM:

http://www.phpavancado.net/node/415 o bixo se saiu muito bem!

Falando ainda de desenvolvimento de View, o uso de mxml que é nada mais nada menos que uma linguagem de marcacao,
ajuda muito o desenvolvimento, você pode fazer tudo e um pouco mais com algumas simples tag’s.

Fora que se você quiser fazer um componente (Detalhe tudo! no flex é orientado a objetos)
você pode usar todos os conceitos do paradigma O.O para escrever seus componenetes em AS,
e depois distribuir facilmente em pacotes .swc que pode ser usado usando o MXML.

CSS: trabalhar com css no flex é muito bom, se você usar o Flex Builder 3, você faz seus estilos visualmente,
clicando e arrastando! é muito produtivo.

Ok, agora falando a nível de back-end, já ouviu falar no BlazeDS? cara esse bixo ae é louco de mais!!! e o melhor é OpenSource!!!

Você sabe o que é a tecnlogia data-push? se não, imagine como se fosse uma implementacao do Pattern Observer.
No flex voce fala ao componente assim, Seja data-push e entao o servidor cuida do resto!

Ex: Se eu tenho 30 pc clientes com uma lista de Clientes em Tela de Venda, se algum outro pc cliente atualizar a lista, na hora os 30 pc’s atualizam a lista de clientes cadastrados.

Outro detalhe esse acredito ser o mais importante… como vc desenvolve com o Laszlo? XML? WebServices?
Com o Flex você pode simplesmente trocar objetos java com objetos Flex/ActionScript! e o melhor!!
A tranferência de dados é feita sobre um protocolo chamado AMF, que roda em cima do HTTP,
Este provê compactacão e tranferência binaria!! isto é, nada de texto como acontece com JSF(HTML/JS) ou Laszlo e outros afins.

Observe isto: http://www.jamesward.org/census/ faça os testes.

Fora que o BlazeDS oferece canais que voce pode fazer streaming sobre puro http e etc…
Para fazer um chat vc nao leva nem 1 hora!

O SDK do Flex é open source, e já está nascendo IDE’s de graça também! como o FlashDeveloper
E se você é estudante ou do genero, você pode baixar seu Flex Builder 2 de graça!

http://www.flexregistration.com/

Que vem com a API de Charts que por sinal é muito boa!!!
(Já tentou fazer algo dinâmico e interativo com JFreeChart para rodar na WEB?)

Posso estar exagerando? pode até ser… mais você já olhou o mercado lá fora?
Virão qual tecnologia está sendo mais usando no Front-end?

Abraço, Qualquer coisa estamos ae! :lol:

\o/

Powww… legal galera … também estou me baseando nesse linke que foi postado

Artigo sobre AdobeFlex + BlazeDS + SpringFramework + Hibernate (Part1)

Já dei inicio aos estudos sobre o BlazeDS…

…vamo q vamo…

Se alguem tiver afim de trocar figurinha… meu email pra contato

criativ4@hotmail.com

só para não acharem que tudo são flores, seguem alguns problemas do flex:
a internacionalização é sofrivel, onde ja se viu ter que compilar um SWF para cada lingua suportada?
suporte a help online para os usuários é simplesmente inexistente
a depuração das aplicações ainda esta bem fraquinha

mas fora isto não encontrei maiores problemas :smiley:

Posso Argumentar?

A internacionalização, não necessáriamente precisa ser desta forma.
Você pode fazer Runtime -> http://labs.adobe.com/wiki/index.php/Flex_3:Feature_Introductions:_Runtime_Localization

Uma app que fiz assim -> http://www.flexdev.com.br/flexcenso/

Ou então assim -> http://www.sephiroth.it/phpwiki/index.php?title=Gettext_actionscript3

=========================/

Suporte online? hun… boas listas e forums existem, se não está contente com as brasileiras, use a flexcoders, aonde tem sempre um consultor Adobe.

Outro detalhe também é a rica documentação, apesar de muitos reclamarem de não que não acham as informações, na verdade falta é um pouco de interesse em buscar.

Talvez isso possa ajudar -> http://forum.flexbrasil.com.br/viewforum.php?f=2

======================/

Quanto a depuração… desculpas mas não entendi aonde está o seu problema,
pois o debugger atende muito bem, e no Flex Builder 3 tem até Profile.

sim pode argumentar …
quanto a internacionalização, eu tive que implementar algo parecido com o gettext também, mas é gambiarra, pois não faz parte do SDK …
tudo bem, no flex3 vai ter suporte para isto, mas a versão atual é a 2 …

eu não disse suporte online, disse help online para o usuário da aplicação, quero que o usuário precione F1 e abra uma página de ajuda, que seja HTML ou qualquer coisa sem precisar ficar interceptando keydown …

O debugger do Flex 3 realmente melhorou bastante, mes ele ainda não esta na versão final, então estou falando do Flex Builder 2 …

Olá Pessoal,

A parte 2 se encontra aqui -> http://www.guj.com.br/posts/list/80540.java

Gostaria de saber a opinião de vocês sobre a estrutura apresentada usando Spring.

Abraços!

Fala ai Rodrigo,

Gostei da sua iniciativa em apresentar o melhor em [color=green]programação declarativa(Script) em Tecnologia RIA[/color], realmente Abode Flex[color=blue] veio para desbancar JSF & AJAX. [/color]
Até então estava acompanhando um forum sobre as caracteristicas técnicas entre ambas e Abode vence em todos os quesitos técnicos.
Até sobre a[color=red] Nova tecnologia RIA para Java o JavaFx
[/color]não tem tanta predominância sobre questões mais complexas se limitando mesmo a dispositivos movéis, pórem ainda em evolução.
Não foi atoa que a Sun Microsystems se viu em uma tentativa até de se fundir com a Macromedia

Abraços

Olá Marcio!

Kra desde que conheci o flex, vejo ele como uma solução para as interfaces web. Não só por ser bonitinhu e tals…

É muito pela facilidade de desenvolvimento, e o principal motivo, não preciso ficar programando compatibilidade entre browsers!

Só isso já mata a pau! Vida longa ao Flex…

Abraços!
\o/

Rodrigo, sendo que na app q vc enviou com internacionalização, existe como detectar como o browse esta configurado para poder mudar a language?

Vc tem usado o Flex com Hibernate, como tem resolvido o problema do lazy quando o DS vai fzr serialização do obj pra o Client, pq dá erro de lazy, visto que o proxy já não existe mais e tambem não qro q ele busque a árvore toda.

[s]
baiano

Flex tem se mostrado uma ótima solução para sistemas WEB!

Acredito que o grande problema é o tamanho do .swf final, mas para isso já existe várias formas de otimização como criar módulos.

A grande vantagem é a produtividade!!! mto rápido e fácil de trabalhar… e é claro, fica mto bonito o design.

vida longa ao FLEX!!!

Olá George, o que você pode fazer é usar a API do Flex: ExternalInterface e resgatar esses valores do javascript, ou então se você está trabalhando com um páginas jsp da vida, passe via QueryString para o Flex.

Então amigo, eu tenho usado o Flex com Hibernate usando o BlazeDS, como no artigo, e este é um problema ainda não achei a melhor forma para fazer, pois a Adobe no seu produto LCDS, tem um módulo especifico para trabalhar com Lazy e etc…

Mas, existem algumas soluções, leia essa thead que abri discutindo o assunto:
http://tech.groups.yahoo.com/group/flexcoders/message/98655

Um consultor da Adobe da alguns workarounds para o problema.
Mas se não estiver usando o Blaze, tem o GraniteDS, se não me engano ele tem algo que implementa o lazy do hibernate.

É isso ae, o Flex é o cara! +)

Quanto ao tamanho do swf, existem outros workarounds como o uso de RLS (Run time Shared Library)
Ou então usando API’s externas como o Masapi -> http://code.google.com/p/masapi/

Mas… tudo depende da estrutura da sua infra, basta você arquiteturar seu sistema modularizado, que os modules já atende muito bem.

Afinal, gosto de usar Flex para sistemas!! e não para sites…

=)

Abraços!
\o/

Com toda a capacidade do Flex seria inútil usá-lo para sitezinhos…

Acredito que deve-se usar para sistemas tbm!

Pessoal,
Gerei 2 versões do projeto,

Para:
Eclipse 3.2 / Flex Builder 2 / Tomcat 5.5 /

E outra para:
Eclipse 3.3 / Flex Builder 3 / Tomcat 6 /

Como o Flex Builder 2 pode ser baixado de graça, achei interessante re-estruturar para o Flex 2.

Segue o Link -> http://forum.flexbrasil.com.br/viewtopic.php?f=8&t=46