domingo, 30 de outubro de 2005

Rich Internet | Internet Rica

* Mais que tecnologia, um conceito; uso da internet e das tecnologias disponíveis para a criação de experiências de uso mais intuitivas e eficientes.

* 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

Fonte

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.

Processamento Padrão versus Usando AJAX

Fonte

Descrição das Arquiteturas

Arquitetura AJAX
Fonte

Fonte

Arquitetura Laszlo

Fonte

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.