terça-feira, 9 de outubro de 2007

O que é Rich Internet Application (RIA) [Aplicação de Internet Rica]?

Aplicações de Internet Rica (RIA) são aplicações que possuem algumas características e funcionalidades das aplicações tradicionais desktop. As RIAs tipicamente proporcionam um visual onde não há necessidade de atualizar “no-refresh” assim proporcionando algo que atualmente é chamado de HduX - High Definition User eXperience | Alta definição da experiência do usuário.

Para os usuários finais as aplicações RIAs proporcionam o melhor da época cliente-servidor e da era Web, ainda mais para aplicações do gênero eBusiness, a adoção dessas tecnologias atualmente é imperativa, ou seja, deve ser utilizada para as próximas aplicações ou versões de softwares web.

Da perspectiva de desenvolvimento de software as aplicações RIAs seguem o padrão do modelo de software com controles ricos que incluem poderosas alternativas/meios de gerenciar os dados e a capacidade de disponibilizar conteúdo multimídia, com isso possibilitando um conjunto de informações ricas e com uma interface atrativa. Pela perspectiva do design, as aplicações RIAs possibilita uma alta capacidade de customizações, com o uso avançado de recursos como o CSS.

Hoje estamos na era Web 2.0, na imagem acima chamada de AJAX RIA, onde as principais tecnologias disponíveis no mercado que disputam ferozmente o mercado são:

- Adobe Flex
- Sun JavaFX
- Microsoft Silverlight
- OpenLaszlo ( inicialmente da Laszlo Systems )

O surgimento do RIA

A internet iniciou como um modelo para disponibilizar conteúdo estático com HTML. Com o surgimento deste possibilitou um meio para atender a necessidade de informações dinâmicas para aplicações de negócios, quanto ao dinamismo das informações foi possível graças ao Javascript, o qual foi criado com o propósito de tornar dinâmico o que foi inicialmente concebido para ser estático, com isso o surgimento do DHTML, HTML dinâmico.

Comentário: fato curioso, o Javascript ao que verifiquei na internet foi criado inicialmente pela falecida empresa Netscape por volta de 1995, o Javascript também é considerada a maior “gambiarra” da era da web, pois foi desenvolvido para tornar dinâmico o que foi criado com o propósito de ser estático, o HTML.

Entretanto a eminente necessidade de sistemas de negócios complexos apresentou novos desafios para a Web. Diferente de simples aplicações, os novos sistemas de negócios requeriam características que envolviam inúmeros passos. O que resultou em uma confusão para os usuários, de como e quais os passos necessários para realizar uma única transação, onde esta envolvia um longo procedimento, com inúmeros formulários e interfaces. Ainda mais a natureza de sincronização dessas aplicações acabavam diminuindo a performance e também a lentidão da atualização da tela.

Na junção da rede (popularização em outras palavras), o crescimento da rede, aumento das informações disponíveis, foi observado a necessidade de uma tecnologia que possibilitasse disponibilizar informações complexas de forma rápida de modo compreensível e de uso facilitado pelos usuários.

Então a tecnologia que surgiu para atender essa necessidade foi a RIA, que não apenas resolveu esses problemas, mas também revolucionou a era da usabilidade que havia nas aplicações desktop, incorporando características para atender as futuras necessidades das empresas, unindo o melhor das aplicações desktop, cliente-servidor e das aplicações web.

RIA : une o melhor do que havia nas aplicações desktop, cliente-servidor e das atuais aplicações web.


O que há de especial no RIA?

  • - RIA trabalha na web

  • Apesar do RIA apresentar uma nova face para os usuário web, ele mantém a capacidade de ser acessado facilmente de qualquer parte do planeta, como uma ótima alternativa.

  • - RIA apareceu – esqueça as atualizações de tela

  • As informações no RIA sempre aparecem para os usuários eliminando a necessidade de atualizações de página. Este simples detalhe torna as aplicações RIA um excelente atrativo. O popular dizer: "A tela pisca..." ou "A tela fica em branco, depois aparece".

  • - RIA reduz o tráfego de dados na rede

  • Como as aplicações RIA trabalham de modo assíncrono e muito do processamento é feito na própria máquina do cliente, com isto resulta na redução do tráfego de dados na rede, além de otimizar a performance da aplicação e melhorar a experiência de uso da mesma pelos seus respectivos usuários.

  • - RIA é rico

  • RIA possui a habilidade da web de apresentar informações complexas para seus usuários, porém adiciona algumas capacidades, como incorporar uma maior qualidade, riqueza de conteúdo e aprimorar a interatividade com o usuário.

    As aplicações RIA suportam um conjunto rico de elementos visuais como imagens, gráficos, vídeos e outros, facilmente integrados com os elementos principais do núcleo da lógica de negócios, com isto disponibilizando uma rica interatividade e experiência para o usuário.

    As aplicações RIA deram início a uma nova alternativa de disponibilizar conteúdo rico de maneira antes não era possível na web, principalmente quando pensamos em aplicações direcionadas a negócios.

  • - RIA é real

  • As aplicações RIA trabalham em tempo real disponibilizando serviços de negócios como softwares para conferências, algo do gênero tem sido muito utilizado na área de eLearning, também possibilitou o surgimento de diversos serviços conhecidos por “on-demand”.

    As aplicações RIA possibilitaram a esses domínios de negócios, disponibilizar de forma muito e mais otimizada, seus aplicativos e soluções na web.

  • - RIA torna as coisas mais fáceis

  • As aplicações RIA ajudam o usuário a compreender e utilizar aplicativos de negócios complexos, reduzindo o numero de passos a ser realizados e mostrando uma grande quantidade de informações de forma integrada em uma interface, sem a necessidade de que o usuário tenha que ir a outra tela para ver mais informações.


    A arquitetura RIA

    O que distingue a arquitetura RIA da arquitetura geral da web é o mecanismo de renderização. As aplicações RIA usam mecanismos de renderização que trabalha de forma diferente nos usuários finais e atua como um mediador entre o usuário e o servidor.

    No lado do servidor, muitas aplicações RIA incluem um componente no servidor para trabalhar como mecanismo de renderização através do processamento da lógica de negócios, em outras palavras fora o suporte inicial para enviar a interface para o cliente da aplicação, posteriormente a isto o servidor fica responsável apenas pelo processamento da lógica de negócio e não mais se encarrega de a toda requisição remonta a interface para os dados processados da lógica de negócio, este é um dos motivos da redução do trafego de dados, pois apenas serão enviados os dados processados e não mais toda a interface como resposta de cada requisição e processamento de uma rotina da lógica de negócio, como ocorre no modelo anterior às aplicações RIA.

    Como um resultado disso, a arquitetura RIA é inovadora, oferecendo algumas vantagens:

  • - As informações são processadas no servidor e atualizadas de modo assíncrono na interface, conforme a necessidade do usuário.

  • - Algumas informações são armazenadas em cache, com isso elimina a necessidade de processamento no servidor para disponibilizar essas informações, com isto poupa recursos de processamento no servidor, além de reduzir o tempo no retorno do conteúdo solicitado.

  • - Como citado antes, devido a motivos como aqueles, as respostas das aplicações são muito mais rápidas.

  • Quanto a arquitetura do RIA veja também este meu post anterior que fala sobre a Sinopse de Aplicação RIA.


    Benefícios do RIA

    Para a rede e a Web, as aplicações RIA oferecem um framework único que possibilita um conjunto rico de características para agregar mais valor a. Segue alguns itens em que as aplicações RIA auxiliam os usuários:

  • - Aumento da produtividade

  • O desenvolvimento de aplicações RIA, são baseadas em um modelo de desenvolvimento tradicional de fácil aprendizado, fácil de ser seguido e de ser disponibilizado. Isto torna o desenvolvimento de aplicações RIA altamente produtivo.

  • - Baixo custo operacional e aprimoramento da performance

  • Desde que o framework RIA disponibilizou um processamento no lado do usuário final, isto reduziu a carga de processamento do servidor, além da redução do consumo de banda.

  • - RIA abriu novos caminhos para os negócios

  • As aplicações desenvolvidas para web, utilizam RIA para possibilitar inovações e novas aplicações para os negócios e um inteiro conjunto de servidor que podem ser utilizados para disponibilizar aplicações RIA.

  • - RIA possibilita mais transações

  • Desde que as aplicações RIA possibilitaram aos usuários a realização de múltiplas tarefas de maneira simples e intuitiva, através de uma única e interativa interface, isto resultou em um aumento das transações efetuadas pela aplicação. De certa forma isso também resulta em um aumento da produtividade da aplicação e do respectivo usuário que a utiliza.

  • - RIA retem clientes

  • A web adicionou valor aos atuais clientes apresentando o RIA como uma nova e aprimorada interface para a web, seguindo a linha de raciocínio, uma interface mais atrativa, agradável atrai e mantém os clientes/usuário.

  • - RIA ganha a corrida

  • Aplicações desenvolvidas para a web usando RIA, apresentam uma vantagem competitiva para tanto os clientes quanto para as aplicações de negócios, apesar da aplicação até ser/ter a mesma funcionalidade e utilidade de uma outra já existente na web, esta sendo rica, com uma usabilidade simples, fácil e uma melhor performance oferece uma vantagem/atrativo para quem a utiliza e esta são as vantagens e benefícios que o RIA tem a oferecer.


    Fonte inicial do texto [link: webspiders], porém houve adaptações no texto e inclusão de alguns comentários a respeito dos itens descritos.