Ap´os a an´alise das tecnologias apresentada nas sec¸c˜oes3.1a3.4, foi necess´ario es- tudar a adequa¸c˜ao de cada uma delas ao projecto em quest˜ao. Desde logo ´e poss´ıvel observar que nem todas se dedicam apenas a OWA. Por exemplo, o Adobe AIR, apesar de ter suporte para OWA apenas disponibiliza algumas das funcionalidades identificadas como mais indicadas para a execu¸c˜ao do projecto quando utilizado na sua vertente desktop, tal como exposto na Tabela 3.1, mas a utiliza¸c˜ao desta vertente implicaria o desenvolvimento de novas interfaces e de novas formas de co- munica¸c˜ao (troca de mensagens XML ou JSON). A vertente web do Adobe AIR foca-se mais especificamente nasRich Internet Applicationse permite a reutiliza¸c˜ao do c´odigo j´a existente (exigindo naturalmente a sua adapta¸c˜ao e a implementa¸c˜ao das funcionalidades pretendidas).
A tecnologia escolhida para a realiza¸c˜ao deste trabalho foi o Gears, sendo que um dos principais factores a influenciar esta op¸c˜ao foi a liberdade introduzida pela sua licen¸ca Berkeley Software Distribution (BSD)11.
Considerou-se o funcionamento desta ferramenta extremamente adequando `a aplica¸c˜ao no WOW!, uma vez que o seu principal objectivo ´e precisamente tornar poss´ıvel a execu¸c˜ao offline de uma p´agina web e por virtude deste facto o Gears tem uma API concisa e de simples aplica¸c˜ao pr´atica, uma vez que n˜ao possui quaisquer outros elementos distractores. O funcionamento do seu ManagedResourceStore ex- emplificado na Figura 3.1, com a capacidade de actualiza¸c˜ao de recursos definidos num ficheiro manifesto especificado em JSONpesou tamb´em nesta decis˜ao.
11
Sobre a licen¸ca BSD consultar: http://www.opensource.org/licenses/bsd-license.php e http: //www.linfo.org/bsdlicense.html
Estado da arte
Figura 3.1: Esquema UML do processo efectuado pelos recursos do Gears do tipo ManagedResourceStore para a actualiza¸c˜ao dos conte´udos definidos no ficheiro manifesto.
Estado da arte
Funcionalidade RIAs no browser RIAs no desktop
Disponibilidade da aplica¸c˜ao
As aplica¸c˜oes podem ser facil- mente exploradas e utilizadas
As aplica¸c˜oes quando instal- adas tˆem maior grau de fun- cionalidades e persistˆencia Instala¸c˜ao N˜ao ´e necess´ario qualquer tipo
de instala¸c˜ao.
As aplica¸c˜oes s˜ao instaladas atrav´es do browser, ou descar- regadas e instaladas como uma aplica¸c˜ao tradicional. Actualiza¸c˜oes Aplica¸c˜oes s˜ao actualizadas
carregando conte´udos para um website.
O AIR disponibiliza uma API que permite que as aplica¸c˜oes sejam actualizadas de uma forma
Sistemas opera- tivos suportados
As aplica¸c˜oes podem ser exe- cutadas em diversos sistemas operativos e browsers.
As aplica¸c˜oes s˜ao multi- plataforma e podem ser instaladas e executadas em diversos sistemas operativos e browsers.
Linguagens de programa¸c˜ao
Javascript ´e disponibilizado pelo browser e ActionScript ´
e disponibilizado pelo Adobe Flash Player.
M´aquinas virtuais de Javascript e ActionScript compat´ıveis com o browser. Capacidade de
execu¸c˜ao em background
As RIAs podem ser execu- tadas numa janela do browser.
As aplica¸c˜oes podem ser ex- ecutadas em background e disponibilizar notifica¸c˜oes tal como uma aplica¸c˜ao tradi- cional.
Persistˆencia A actividade est´a limitada `a sess˜ao do browser. Quando o browser ´e encerrado, toda a informa¸c˜ao ´e descartada.
As aplica¸c˜oes s˜ao instaladas e est˜ao dispon´ıveis no desktop. Podem armazenar informa¸c˜ao localmente e est˜ao dispon´ıveis offline.
Integra¸c˜ao com o desktop
Integra¸c˜ao com o desktop lim- itada devido a restri¸c˜oes im- postas pelo browser.
As aplica¸c˜oes podem aceder ao sistema de ficheiro, ao clip- board, eventos, notifica¸c˜oes, etc.
Controlo da inter- face com o uti- lizador
As aplica¸c˜oes s˜ao acedidas atrav´es de uma janela do browser, que tem os seus pr´oprios controlos e visual gr´afico.
As aplica¸c˜oes tˆem um vi- sual gr´afico pr´oprio, em janela pr´opria.
Armazenamento de dados
As aplica¸c˜oes tˆem armazena- mento limitado, que pode ser reescrito pelo browser.
As aplica¸c˜oes tˆem acesso `a to- talidade do espa¸co dispon´ıvel localmente, e a uma base de dados com a possibilidade de encripta¸c˜ao.
Tabela 3.1: Compara¸c˜ao das funcionalidades oferecidas pelo Adobe AIR para as platafor- mas web e desktop
Estado da arte
Aplica¸c˜ao Modo de execu¸c˜ao utilizado
Google Reader Utiliza o modo “utilizador decide”, disponibilizando ao utilizador um bot˜ao para alternar entre os modos online e offline. Como lida com informa¸c˜ao recol- hida de fontes externas, de natureza frequentemente ef´emera, o processo de sincroniza¸c˜ao apenas transfere os dois mil itens mais recentes quando passa ao es- tado offline. Neste modo s˜ao ainda guardadas in- forma¸c˜oes de itens lidos e etiquetas atribu´ıdas que s˜ao sincronizadas com o servidor quando o utilizador voltar a activar estado online.
Google Docs Utiliza o modo “aplica¸c˜ao decide”, permitindo que o utilizador edite os conte´udos de documentos de texto, folhas de c´alculo e de apresenta¸c˜oes independente- mente do estado da liga¸c˜ao, desde o momento em que as funcionalidades offline s˜ao activadas. A aplica¸c˜ao faz pequenas sincroniza¸c˜oes com o servidor sempre que necess´ario.
Remember the Milk Utiliza um modo h´ıbrido entre “aplica¸c˜ao decide” e “utilizador decide”. A aplica¸c˜ao encarrega-se da sin- croniza¸c˜ao de dados, mas disponibiliza um controlo na sua interface que permite despoletar manualmente este processo, para situa¸c˜oes em que o utilizador fez al- tera¸c˜oes recentes e pretende usufruir das capacidades offline imediatamente.
MySpace O MySpace anunciou a utiliza¸c˜ao de mecanismos de armazenamento de dados no cliente com recurso a tecnologias OWA, para melhorar o desempenho do seu cliente web de correio electr´onico, nomeadamente no que diz respeito a opera¸c˜oes de pesquisa e or- dena¸c˜ao. Inicialmente esta funcionalidade estar´a ape- nas dispon´ıvel para utilizadores com cinco mil ou mais mensagens na sua caixa de correio, mas n˜ao ´e ainda claro se ser´a disponibilizada uma vers˜ao totalmente offline.
Tabela 3.2: Resumo da utiliza¸c˜ao de tecnologias OWA em algumas web applications con- sideradas na an´alise do estado da arte.
Cap´ıtulo 4
Desenvolvimento
Neste cap´ıtulo introduz-se a aplica¸c˜ao WOW! e apresenta-se o estudo que foi feito da adequa¸c˜ao de cada tecnologia para a implementa¸c˜ao da funcionalidade of- fline nesta plataforma. Fazem-se diversas considera¸c˜oes sobre op¸c˜oes a tomar na concep¸c˜ao de OWAs e problemas comuns na sua implementa¸c˜ao, bem como sug- est˜oes para os resolver. O WOW!´e uma aplica¸c˜ao j´a existente, de gest˜ao de ordens de trabalho e do fluxo de tarefas numa empresa ou organiza¸c˜ao.