O mercado de R.I.A. está em constante crescimento e as empresas estão adotando cada vez mais o Flex como interface para seus sistema.
Recentemente a Adobe Liberou a especificação do AMF3 oque possibilitou uma melhor safra de middleware e um dos produtos que seguiu essa onda foi o FluorineFx, que faz a chamada de métodos remotos em aplicações dotnet.
Quem acompanha a evolução do DotNet Framework, sabe que foi adicionado na versão 3.0 um novo mecanismo de consulta denominado LINQ, cuja função é servir como camada de acesso à dados, seja ela SQL, XML, Objetos, etc.
Essa semana eu começei um projeto usando essas duas tecnologias e é claro com Flex, por isso resolvi fazer um post sobre como configurar esse projeto para ajudar quem vier a ter dificuldades.
Quarta-feira passada (30/04/08) estive participando no Podcast Digital Paper Web #15 com o tema R.I.A ou Não, onde discutimos tecnologias como Flex, Ajax e Silverlight.
Para quem gosta do assunto ou quer ouvir um podcast divertido está ai a deixa, acesse agora http://digitalpaperweb.com.br/ezine/evento/podcast-15-ria-ou-nao baixe, ouça e comente.
É isso mesmo que você está lendo ! Mark Piller acaba de lançar a versão 3.4 do WebOrb For .Net e também anuncia que o produto que antes tinha uma versão limitada para uso sem custos agora é totalmente de graça!!
As versão Standard (free), Professional e Enterprise agora são uma só e todas as limitações foram removidas.
As features que mais chamam a atenção são:
- Flex Remoting;
- Data Management;
- Video Streaming / Recording;
- Data Push;
- Remote Shared Objects;
- Messaging;
Nessa nova versão as mudanças mais significativas são:
- Melhoria na compatibilidade com o AMF3;
- Suporte a RTMPT (RTMP Tunneling);
- Melhora significativa na performance;
- Configuração da serialização de DataSet/DataRow;
- Suporte à serialização de Proxy NHibernate;
- Suporte à serialização de ArrayCollection;
- Suporte configurável à serialização do tipo Enum;
- Adicionado gerador de código para PureMVC;
- VideoChat agora suporta som;
Noticias como essa vêm para mostrar que o .Net também tem o seu lugar garantido ao lado do Flex, mesmo com a chegada do Silverlight.
[]‘s
SaintBr. =]
Indicação de um ótimo post sobre a feliz união entre Flex da Adobe e .NET Framework da Microsoft. Post do Igor Costa.
Flex para desenvolvedores .Net
[]´s
Os desenvolvedores Flex que utilizam o .Net como back-end podem contar agora com um novo aliado, o FluorineFX, que é a evolução do Fluorine, velho conhecido da comunidade, mas pouco usado.
O novo FluorineFX conta hoje com uma gama de recursos que o deixa em concorrência direta com o WebOrb mas com uma vantagem: a licença GNU, que garante o uso do produto sem custos.
Dentre as features podemos destacar:
- Flex, Flash Remoting (RPC)
Recurso já existente da versão anterior do Fluorine, que consiste em serializar e deserializar objetos Flex <-> .Net;
- Flex Messaging (partial)
Serviço de mensagem (similar ao JMS e ao já existente no LCDS);
- Flex Data Services (partial)
Recurso muito útil de Data Push que agrega valor ao produto final e indispensável em alguns sistema.
- Supports AMF0, AMF3 and RTMP protocols
Suporte aos protocolos mais atuais de troca de dados em formato binário.
- Service Browser
Assim como em outros Gateways o FluorineFX possui uma interface web com o intuito de facilitar o desenvolvimento e teste de aplicações.
- Template based code generator (ASP.NET like syntax)
Gerador de templates baseado em código.
- Easily integrate rich Internet applications with .NET backend
Fácil integração com aplicações que usem .Net como back-end
- Easily integrate with Adobe Integrated Runtime (Adobe AIR™)
Fácil integração com o Adobe AIR.
Para usar o FluorineFX podem ser usados as seguintes versões do .Net Framework:
Microsoft .NET Framework 1.1 (1.1.4322)
Microsoft .NET Framework 2.0 (2.0.50727)
Microsoft .NET Framework 3.5 (3.5.21022.8)
Mono 1.2.4
A lista de discussão continua a mesma da versão anterior [link].
[]‘s
SaintBr. =]
![]()
Sem dúvida hoje o .Net é uma força muito grande quando se fala em desenvolvimento de software, seja para web, desktop ou mobile.
O Flex não poderia de deixar de se comunicar com ele e para tanto temos diversas formas de fazer isso: AMF3, RemoteObject, WebService e HTTPService.
Porém cada forma de se fazer essa integração possui seus prós e contras, e o objetivo deste post é exatamente esse.
Então vamos cada uma:
RemoteObject (AMF3): Comunicação em que o Flex faz a solicitação à um gateway (weborb, fluorine, amfnet) e este faz a tradução dos dados (.Net x AS3) usando protocolo AMF(3) no qual os dados são transferidos em formato bínário.
Prós:
Muito rápido devido ao fato de os dados serem trafegados em formato bínario;
Excelente mapeamento de tipo de dados, desde as coleções simples até os tipos mais complexos;
Ciclo de desenvolvimento curto;
Contras:
Protocolo não é padronizado (ainda);
Requer software adicional no lado do servidor (LCDS, WebOrb, AMFPHP, CF);
WebService:
Formato muito parecido com o HTTPService, porém é baseado em padrões e compatível com diversas linguagens como .Net, Java e Coldfusion. Todo o output do WebService é serializado em XML.
Prós:
Baseado em padrões;
Pode ser construido facilmente dentro do Visual Studio;
Rápido com cargas pequenas e médias de dados;
Contras:
Problemas de serialização do DataSet;
Tende a ser lento com cargas grandes de dados;
Mapeamento de tipos pode ser complicado;
Implementação de segurança não é sólida;
RMTP: É a integração de nível mais baixo, em que a conexão é feita por sockets.
Prós:
Comunicação em tempo real (os outros métodos não suportam esse recurso);
Controle granular sobre o protocolo de comunicação;
Pode-se implementar suporte a outros protocolos (POP, SMTP, ETC … )
Contras:
Requer mais trabalho;
Precisa de mais debug e testes;
Precisa de boa experiência com sockets;
HTTPService
Forma mais simples de se integrar, consiste basicamente em enviar uma solicitação via POST/GET para uma determinada página .aspx e recuperar o retorno em XML.
Prós:
Pode ser utilizado para qualquer estrutura de dados (XML, JSON, REST, SOAP);
Todas as funcionalidades são próprias, não requer componentes de terceiros.
Contras:
Não é robusto para construir sistemas complexos;
Requer parse manual;
Mapeamento de tipos de dados é feita manualmente;
A performance é relativamente lenta;
Apesar de esse post se referir à integração entre Flex e .Net, pode-se usar o conceito com PHP, Java, Rails, CF …
Nos próximos posts farei um exemplo detalhado de cada forma para um melhor aprendizado.
Esse material foi retirado da palestra de Mark Piller que consta no Adobe DevNet Flex com o nome “Flex and .NET Integration eSeminar“.
Recomendo que assistam o video para mais informações: https://admin.adobe.acrobat.com/_a227210/p13301983/
SaintBr. =]
Antes de tudo, quero deixar claro que sou um entusiasta das ferramentas da Adobe!!!
Porém, qual desenvolverdor Microsoft não fez já essa questão?
Polêmica!!! rs…
Quem se arrisca a dizer algumas criticas?
Bom, o Air é animal, achei a plataforma muito boa. As aplicações ganharam um novo paradigma. Mas têm suas limitações, por exemplo a falta dos recursos multithreading, porém rodam em Mac OS e com certeza vai rodar em linux. Mas não creio que a coisa vai ficar assim, a Adobe com certeza vai implementar esses recursos já que o Air nem foi lançado ainda.
O Flex!!! Ah o Flex que eu tanto adoro. FERRADO!!! Aqui na empresa onde eu Trabalho, a Microsistec, usamos uma aplicação em Flex! Que maravilha! Só tenho uma coisa a dizer do Flex! PERFEITO! E é só a segunda versão ein!
O WPF também é muito bom, veio com toda a força do .NET Framewotk 3.0 da Microsoft. E com aqueles recursos como o LINQ, o XAML (de novo, leiam zémmel), WCF, WWF (não, nã é aquela organização não-governamental que integra a maior rede mundial de conservação da natureza), WC entre outras novidades. Perde porquê só roda em plataforma Windows! Leiam meu protesto “Eu tenho um sonho”.
E o Silverlight é o uma versão reduzida dos recursos do .NET Framework 3.0 para browsers (entendam como um novo player, como o Flash Player). Não precia de muito raciocínio pra pensar que perde feio pro Flash Player né? Tipo, 9 quinquilhões de players instalados pelo mundo contra alguns beta testers. Do mau!!! rs… Mas muita especulação rola em torno do Silverlight, eu nem quero me arriscar a comentar muito, só sei que é outra maravilha da Microsoft.
Essa guerra de plataformas de devenvolvimento RIA entre Microsoft x Adobe tá bem legal. Bom para nós desenvolvedores, que ganhamos opções, bom para nossos clientes, porquê podemos oferecer mais e bom para a Microsoft e Adobe, porquê enchem o bolso de grana!
Arriscam algum pensamento?
[]´s

