Marcio Rosa Website

Avatar

Marcio Rosa Interaction Architect.

Tecnologias RIA

AJAX (acrônimo em língua inglesa de Asynchronous Javascript And XML) é o uso sistemático de tecnologias providas por navegadores, como Javascript e XML, para tornar páginas mais interativas com o usuário, utilizando-se de solicitações assíncronas de informações. AJAX não é somente um novo modelo, é também uma iniciativa na construção de aplicações web mais dinâmicas e criativas. AJAX não é uma tecnologia, são realmente várias tecnologias conhecidas trabalhando juntas, cada uma fazendo sua parte, oferecendo novas funcionalidades. AJAX incorpora em seu modelo.:

  • Apresentação baseada em padrões, usando XHTML e CSS;
  • Exposição e interação dinâmica usando o DOM;
    DOM (Document Object Model - Modelo de Objetos de Documentos) é uma especificação da W3C, independente de plataforma e linguagem, onde pode-se alterar e editar a estrutura de um documento. A API DOM oferece uma maneira padrão de se acessar os elementos de um documento, além de se poder trabalhar com cada um desses elementos separadamente, e por esses motivos criar páginas altamente dinâmicas.
  • Intercâmbio e manipulação de dados usando XML e XSLT;
    XSLT é a parte mais importante dos padrões XSL. Ele é a parte do XSL usada para transformar um documento XML em outro documento XML, ou um outro tipo de documento que é reconhecido por um browser, como HTML e XHTML. Normalmente XSLT faz isso transformando cada elemento XML em um elemento (X)HTML.
  • Recuperação assíncrona de dados usando o objeto XMLHttpRequest;
    XMLHttpRequest é um objeto Javascript que torna possível a comunicação assíncrona com o servidor, sem a necessidade de recarregar a página por completo. O objeto XMLHttpRequest é hoje parte da especificação do DOM  e JavaScript unindo todas elas em conjunto.

Adobe Flash (antes Macromedia Flash), ou simplesmente Flash, é um software primariamente de gráfico vetorial - apesar de suportar imagens bitmap e vídeos - utilizado geralmente para a criação de animações interativas que funcionam embarcadas num navegador web. O produto era desenvolvido e comercializado pela Macromedia, empresa especializada em desenvolver programas que auxiliam o processo de criação de páginas web. Em abril de 2005, a Macromedia foi adquirida pela Adobe Systems, fabricante de diversos softwares como o Photoshop ou Acrobat Reader, por exemplo.

Em versões recentes (a partir da 5), a Macromedia expandiu a utilização do Flash para além de simples animações, mas também para uma ferramenta de desenvolvimento de aplicações RIA. Isso graças aos avanços na linguagem ActionScript, que é a linguagem de programação utilizada em aplicações de arquivos flashes (.swf). A terceira versão desta linguagem acaba de ser lançada, tornando mais fácil e rápido criar aplicações para web, além de contar com recursos bem mais poderosos.

Uma nova plataforma, chamada Apollo, está sendo lançada pela Adobe e tem como objetivo solidificar o desenvolvimento da linguagem ActionScript, seja através do Flash, do Flex ou de outros programas.

Laszlo é uma plataforma que consiste na linguagem do LZX e a LPS (the Laszlo Presentation Server). LZX é um XML hábil e declarativo, baseado em processo de desenvolvimento que suporta rápida prototipação e desenvolvimento de software com excelente performance.

The Laszlo Presentation Server (LPS) é um Servlet que compila a aplicação LZX para executar em tempo real. Laszlo é renderizado no Flash Player ou em DHTML.

O Adobe Flex é o nome de um conjunto de tecnologias, lançada em Março de 2004 pela Macromedia, que suportam o desenvolvimento de aplicações ricas para a Internet baseadas na plataforma do Macromedia Flash.

É possível verificar que as aplicações feitas em Flash oferecem ao usuário uma experiência muito mais robusta, na qual a produtividade é envolvida pela facilidade de uso e interatividade em tempo real, impossível conseguir no HTML. Desenvolver aplicações ricas com o Flash para programadores torna-se de início estranho, pois o Flash trabalha com uma linha do tempo (timeline) que facilita o trabalho dos designers, mas pode confundir programadores iniciantes nesta ferramenta. O Flex remove esta barreira, fornecendo aos programadores um novo caminho de desenvolvimento de RIAs.

ActionScript 3.0
Poderosa linguagem de programação orientada a objetos para plataforma Flash. ActionScript 3.0 é projetado para criar uma linguagem adequada para construir rapidamente RIAs. Embora versões anteriores do ActionScript já ofereciam a potência e flexibilidade necessária para isso na nova versão do  ActionScript 3.0 o desempenho e a facilidade melhorou o desenvolvimento facilitando ainda mais  o desenvolvimento de aplicações com grandes dados com código reutilizáveis.

Linguagem MXML
Os arquivos desenvolvidos em Flex possuem a extensão MXML, a qual é uma linguagem de marcação. Para visualizar uma aplicação MXML o usuário faz uma requisição pelo seu servidor, o servidor recebe a requisição, o servidor do Flex compila o arquivo MXML para SWF (formato Flash – binário), este será rodado no Flash Player que será salvo na máquina do cliente e visualizado no navegador.

Versões do Flex
Flex SDK - O Flex 2 SDK é um compilador em modo caractere. É possível desenvolver aplicações Flex gratuitamente utilizando este compilador. O programador utiliza algum editor de sua preferência (Eclipse, bloco de notas, dreamweaver, etc), salva o arquivo mxml e através do SDK compila este arquivo para binário (.swf).

Flex 2 Builder - O Flex 2 Builder é bastante intuitivo. É um framework de desenvolvimento que oferece várias facilidades ao usuário, uma delas são os componentes. Estes componentes podem ser arrastados até o palco, configurados os parâmetros e depois feita a programação no modo de código. A grosso modo pode-se comparar ao Borland Delphi que tem essas funcionalidades de componentes prontos e programáveis, mas voltado para web.

Flex Data Services - oferece um conjunto de avançados recursos de gerenciamento de dados no lado do servidor que permitem aos desenvolvedores fornecer rapidamente aplicativos Flex que fazem intenso uso de dados.

WPF (Windows Presentation Foundation, também conhecido como Avalon) simplifica a construção de aplicações cliente ricas, uma vez que facilita a integração de media e documentos. O WPF introduz um sistema avançado de layouts, fácil integração de media e gráficos vectoriais e 3D, facilitando ainda a colaboração entre programadores e designers.

Identificando as vantagens das Rich Internet Applications

Ao contrário dos dias da “bolha” em meados da década de 1990, as empresas já não estão investindo em tecnologias Internet, simplesmente porque são “legais.” Para ter sucesso, uma nova tecnologia precisa demonstrar um retorno verdadeiro  sobre o investimento e realmente agregar algum valor. RIAs conseguem isto, em vários níveis: desenvolvimento que reduzem os custos.

Business Managers
Ao tornar mais fácil para usuários que trabalham com software, o número de transações bem sucedidas é crescente. Este aumento ocorre através de muitas indústrias e podem ser quantificados pelas empresas com métricas, tais como o aumento da produtividade utilizando aplicativos Intranet ou aumento percentual de compradores on-line, que completa uma compra.

TI
Reduz a carga em servidores web e reduz o tráfego de rede. Ao invés de transmissão de páginas inteiras de uma a uma, todo o pedido é feito de uma vez, e, em seguida, a única comunicação com o servidor é para que os dados sejam apresentados na página. Ao reduzir a carga do servidor de rede e tráfego. RIAs desenvolvido usando as boas práticas podem também facilitar o tempo de manutenção de uma aplicação, bem como reduzir o tempo de desenvolvimento.

Usuários Finais
Hoje, há uma série de excelentes aplicações que demonstram a facilidade e interação entre usuários, o que não seria possível sem os conceitos de RIA, tais como as motos Harley Davidson.

Rich Internet Applications

RIA é a abreviação de Rich Internet Applications ou Aplicações Ricas para Internet. É uma Aplicação Web que contêm características e funcionalidades de uma aplicação desktop tradicional. Tipicamente uma aplicação RIA transfere a necessidade de processamento do cliente (numa arquitetura cliente-servidor) para o navegador mas, mantém o processamento mais pesado no servidor de aplicação.
O termo RIA foi usado pela primeira vez em 2001 pela Macromedia (hoje Adobe Systems).

Características:

  • roda em um navegador e não requer a instalação de programas adicionais;
  • roda localmente em um ambiente seguro chamado sandbox
    (Esse é o conceito de segurança do Java centrado na sandbox: Uma aplicação, seja qual for o ambiente, tem um Set de permissões. Cada ambiente tem a sua “caixa de areia” específica, com suas permissões).

Como as aplicações para a Internet começaram a serem utilizadas para atividades principais, a manutenção dessas aplicações se tornou mais crucial. Infelizmente, muitas aplicações web foram construídas com pouca reflexão sobre a aplicação dos princípios da arquitetura, e que, por isso, são difíceis de manter e ampliar. Hoje, é mais fácil construir uma sólida arquitetura, fornecendo uma separação limpa entre o acesso a dados e áreas de apresentação e com a introdução de elementos tais como Web Services e SOA.

Service-oriented architecture - SOA ou ainda, em português, arquitetura orientada a serviços, é um estilo de arquitetura de software cujo princípio fundamental preconiza que as funcionalidades implementadas pelas aplicações devem ser disponibilizadas na forma de serviços. Freqüentemente estes serviços são organizados através de um “barramento de serviços” (enterprise service bus, em inglês) que disponibiliza interfaces, ou contratos, acessíveis através de web services ou outra forma de comunicação entre aplicações. A arquitetura SOA é baseada nos princípios da computação distribuída e utiliza o paradigma request/reply para estabelecer a comunicação entre os sistemas clientes e os sistemas que implementam os serviços.

Web service é uma solução utilizada na integração de sistemas e na comunicação entre aplicações diferentes. Com esta tecnologia é possível que novas aplicações possam interagir com aquelas que já existem e que sistemas desenvolvidos em plataformas diferentes sejam compatíveis. Os Web services são componentes que permitem às aplicações enviar e receber dados em formato XML. Cada aplicação pode ter a sua própria “linguagem”, que é traduzida para uma linguagem universal, o formato XML.

Para as empresas, os Web services podem trazer agilidade para os processos e eficiência na comunicação entre cadeias de produção ou de logística. Toda e qualquer comunicação entre sistemas passa a ser dinâmica e principalmente segura, pois não há intervenção humana.

Certified Flex 2 Developer

A cada mês estarei disponibilizando apenas artigos de uma determinada categoria. Esse mês iremos falar de Flex 2.0 e SEO e no mês de Dezembro sobre AS 3.0. Iremos começar com a preparação para as certificações para Adobe Flex.

Segue o plano de estudo que seguiremos para a certificação Adobe Flex.
Adobe Flex 2: Training from the Source, 1/e
Total Training

Flex 2 Developer’s Guide (PDF)
Creating and extending Flex 2 components (PDF)
Programming ActionScript 3.0 (PDF)
Lynda.com Online Training

Adobe da treinamento gratuito de Flex

A Adobe em Parceria com a Total Training™ oferece treinamento de Adobe Flex 2 com o guru de Adobe Flex James Talbot (Adobe Certified Master) e instrutor Leo Schuman.

Cadastrese-se no site pois as vagas são limitadas. São 30 dias de acesso e mais de 17 horas de Adobe Flex 2 online totalmente grátis.

Te vejo lá: http://www.totaltraining.com/guest/adobe

Before you go

Going so soon? May these links be a guide to web project.