<canvas>
<dataset name="dset" request="true" src="http://rss.terra.com.br/0,,EI4795,00.xml"/>
<simplelayout axis="y" spacing="5"/>
<view datapath="dset:/rss/channel/item">
<simplelayout axis="x" spacing="5"/>
<text width="250" datapath="title/text()"/>
<text datapath="description/text()"/>
<text datapath="pubDate/text()"/>
</view>
</canvas>
terça-feira, 6 de fevereiro de 2007
OpenLaszlo: um leitor de RSS 2.0 simples
OpenLaszlo: CRUD
C - Criar
R - Recuperar, listar
U - Atualizar
D - Apagar, deletar
como em uma aplicação em OpenLaszlo temos uma aplicação com 2 lados, o client-side que é onde está sendo executado a interface da aplicação, mais especificamente na máquina do usuário e o server-side que é onde está a lógica de negócio da aplicação, ou seja, esta parte da aplicação está em um servidor web na internet, ou na intranet de algum ambiente de rede...
para termos essas funcionalidades CRUD em uma aplicação RIA como o OpenLaszlo precisamos ter: os controles na interface, e os respectivos códigos de execução nos códigos da aplicação no lado do servidor, sendo que no lado do servidor podemos implementar essas utilidades usando acesso ao banco comunicando via SQLs ou utilizando algum framework como o Hiberante para facilitar o desenvolvimento...
no capítulo 35 item 7 da documentação oficial do OpenLaszlo temos um exemplo simples de como construir essa funcionalidade CRUD em uma aplicação web com interface OpenLaszlo, no qual é exemplificado através de um .jsp e de um .lzx que seria a interface em execução na máquina cliente: Updating, Deleting, and Inserting Data
OpenLaszlo: trabalhando com parâmetros
digamos que no seu fonte OpenLaszlo para facilitar você crie um método para gerenciar o envio dos dados para o servidor, e dentro desse método você utilize a classe LzParam( aconselho o uso dessa classe ) termiamos no fonte .lzx algo como o respectivo código:
...
<dataset name="ds" querytype="post" request="false" proxied="false" type="http"/>
...
<method name="enviarDados">
<![CDATA[
// instancia um objeto 'LzParam' para envio dos dados por parametro...
var param = new LzParam();
// adiciona como parametro o objeto retirado do dataset temporário...
param.addValue("param1", "valor1", true);
param.addValue("param2", "valor2", true);
// recuperando o dataset de envio de dados para o servidor
var ds = canvas.datasets[ 'ds' ];
// define a ação que irá executar
ds.setSrc( "http://www.dominio.end/app/processa.jsp" );
// seta os parametros a serem enviados para o servidor
ds.setQueryString( param );
// realiza a requisição
ds.doRequest();
]]>
</method>
com isso nesse formado é possível uma maior flexibilidade e controle dos parâmetros que serão enviados para um respectivo servidor...
sábado, 3 de fevereiro de 2007
OpenLaszlo: dataset interno em uma classe
mas como fazer para utilizar dataset's internos na classe, sendo que quando defino o dataset na classe ao tentar utilizar normalmente deparo com o erro me informando que não encontrou o dataset de respectivo nome informado... como no caso:
...
<class name="MyClass">
<dataset name="dsIn">
<tag>valor</tag>
</dataset>
<text datapath="dsIn:/tag/text()" />
</class>
...nesse formato vai informar que não encontrou o dataset com o respectivo nome informado, então como fazer para utilizar o dataset interno da classe? bom nesse exemplo acima falta apenas um pequeno detalhe para então funcionar:
...
<class name="MyClass">
<dataset name="dsIn">
<tag>valor</tag>
</dataset>
<text datapath="local:classroot.dsIn:/tag/text()" />
</class>
...agora sim esse é o formato correto para indicar que o dataset é interno a classe em questão =]
OpenLaszlo: Sessões HTTP
antes que digam que não é possível e que não tem como, sim tem como trabalhar com sessão Http porém o modo de trabalhar é um pouco diferente inicialmente do modo geral que as pessoas estão acostumadas a fazer em aplicações web sem utilizar alguma tecnologia RIA como no caso de uma aplicação web com interface OpenLaszlo...
é preciso lembrar que o acesso a sessão é feito no server-side e não no client-side, lembrando que o client-side é a máquina do usuário que está acessando a aplicação e é ali que está em execução a interface da aplicação, então para acessar a sessão para setar ou recuperar algum valor deve ser feito no server-side, em outras palavras, parte da aplicação que está em execução num servidor web e ali sim realizar as manipulações necessárias de sessão...
no forum oficial do OpenLaszlo esse assunto também foi abordado no respectivo [link] onde também foi disponibilizado um exemplo para o respectivo caso [download do exemplo]
na documentação oficial do OpenLaszlo também possui um capítulo que aborda o respectivo assunto Chapter 38. Cookies and Sessions - [link]
OpenLaszlo: DataGrid + Drag and Drop
alguem também um dia quiz e acabou fazendo e agora está disponível para uso =] mais um componente muito interessante da comunidade japonesa de OpenLaszlo veja um exemplo em funcionamento [link]
autor do componente submeteu um post sobre o assunto no forum oficial do OpenLaszlo no respectivo [link]
Integração entre Openlaszlo e o HTML via JS
desenvolvida com OpenLaszlo com o restante da página HTML... e a resposta é sim é possível sim =]
na comunidade Laszlo do Japão foi publicado um exemplo de como fazer essa integração,
no respectivo [link:exemplo de funcionamento da integração]
verifique o código HTML da página do link anterior, observe que para isso é utilizado um javascript
para proporcionar a ponte de comunicação com o OpenLaszlo: flashobject.js [download]
o autor desse exemplo também submeteu um post sobre esse assunto para o forum oficial do OpenLaszlo [link]
sexta-feira, 2 de fevereiro de 2007
PortalJavaSupport 1.0
Primeira versão de um conjunto de suporte para desenvolvimento rápido de aplicações Web em java, no qual possui suportes para:- Mentawai 1.8 ( versão costumizada )
- Hibernate 3.2 ( para uso de anotações )
- XStream 1.1.3
- Jasperreports 1.2.8
download do projeto [link]
documentação do projeto [link]
versão 1.0 - 02/02/2007
um caso de uso que demonstra o uso da maioria das anotações de configurações relacionado ao Mentawai [link]
* Sobre a costumização do Mentawai 1.8
foram alterados algumas classes para possibilitar algumas funcionalidades que ao meu entender deveriam estar funcionando mas quando testei essas não estavam...
como o caso de inner action exemplo 3 do respectivo [link]
as respectivas classes alteradas do mentawai podem ser encontradas no diretório \proj_files\proj_lib\mentawai\Classes_alteradas
OBS.: essa versão também possibilita um suporte inicial para trabalhar com modulos inseridos em runtime na aplicação web, onde um novo módulo é um arquivo .jar contendo as classes Action e de processamento da camáda de négocio, sendo este jar carregado para memória pelo suporte de modulos e posteriormente podendo ser acessado e atualizando a configuração da aplicação em Runtime, sem a necessidade de reiniciar o contexto da aplicação web para que as alterações sejam efetivadas
quinta-feira, 1 de fevereiro de 2007
Uma notícia muito triste
Hoje ao verificar os post no Portal Java tive o desprazer de ler um tópico relatando uma notíciade algo que ainda não havia visto e que consequêntemente me deixou muito triste ao ler...
Segundo site do Mentawai um amigo e um dos desenvolvedores do Mentawai MVC, morreu ao ser atingido por uma bala perdida, segundo o relato na página principal do Mentawai:
26/01/1984 ~ 30/01/2007"com algumas tecnologias e mesmo com boas conversas extroverdidas e divertidas que tivemos,
sou grato por ter tido a oportunidade de compartilhar bons momentos...
terça-feira, 30 de janeiro de 2007
Projeto Blank: OpenLaszlo 3.3.3 + Mentawai 1.8 + PortalJavaSuport 1.0
Está disponível um novo projeto blank para OpenLaszlo agora com algumas novidades no projeto.
itens que compoem o projeto:
- OpenLaszlo 3.3.3
- Mentawai 1.8 ( versão costumizada )
- Hibernate 3.2, utilizando mapeamentos com annotations
- XStream 1.1.3
- Jasperreports 1.2.8
- Log4j 1.2.12
- PortalJavaSupport 1.0
nesse novo projeto blank, foi adicionado o Projeto Portal JavaSupport que é um conjunto de suporte para agilizar o processo de desenvolvimento de aplicações Web utilizando como base o framework Mentawai MVC
osb.: apesar de utilizar o Mentawai, esse projeto utiliza uma versão costumizada do Mentawai original, porém que não afetam o funcionamento do Mentawai original quanto a seu suporte, apenas ampliam as funcionalidades e algumas revisões de performance para os códigos relacionados ao gerenciador de templates...
uma das novidades desse projeto blank é a possibilidade da configuração das actions e de templates utilizando anotações
e como configuração básica apenas a definição de uma linha de comando na classe application.config.ApplicationManager.java no método init()...
a configuração de template modelo basico foi definido na classe: application.config.TemplateManager.java
obs2.: descompactar o projeto diretamente no /webapps do tomcat e após isso importar o projeto no Eclipse...
segunda-feira, 8 de janeiro de 2007
OpenLaszlo: Iniciando
sites empresa criadora e do projeto OpenSource:
- OpenLaszlo.org
- Laszlo Systems
plugins para o eclipse:
- LaszloIDE
- SpketIDE 1.2.0
tutoriais, artigos e materiais:
- OpenLaszlo em 10 minutos
- OpenLaszlo DataFlow
- OpenLaszlo Arquitetura
- OpenLaszlo Japão - exemplos de código
- Mundo OO - Ao escolher entre Struts ou JSF, prefira o Laszlo!
- Data Binding in Laszlo
- LZ-Util
- The Server-side Architecture Behind OpenLaszlo Applications [pdf]
- Como fazer um stream de video no OpenLaszlo
- Abordagens sobre o OpenLaszlo
- Explorando as classes, atributos e eventos
- Construindo aplicações web ricas com OpenLaszlo
- Web clients fatten up with OpenLaszlo
- Spice up PHP applications with OpenLaszlo
- Use Apache Derby in your OpenLaszlo applications
- Don Hopkins | Drupal
bibliotecas para OpenLaszlo: [ link ]
documentação:
- Documentação geral OpenLaszlo
- Guia do Desenvolvedor
- Guia de Referência
- Wiki do OpenLaszlo
Aplicações desenvolvidas com OpenLaszlo:
- Listagem feito no wiki do OpenLaszlo.org
- [Alemanha] exklusive business map der region
- [Alemanha] galeria de fotos
- [Alemanha] tur virtual
Comunidades que discutem o tema OpenLaszlo:
- OpenLaszlo Japão
- Laszlo Japão
- OpenLaszlo - Berlin Laszlo User Group
- OpenLaszlo - Forum Alemanha
- OpenLaszlo - França
- Portal Java - ver forum: Ajax/OpenLaszlo
domingo, 7 de janeiro de 2007
[Revolta] bloqueio do Youtube
e eis que nada de acessar, passado um tempo, nova tentatica e nada... verificando meus e-mails recebo um de um colega no qual havia um link falando que o Youtube estava bloqueado o acesso por alguns provedores de serviço de internet no Brasil...
eis que também foi notícia na Info Online [ link ]
o pessoal do BR-Linux também debateu sobre este assunto, nos respectivos links:
Bloqueio do Youtube: vídeo da Cicarelli traz o retorno da censura no Brasil?
Furando o bloqueio: como acessar o YouTube censurado
segundo link do BR-Linux, digo que seria uma resposta da comunidade para essa decisão ao meu ver ridícula...
domingo, 31 de dezembro de 2006
OpenLaszlo: projetos e arquivos
ter terminado minha monografia sobre o OpenLaszlo
publiquei ela e um conjunto de projetos no Portal Java
para aumentar a quantidade de material disponível sobre o assunto em português,
segue os respectivos links:
Monografia sobre OpenLaszlo [link]
projeto da monografia: Laszlo Agenda [link], referente ao capítulo 7 - implementação
também reformulei e republiquei projetos em branco para facilitar o estudo e uso
do OpenLaszlo com frameworks MVCs em Java
em ambos os projetos possuem os respectivos suportes:
- OpenLaszlo 3.3.3
- Hibernate 3.2, utilizando mapeamentos com annotations
- XStream 1.1.3
- Jasperreports 1.2.8
- Log4j 1.2.12
também desde Setembro de 2006, está disponível no Portal Java
um ambiente pré-configurado de desenvolvimento para OpenLaszlo
versão para Windows. [link]
porém quem quizer montar um mesmo ambiente em outro sistema operacional
basta seguir os passos indicados, no Anexo B - Ambiente de Desenvolvimento,
da monografia, página: 112, ou então verificar os passos descritos no Forum:
Portal Java - Ajax/OpenLaszlo, tópico: Eclipse e Laszlo [link]
neste [link] você verá todas as notícias publicadas no Portal Java,
relacionadas ao tema OpenLaszlo.
no mais aguardamos anciosamente pelo OpenLaszlo 4 ( Legals ),
para conferir quais serão as novidades dessa nova versão,
que a princípio a primeira release espera-se para início de 2007.
terça-feira, 21 de fevereiro de 2006
Aplicações de Internet Rica e o futuro da Web
Problemas com a Web hoje
Aplicações web em HTML são um acidente do crescimento da Internet. A Web foi originalmente projetada para disponibilizar documento online, mas agora serve como veículo principal para disponibilizar aplicações em rede. Em conseqüência, serviços providos, negócios, desenvolvedores de aplicações e seus respectivos clientes sofrem com os seguintes itens:
Experiência inferior do usuário: em uma comparação com aplicações desktop, impede a adaptação com os serviços disponibilizados na web para comunicação e comercio online, devido as limitações quanto a interface gráfica do sistemas disponivel para uso de seus respectivos usuários.
Aumenta os custos de centralizar as operações de dados: pelo fato do processamento da lógica de UI no HTML em aplicações web, ser centralizada e realizada no servidor.
Desafios de distribuição e manutenção: com aplicações baseadas em DHTML quando suportam multiplos web browsers em multiplos sistemas operacionais, onde essas aplicações devem ser desenvolvidas e mantidas garantindo que funcionem em diferentes web browser de diferentes sistemas operacionais.
O futuro da Web > RIA
Rich Internet Application( RIA | Aplicações de Internet Rica ): esses frameworks prometem inovações além das atualmente encontradas em sistemas web e avigorar/aprimorar as aplicações de internet, com uma nova experiência para os usuarios, historicamente limitado a aplicações desktop. Estes frameworks, algumas vezes referenciados como arquiteturas de cliente rica ou executaveis de internet, permite aos desenvolvedores de aplicações, prover serviços e negócios online, criando e disponibilizar uma nova geração de aplicações web mais eficazes para satisfação de seus clientes, aumentando a adaptabilidade de seus serviços e reduzindo, os custos de desenvolvimento e manutenção dessas aplicações.
Um exemplo de aplicação que implementa o RIA é o Laszlo Mail o qual foi desenvolvifo utilizando Laszlo, o qual destaca muita das vantagens de aplicações de internet rica. Ao contrário do convencional web mail em HTML, Laszlo Mail permite um acesso IMAP ao e-mail dos usuários através:
Uma GUI completamente costumizada
Controles de teclado
Redimensionamento de janelas
Gerenciamento das mensagens usando Drag and Drop
Compativel com todos os web browser populares para Windows, MacOS, Linux ou qualquer outro browser de algum outro sistema Operacional que possuia o plugin Flash Player instalado
Alta capacidade de resposta e interatividade devido a uma transferencia minima de dados após a instanciação inicial do cliente, uma vez com a interface, as proximas transações com o servidor são apenas de dados da aplicação.
Fazendo o futuro da web realidade agora
Para aumenta a experiência web, desenvolvedores requerem plataformas para entregar uma interface de usuário avançada, enquanto alavanca os existententes jogos de habilidades dos desenvolvedores e infraestruturas de desenvolvimento. Se não, excessivos custo de desenvolvimento e distribuição poderia confinar os avanços a protótipos de laboratório. Toda plataforma viável de aplicações de internet rica deve seguir os seguintes requerimentos:
Experiencia dinâmica para o usuário
Interfaces GUI intuitivas que prevem uma experiência de single-page(uma unica página) sem os refresh das aplicações HTML web
Uma integração sem emendas com a maioria de tipos de media em um único canvas sem separação por plugins ou por camadas
Suporta notifiação e mensagens em tempo real
Um desenvolvimento rápido da aplicação
Um desenvolvimento familiar com os paradigmas de programação e fluxo de trabalho
Possibilitar um desenvolvimento baseado em equipe
Simplificar a manutenção a longo prazo do código
Disponibilização dirigida a padrões para qualquer lugar
Compatibilidade com o prevalecimento das infraestruturas padrões existentes( J2EE, XML, Web Services, SSL )
Rodar em qualquer web browser sem download suplementar ou instalações
Desloca a sobre carga do processamento dos servidores centrais de dados, ou seja o processamento dos dados também é realizado no cliente e não totalmente centralizados no servidor.
Comparando com aplicações web baseadas em HTML, internet rica e clientes de aplicações rica possibilita uma vasta melhoria no tempo de resposta da aplicação e usabilidade da aplicação.
Em cada domínio, uma experiência de alta qualidade e satisfação dos clientes traduzem na melhoria dos negócios. Para os principais fornecedores de aplicações de internet para comuniações IP ao e-commerce, um modesto aumento uniforme na utilização do serviço ou das taxas de conclusão de transação pode gerar um ganho de rendimentos significantes e redução dos custos de manutenção.
Em uma era onde a missão crítica são os sistemas de informação e agora são expostos rotineiramente aos usuários fináis, onde todos os setores representativos, públicos e privados, fornecem seus serviços aos seus clientes online, a interface desses sistemas necessitam ser dignos dos produtos e serviços por eles representados.
OpenLaszlo
É uma plataforma que conduz ao desenvolvimento de aplicações de internet rica. Openlaszlo combina excepcionalmente:
Licença sobre certificado OSI CPL Open Source
Plataforma nativa XML
Disponibilização em qualquer lugar sem instalação
Suporte para qualquer web browser para Windows, Linux, MacOS e qualquer outro sistema operacional que possua um web browser com plugin Flash Player
Opção de disponibilização para ambos servidores web HTTP e J2EE
Uma experiência de interface rica para o usuário
segunda-feira, 20 de fevereiro de 2006
OpenLaszlo
O que é o Openlaszlo?
Ë uma plataforma open source para desenvolvimento e disponibilização de aplicações segundo a modalidade RIA( Rich Internet Application | Aplicações de Internet Rica ). A plataforma Openlaszlo consiste em 3 componentes principais:
- Compilador: o qual pega os arquivos de código e compila para arquivos Flash( swf ) que são executados em qualquer browser que possua o plugin da Macromedia para execução do Flash( swf ).
- Runtime Framework: inclui os componentes de interface, suporte para manipulação de dados( data binding ) e serviços de comunição na rede.
- Servlet: habilita o suporte runtime para tipos adicionais de media, suporte para SOAP e XML-RPC.
Com o OpenLaszlo, você pode:
- Desenvolver aplicações baseadas em RIA com um código baseado em XML e JavaScript.
- Disponibilizar essa aplicação em qualquer browser na modalidade SOLO, ou disponibilizar em qualquer servidor de aplicação J2EE ou em qualquer container Java de servlet( ex.: Tomcat ), rodando em qualquer sistema operacional que tenha o java instalado.
- Disponibilizar para qualquer web browser com Flash Player 5 ou superior, alcançando 97% de todos os computadores com acesso a web.
Desde 2002, as aplicações em Laszlo tem demonstrado que provem a usabilidade, escalabilidade e a confiabilidade em distribuições web( sistemas web que utilizam essa tecnologia) para milhares de usuários.
Quando e por que o OpenLaszlo se tornou Open Source?
Começou com a versão 2.2 no dia 5 de Outubro de
Por adotar um modelo de desenvolvimento aberto, nos esperamos acelerar a utilização por aplicações ricas para cliente na Web aberta, também como realce a qualidade, performance e um novo jogo de característica da plataforma OpenLaszlo. A empresa Laszlo Systems continuará a desenvolver a plataforma Open Source, junto com o fornecimento de módulos comerciais para aplicações, realizando o serviço de suporte e treinamento para seus clientes.
domingo, 30 de outubro de 2005
Links sobre AJAX
AJAX Patterns
AJAX Patterns - Cross-Browser Component
Getting Started with Ajax
Asynchronous JavaScript And XML (AJAX) -- And Why It's Not Enough
Ajax: A New Approach to Web Applications
Survey of AJAX/JavaScript Libraries
WWW SQL Designer
WWW SQL Designer - Demo
Sprinkle Some AJAX Magic in Your Struts Web Application
AJAX + STRUTS
DWR - Direct Web Remoting
Backbase
script.aculo.us
Artigo publicado no site do JAVA
Asynchronous JavaScript Technology and XML (AJAX)
With Java 2 Platform, Enterprise Edition
Blog's sobre AJAX
http://blog.elcio.com.br/ajax_e_o_hype/
http://www.ajaxian.com/
Juntão Ajax
Artigo publicado no Tableless
Ajax - Para quem só ouviu falar
Ajax - Introdução
Rich Internet | Internet Rica
* Uma nova forma de pensar e desenvolver sistemas web.
A internet é, sem dúvida, uma ótima ferramenta para encontrar e organizar informações, mas no que se refere á aplicações de usabilidade, interatividade em tempo real e multimídia, está apenas começando a dar seus primeiros passos, neste ponto entra o RIA.
Ao desenvolver um projeto baseado em RIA estamos combinando a interatividade e a funcionalidade do desktop com a abrangência e flexibilidade da web para criar uma única e integrada experiência, rica em conteúdo.
Comentário sobre o ambiente web
A web hoje é um ambiente onde é problemática a entrega de aplicações que exigem interfaces mais robustas e níveis mais altos de interatividade.
A plataforma web foi concebida sem maior consideração a possíveis necessidades de execução de aplicativos. Praticamente todas as aplicações para a web carregam novamente as páginas inteiras, a cada clique, o que dificulta a experiência do usuário e reduz o potencial de aplicações.
Basicamente a web é um ambiente onde o código é rodado principalmente no servidor, levando a custos maiores de transmissão de dados. Além disso, a experiência do usuário é inferior a aplicativos de desktop, com custos de desenvolvimento decorrentes de múltiplas plataformas e metodologias.
Dada a escalabilidade da web e sua maior abrangência, a implementação de aplicativos baseados na web substituiu os sistemas tradicionais cliente-servidor apresentando, porém, resultados finais limitados decorrentes dos problemas expostos anteriormente (carregar a pagina inteira novamente, por exemplo). O conceito RIA veio para tentar suprir tais limitações encontradas.
O que é RIA?
É um conceito inovador no modo de pensar e desenvolver na web. Aplicações RIA, unem a funcionalidade dos softwares para computadores de mesa com o extenso alcance e facilidades econômicas de aplicativos para internet, o que proporciona um novo nível de experiências para usuários e desenvolvedores.
A principal ferramenta para o desenvolvimento de RIA é o flash, porém o flash por si só não é capaz consultar bases de dados ou fazer qualquer operação no servidor sem o auxílio de algum recurso externo, ou seja, tecnologia Remoting. Mesmo com suas fabulosas vantagens, possui uma restrição séria, o servidor. Este deve ter suporte à tecnologia Remoting, o que torna o serviço de hospedagem para esses sites caro e inviável para pequenas empresas e sites pessoais. Em resposta a essa limitação, e dentro de um modelo de co-criação, grupos de desenvolvedores criaram uma alternativa Open-Source que viabiliza o uso de tecnologia Flash Remoting em servidores sem custos extras no servidor (necessitando somente do php, ou tecnologia Java J2EE).
Apesar de em um primeiro pensamento sobre RIA, pensarmos em flash, algo novo que neste ano vem ecoando na internet é o AJAX (Asynchronous JavaScript and XML) usado também para o desenvolvimento de RIA porém como dito na sigla usa javascript com xml.
Como Funciona?
Arquitetura tópica RIA
RIA são aplicações implementadas no servidor e que tiram vantagem da tecnologia cliente para prover uma nova classe de websites interativos com a sofisticação de aplicações de desktop, mas que não comprometem a facilidade de desenvolvimento, implementação e manuseio dos aplicativos web.
Os aplicativos de Rich Internet são baseados na tecnologia Rich Client, que fornece um ambiente dinâmico, com capacidade de hospedagem de aplicativos compilados no lado do servidor recebidos como arquivos através de HTTP. Os aplicativos no lado do cliente conectam-se de volta aos Back-Ends de servidores de aplicativos existentes, por meio de uma arquitetura assíncrona de Cliente/Servidor que oferece segurança, estabilidade e que é bem adaptada ao novo modelo orientado a serviços que está sendo promovido pela adoção de serviços web.
Descrição das Arquiteturas
Arquitetura Laszlo
Arquitetura Flash
Fonte
Tanto usando Flash quanto usando o AJAX o esquema de processamento entre os 2 são similares a esta imagem que demonstra o processamento assincrono do AJAX.
Considerações
A adoção crescente da tecnologia Rich Client não é uma etapa evolutiva de substituição a HTML. Consiste mais em uma aplicação da capacidade dos browsers e dispositivos com interfaces de usuário mais eficazes e responsivas. A maioria dos aplicativos "Rich" é executada no contexto de browsers, e muitos são executados dentro das páginas, junto com o conteúdo HTML. Os aplicativos "Rich" acrescentam mais recursos à internet, mas a linguagem HTML continuará a ter um papel fundamental na disponibilização de conteúdo, nas interfaces de usuário e na navegação.
Internet Rica porque pode ser executada tanto em browsers como em dispositivos, ela possibilita criar aplicativos que podem ser disponibilizados uniformemente em uma ampla gama de plataformas de conexão à internet. Além disso, como a tecnologia Rich Client possibilita o uso de elementos gráficos móveis, vídeo, áudio, comunicação bidirecional e formulários complexos, ela constitui um ambiente significativamente mais sólido para criação de interfaces de usuário de aplicativos.
As qualidades descritas nesta apresentação representam os principais pontos de evolução que possibilita a utilização do conceito de Internet Rica.
Essencial na utilização adequada destas aplicações está o planejamento adequado, centrado no usuário e em suas metas. Aplicações em RIA permitem que modelos mentais e objetivos de negócios sejam mais bem explorados. Para obtermos o potencial representado pelas tecnologias, todas as etapas do processo têm que receber o direcionamento de um planejamento adequado, conhecedor do processo e das ferramentas.
Benefícios
Agilidade no tempo de resposta; - Layouts gráficos mais elaborados; - Possibilidade de interface com animação (torna as operações mais interessantes); - Utilização de multimídia (áudio, vídeo, mais atratividade nos sites). O resultado final para o usuário de um sistema que utiliza RIA é de modo semelhante a um sistema cliente desktop.
( Essa é uma das idéias centrais de utilizar-se RIA em sistemas web ).
Situação atual
Atualmente ainda é muito baixo o número de sites que utilizam tecnologia RIA no Brasil, mas a tendência é aumentar rapidamente. A questão chave agora é definir aplicações RIA como estratégicas e geradoras de diferencial, capazes de melhorar as experiências dentro do marketing, vendas e relacionamento. É sem duvida uma nova forma de pensar e agir na web.
Programação WEB + R.I.A.
De uns tempos para até o atual momento( um ou dois anos ), tenho visto na internet algo novo, um novo conceito, ou até uma nova filosofia de programação de VIEW para sistemas WEB utilizando um conceito chamado RIA...
RIA( Rich Internet Application, ou em português literalmente,
Aplicação de Internet Rica )
Definição da Macromedia para RIA:
"Internet rica significa o uso da tecnologia da informação para unir o melhor da web, ao melhor do seu desktop e ao melhor das comunicações. É, em suma, uma experiência interativa muito mais rica para o usuário.
Para compreender melhor, pense no que acontece quando você navega pelo seu desktop ou por outras aplicações cliente-servidor. Você faz ações como "drag-and-drop", "desfazer" e muito mais - tudo na mesma tela, de maneira simples e intuitiva.
O conceito tradicional de internet impede este tipo de navegação, pois, normalmente, você precisa clicar em um link para ver alguma opção em alguma página; depois clicar em outro; em outro; e assim por diante.
RIA - ou Rich Internet Application é um conceito que permite uma experiência de navegação semelhante ao ambiente do seu desktop. Com códigos rodando no navegador, o próprio conceito de página é ampliado para o conceito de internet rica."
Atualmente exite 2 frentes de desenvolvimento usando esse conceito, interface web utilizando swf( flash ) ou usando AJAX.
Usando SWF
Temos uma interface para o usuário do sistema com efeitos cinematograficos podendo disponibilizar para o usuário do sistema todas as "frescuras", antender aos anseios, imaginação do usuário de como deveria ser a interface para o sistema, tendo muitos recursos de animações disponiveis.
Mas programar usando o Macromedia Flash + ActionScript é um trabalho um tando complicado para o desenvolvedor, então em Outubro de 2000 uma empresa chamada Laszlo Systems é fundada em São Francisco, Califórnia e inicia-se um projeto chamado Laszlo, com uma nova proposta de desenvolvimento da camada de visualização Web onde o resultado final é tão poderoso quando o resultado final gerado usando Macromedia Flash + ActionScript, porém a programação é mais amistosa pois é baseada em conceitos e paradigmas de programação com os quais grande maioria dos desenvolvedores já estão acostumados, um exemplo rápido é o desenvolvimento dessa camada de visualização Web utilizando de uma programação orientada a objeto.
A partir da versão 2.2 em 5 de Outubro de 2004, toda a plataforma Laszlo, agora chamada de OpenLaszlo foi disponibilizada pelo seu desenvolvedor original a Laszlo Systems, para ser uma plataforma gratuíta e OpenSource, licensa CPL, para o desenvolvimento e disponibilizações de aplicações web de internet rica.
Quanto a Macromedia, segundo boatos que circulam pela internet, logo após a Laszlo Systems ter lançado a ideia de inteface RIA, quanto ao formato de programação baseada em tag's XML gerando swf usado na interface de utilização do usuário, integrada com java como base de processamento, a Macromedia como foram eles os criadores do swf não perderam tempo e começaram a trabalhar em uma ferramente chamada Macromedia Flex que em si, a forma de programação é semelhante ao formato de programar usando laszlo, as duas usando uma base de código em formato XML. A grande diferente entre essas duas hoje é o fato, OpenLaszlo é open source CPL e executa em qualquer continer de servlet java ou servidor de aplicações web J2EE, ou ainda existe a possibilidade de uma distribuição chamada SOLO que independe podendo a aplicação ser colocado em um IIS ou outro servidor disponível no mercado, enquanto o Macromedia Flex foi projetado apenas para executar no JRun.
Usando AJAX
É uma tecnologia para desenvolvimento de sites usando o conceito RIA, porém a sua interface utiliza engines baseadas em javascript que realizam o processamento de uma request de algo no servidor de modo background, não gerando aquela inconveniente piscada de tela, onde fica tudo em branco e depois aparece o conteúdo da página, o AJAX é baseado em um objeto XmlHttpRequest do javascript o qual segundo informações já existe a mais de 10 anos o qual realiza a comunicação com o servidor em background e agora o pessoal do Google "desenterrou", "ressucitou", como queira; podemos ver o AJAX em ação no Google Maps e no Gmail, existem outros sites também, mas nesses podemos ver a diferença do formato desses sites comparando com demais sites na internet que não utilizam RIA.
Digamos que o AJAX é mais uma metodologia de programação de sistemas web do que efetivamente uma nova tecnologia. Porém ainda apresenta alguns problemas, para o desenvolvimento de sistemas que implementam RIA usando o AJAX é necessário um conhecimento quanto maior do desenvolvedor sobre javascript para poder realizar a compatibiliazação para a execução em diversos web browsers, atualmente existem taglibs disponíveis com implementações de AJAX o que reduz um pouco a complexidade da programação de sistemas web usando o AJAX.
AJAX x SWF
Tanto um quanto outro utilizam comunicação com o servidor fazendo uma request que a princípio não note-se diferença de um outro sistema web comum, porém o retorno da request, a resposta do servidor, essa sim é tratada de maneira diferente dos demais sistemas web atuais, utilizando o conceito de parsing de XML, XHTML, recuperam apenas os trechos importantes da resposta, caso seja um HTML retornado, ou caso no desenvolvimento já foi definido que a resposta retornaria como em formato XML, ambos realizam a leitura e "injetam", atualizam os trechos da página( AJAX ), ou SWF( OpenLaszlo, Flex ), com isso não remontando toda a página evitando que a tela fique em branco.
Uma das vantagens de ambos, caso seja bem estruturado, o seu uso em ambos poupam o consumo de banda, pois uma vez montado a VIEW do sistema para o usuário, apenas os dados para atualizar trechos da VIEW serão trafegados entre o browser do cliente e o servidor.
A diferença base entre os 2 é o fato. O AJAX é baseado o seu funcionamento no HTML e javascript interpretado pelo web browser do cliente com isso também o limitando apenas ao que o browser consegue interpretar do javascript, enquanto o OpenLaszlo e o Flex como gerar um resultado binário swf o qual é executado pelo plugin Macromedia Flash Player na máquina do cliente livra o desenvolvedor da preocupação de uma programação de compatibilizaçào pois o plugin é o mesmo para todos os web browser de diferentes sistemas operacionais e tipos de dispositivos.
Conclusões
Tanto AJAX, quando OpenLaszlo e o Flex, para camada VIEW de sistemas web já fornecem uma vasta possibilidade de funcionalidades que podem ser disponibilizadas para o usuário, aproximando o sistema web um pouco mais de um sistema cliente desktop possibilitando tambem o desenvolvimento de sistemas web na modalidade single-page sem os inconvenientes “piscar de tela” dos atuais sistemas web disponíveis.