• Nenhum resultado encontrado

O Adobe AIR4´e um runtime compat´ıvel com diversos browsers e sistemas opera-

tivos, que pretende dar aos programadores a possibilidade de combinar diversas tec- nologias de produ¸c˜ao de conte´udos para a Internet no desenvolvimento deRich Inter- net Application (RIA)s. O Adobe AIR mant´em uma rela¸c˜ao com o browser, mas es- tende as suas capacidades e tecnologias, permitindo o desenvolvimento de aplica¸c˜oes tamb´em para o ambiente de trabalho, com janelas em tudo semelhantes `as do sis- tema operativo. Segundo a Adobe, o objectivo ´e complementar o browser dando aos utilizadores (mas essencialmente aos programadores e equipas de desenvolvi- mento) a escolha sobre como distribuir as suas aplica¸c˜oes. Para este efeito o Adobe AIR tem uma aproxima¸c˜ao diferente do Gears. Em vez de “estender” o browser acrescentando-lhe funcionalidades, o AIR permite tamb´em o desenvolvimento de

Estado da arte

aplica¸c˜oes que se destinam a ser executadas fora do ambiente do browser, mas uti- lizando as tecnologias comuns da Internet (por exemplo: HTML, CSS, JavaScript, Flash, Flex)[CDGH08].

A utiliza¸c˜ao desta tecnologia permite utilizar o browser ou o pr´oprio runtime Adobe AIR, como plataforma de execu¸c˜ao da aplica¸c˜ao.

Na Tabela 3.1 faz-se uma compara¸c˜ao das funcionalidades dispon´ıveis de acordo consoante se escolha o browser ou o desktop como plataforma base para a aplica¸c˜ao. Uma vez que as aplica¸c˜oes Adobe AIR na plataforma desktop tˆem um car´acter persistente (s˜ao instaladas no computador do utilizador), o Adobe AIR tem um modelo de seguran¸ca que se assemelha com o das tradicionais aplica¸c˜oes desktop [Ada08]. Este modelo ´e analisado nas sec¸c˜oes 3.2.1 e 3.2.2. O ambiente em que ´e executado o browser ´e restringido `a execu¸c˜ao de web applications que podem ser de v´arias origens (incluindo de origens an´onimas ou sem confian¸ca). O Adobe AIR proporciona acesso a capacidades como acesso a ficheiros, que necessitam da confian¸ca do utilizador.

• HTML – O desenvolvimento de aplica¸c˜oes para o Adobe AIR pode ser feito com recurso a tecnologias de HTML e Ajax comuns, utilizando as linguagens de markup existentes, distribu´ıdas como texto e interpretadas em execu¸c˜ao (runtime);

• Flash – Outra alternativa ser´a a utiliza¸c˜ao da linguagem Flash. Permite a renderiza¸c˜ao de gr´aficos vectoriais e ´audio/v´ıdeo com suporte nativo. Utiliza ActionScript para adicionar maior interactividade com o utilizador;

• Flex – OFlex ´e uma framework open source para o desenvolvimento de RIAs usando Flash. As aplica¸c˜oes Flex s˜ao na realidade Flash, sendo a principal diferen¸ca o ambiente de desenvolvimento.

Como resultado, uma aplica¸c˜ao AIR poder´a ser implementada:

• Baseada em Flash ou Flex (aplica¸c˜oes cujo conte´udo base ´e em ShockWave Flash (SWF));

• Baseada emFlashouFlex, tamb´em comHTMLouPortable Document Format (PDF). Aplica¸c˜oes cujo conte´udo de base ´e emFlash/Flex (SWF) com HTML

(HTML, JavaScript, CSS) ou conte´udo PDF inclu´ıdo;

• Baseada em HTML. Aplica¸c˜oes cujo conte´udo base ´e em HTML, Javascript,

CSS;

Estado da arte

Os utilizadores interagem com uma aplica¸c˜ao AIR da mesma forma que interagem com outras aplica¸c˜oes com janelas nativas do seu sistema operativo. O runtime ´e instalado uma vez no computador do utilizador, e a partir desse momento, todas as aplica¸c˜oes AIR ter˜ao o mesmo aspecto que qualquer outra aplica¸c˜ao para o desktop.

3.2.1 Seguran¸ca

Permitir que umaweb applicationaceda ao disco de armazenamento do utilizador pode comprometer seriamente a sua seguran¸ca. Neste sentido o Adobe AIR tem suporte para assinaturas digitais (Secure Sockets Layer (SSL)) que podem ser com- pradas pelas equipas de desenvolvimento que o desejem, e cujos certificados ser˜ao apresentados ao utilizador no momento da instala¸c˜ao. Um outro aspecto ainda relativo `a seguran¸ca ´e o mecanismo de isolamento de cada ambiente (sandbox ).

3.2.2 Assinatura do c´odigo

O runtime AIR exige que todas as aplica¸c˜oes estejam digitalmente assinadas. As assinaturas digitais de c´odigo s˜ao um processo que visa garantir a integridade da aplica¸c˜ao e a identidade do seu autor, no momento da instala¸c˜ao. As equipas de desenvolvimento podem “assinar” uma aplica¸c˜ao utilizando um certificado atribu´ıdo por uma Entidade Certificadora (Certification Authority) ou atrav´es de um certifi- cado individual (self signed certificate). Neste momento o Adobe AIR suporta como entidades certificadoras a Verisign e a Thawte [Ado08].

O instalador apresenta o nome de quem publica a aplica¸c˜ao quando o c´odigo tiver sido assinado com um certificado que apresente confian¸ca, ou que esteja encadeado com um certificado que tenha j´a sido aceite no computador em que se est´a a instalar a aplica¸c˜ao.

As equipas de desenvolvimento podem tamb´em assinar as aplica¸c˜oes com um certificado auto-atribu´ıdo (um certificado criado por elas pr´oprias), mas neste caso o instalador apresentar´a estas aplica¸c˜oes como sendo de uma origem n˜ao verificada. O AIR utiliza a infraestrutura p´ublica de chaves [Ent07] suportada pelo arquivo local do sistema operativo. Para que a origem da aplica¸c˜ao seja reconhecida, o computador onde a aplica¸c˜ao AIR est´a a ser instalada tem que confiar directamente no certificado que foi utilizado para assinar a aplica¸c˜ao, ou confiar num certificado que esteja num encadeamento l´ogico de certificados confiados, e que se ligue desta forma ao certificado utilizado para assinar a aplica¸c˜ao.

Todas as aplica¸c˜oes AIR tˆem caracter´ısticas em comum, independentemente da tecnologia utilizada para o seu desenvolvimento (HTML/Flex/Flash). No ˆambito de uma aplica¸c˜ao AIR existem um conjunto de APIs que est˜ao dispon´ıveis e que tornam poss´ıvel o acesso ao sistema local (leitura e escrita) e a recursos de rede que

Estado da arte

de outra forma nunca estariam acess´ıveis a partir de uma web application comum. Cada aplica¸c˜ao AIR possui tamb´em diferentes n´ıveis de isolamento, chamados secu- rity sandboxes, dependendo do tipo de conte´udo que est´a a ser carregado e do seu objectivo:

• Isolamento ao n´ıvel da aplica¸c˜ao5 – ´E a raiz de cada aplica¸c˜ao AIR. Este

n´ıvel de isolamento permite o acesso a APIs privilegiadas e espec´ıficas do AIR. Em contrapartida, ´e negado o acesso a algumas APIs que poderiam ser facilmente utilizadas de forma maliciosa contra o utilizador final. Importa¸c˜ao dinˆamica de conte´udos remotos ´e geralmente proibido e as t´ecnicas e mecan- ismos de gera¸c˜ao dinˆamica de c´odigo s˜ao fortemente restringidas. Apenas conte´udo carregado directamente da directoria base da aplica¸c˜ao poder´a ser colocado neste n´ıvel de isolamento.

• Isolamento n˜ao espec´ıfico da aplica¸c˜ao6 – cont´em todo o outro conte´udo que n˜ao tenha sido carregado directamente para o isolamento da aplica¸c˜ao. Isto inclui conte´udo local e remoto. Este tipo de conte´udo n˜ao tem acesso directo `as APIs do AIR e rege-se pelas mesmas regras tal como se tivesse sido carregado por um browser a partir da mesma localiza¸c˜ao (por exemplo, HTML carregado a partir de um dom´ınio remoto comporta-se da mesma forma que se fosse acedido a partir do browser ).

Documentos relacionados