Eduardo Cereto Carvalho. Rich Internet Applications com clientes offline utilizando Gears

Tamanho: px
Começar a partir da página:

Download "Eduardo Cereto Carvalho. Rich Internet Applications com clientes offline utilizando Gears"

Transcrição

1 Eduardo Cereto Carvalho Rich Internet Applications com clientes offline utilizando Gears Itatiba - São Paulo - Brasil Junho de 2009

2 Eduardo Cereto Carvalho Rich Internet Applications com clientes offline utilizando Gears Monografia, apresentada à disciplina Trabalho de Conclusão de Curso II do curso de Engenharia da Computação da Universidade São Francisco, sob a orientação do Prof. Rodrigo Chavez M. do Prado, como exigência parcial para conclusão do curso de graduação. Orientador: Rodrigo Chavez M. do Prado GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO UNIVERSIDADE SÃO FRANCISCO Itatiba - São Paulo - Brasil Junho de 2009

3 i Sumário Lista de Figuras p. iii Resumo p. iv Abstract p. v 1 INTRODUÇÃO p Objetivos p Objetivos Específicos p. 3 2 ASPECTOS TEÓRICOS p Evolução das Aplicações Web p Páginas Estáticas p Páginas com Conteúdo Multimídia p Aplicações Ricas da Internet p Gears p HTML p Javascript p Ajax e DOM p Gears p Módulos do Gears p Arquitetura de Sistemas Baseados em Gears p METODOLOGIA p. 14

4 ii 3.1 Aplicação de anotações p Aplicação em Django p Estrutura Básica de Sistemas Django p Implementando Ajax p Implementação do Gears p Implementação Modal ou Amodal p Conteúdo Estático p Identificando Estado Online/Offline p Camada de Dados p Sincronização p CONCLUSÃO p Análise da Arquitetura Proposta p Contribuições p Dificuldades Encontradas p Propostas de Extensão p. 29 Referências Bibliográficas p. 30 Apêndice A -- Aplicação em Django utilizando Gears p. 31 A.1 Interface p. 31 A.2 Arquivos p. 33 A.2.1 Django p. 34 A.2.2 Gears p. 36

5 iii Lista de Figuras 1 Arquitetura tradicional de aplicações Web p Diagrama de sequência tradicional para aplicações Web p Arquitetura proposta pelo Gears p Diagrama de sequência para aplicações Web baseadas em Gears p Confirmação para permitir que a aplicação use o Gears para guardar dados.. p Tela listando todas as notas p Tela mostrando uma determinada nota p. 32

6 iv Resumo Aplicações Ricas da Internet é o nome dado às aplicações Web que fazem uso pesado de Javascript para implementar uma interface dinâmica provendo uma experiência similar a das aplicações desktop convencionais. Este trabalho mostra um pouco da história das aplicações Web, e especula sobre o futuro, fazendo um estudo de tecnologias emergentes como o Gears que trazem novas possibilidades a essa plataforma.

7 v Abstract Rich Internet Applications is the name for the Web applications that make heavy use of Javascript to implement dynamic interfaces providing a user experience similar to a regular Desktop Application. This work shows the history of Web applications, and discusses about the future of the Web as an application platform. Also it explores emerging technologies such as Gears that bring new features to this platform.

8 1 1 INTRODUÇÃO Nos últimos anos pudemos vivenciar a popularização de hardware e Internet em todo o mundo. É comum hoje em dia o indivíduo ter um computador desktop em casa, um notebook para o trabalho e mais aquele computador da namorada que ele usa nos finais de semana. Seus arquivos acabam espalhados em diversos computadores e pen drives. Alguém distraído pode facilmente se perder em meio às diferentes versões de arquivos que vão sendo criadas ao longo do tempo. Agora imagine fazer backup de tudo isso de uma maneira organizada. Pode-se pensar em muitas soluções para estes problemas, dentre elas: criar um servidor FTP em um servidor pago para centralizar tudo, usar um pen drive para ter mobilidade e manter backups nos diversos computadores ou ainda criar um elegante sistema de versões mantendo repositórios distintos que iriam sendo mesclados usando uma ferramenta de controle de versões como o GIT. Cada uma dessas soluções tem um problema, seja ele um ponto único de falha, um custo monetário mensal ou um grau de complexidade elevado. Mas com certeza nenhuma delas é uma solução trivial o suficiente para ser amplamente utilizada pelo usuário final. A computação nas nuvens [Miller 2008] surge para resolver este problema. Esse novo conceito de computação propõe que todos os dados e, às vezes, até mesmo as aplicações fiquem na Internet. As empresas como o Google começam a oferecer muitos Giga Bytes grátis para que o usuário possa guardar seus s no Gmail ou documentos no GoogleDocs. Esses são dois exemplos onde tanto os dados quanto a aplicação estão nas nuvens, ou seja, nos servidores do Google. Tudo é facilmente acessível de um navegador, onde quer que o usuário esteja. É fácil, é confiável, é seguro e é muito funcional. Com a disseminação da computação nas nuvens o computador pessoal deixou de rodar as aplicações e guardar os dados passando a ser apenas uma janela para a Internet. Na prática só se precisa de um Sistema Operacional (SO) e um navegador para ter acesso a um mundo de aplicações como editores de imagem, planilhas eletrônicas, editores de texto, , etc. As aplicações desktop ficaram um tanto ameaçadas porque é improvável que elas consigam oferecer em curto prazo as vantagens da computação nas nuvens. Porém as aplicações na Internet

9 2 têm a desvantagem de estar atreladas ao navegador e por isso ter certas limitações. Volta-se a era dos terminais burros e mainframes, com os dados e aplicações centralizadas na Internet e os computadores fazendo o papel dos terminais burros. Os computadores de hoje são muito superiores, em termos de recursos, aos terminais burros de antigamente, porém esses recursos são muito mal utilizados nas aplicações Web. A falta de acesso direto ao SO não permite que as aplicações acessem o sistema de arquivos ou façam algum processamento mais complexo em paralelo. Todas estas aplicações estão presas ao protocolo HTTP que é simples e sem estado [Tanenbaum e Steen 2007] além de linguagens script para processamento client side muito lentas se comparado a uma biblioteca nativa. Caso o usuário esteja em um local sem Internet todos os seus documentos estão inacessíveis e seu computador passa a ser um peso de papel. Além disso a questão da usabilidade é importante já que as interfaces das aplicações Web são diferentes das interfaces de programas desktop equivalentes, o usuário pode sentir dificuldade em se acostumar ao novo ambiente, o que pode gerar uma queda de produtividade expressiva [Krug 2005]. Algumas iniciativas vêm sendo tomadas para integrar as aplicações Web ao desktop a fim de eliminar ou reduzir estas desvantagens das aplicações Web. Algumas empresas lançaram seus produtos em caráter experimental usando suas próprias abordagens para o problema. A Adobe criou o AIR que permite criar aplicações Web em Flash e ActionScript que rodam como se fossem aplicações nativas, se aproveitando de recursos como aceleração 3D enquanto o Google, com o seu Gears, teve uma abordagem diferente privilegiando a possibilidade de guardar arquivos no lado do cliente e fazer processamento Javascript em paralelo. A integração tem um papel tanto de usabilidade, trazendo transparência no acesso à aplicação Web, quanto em termos de funções, já que as aplicações desktop não estão presas ao navegador especificamente. Por isso tem mais liberdade de acesso aos recursos da máquina.

10 3 1.1 Objetivos O objetivo deste documento é fazer uma análise da evolução das aplicações Web e como o Gears pode resolver limitações desta plataforma, introduzindo funcionalidades novas Objetivos Específicos Usar o Gears para contornar limitações das aplicações Web. Mostrar como o uso de um framework forte facilita a criação de aplicações mais ricas. Estudar os problemas mais comuns na implementação do Gears.

11 4 2 ASPECTOS TEÓRICOS 2.1 Evolução das Aplicações Web De maneira geral a evolução das aplicações Web pode ser definida em 3 fases distintas [Taivalsaari e Ingalls 2008]. Páginas "clássicas", apenas com texto e imagens estáticas. Páginas multimídia, com animações e conteúdo multimídia com o uso de plugins. Rich Internet Applications ou Aplicações Ricas da Internet Páginas Estáticas Nos primórdios a Web era usada para manter arquivos HTML estáticos que possuíam links entre eles. Era como um livro gigantesco, no qual o usuário tinha a opção de pular direto para a seção que mais lhe interessava com facilidade. Este modelo foi se modernizando e as páginas começaram a se tornar dinâmicas. Linguagens simples eram usadas para gerar as páginas antes estáticas. Lentamente foram surgindo linguagens e frameworks focados na Web e a arquitetura dos sites foi se tornando cada vez mais complexa Páginas com Conteúdo Multimídia Mesmo com as páginas sendo geradas dinamicamente a interface do usuário ainda era estática. O usuário clicava num link e isso acarretava num recarregamento da página. Com o tempo foi surgindo a necessidade de adicionar dinamismo a interface do usuário. Os Java applets e o Flash deram essa possibilidade ao desenvolvedor. Os sites podiam ser melhor customizados. Animações, som e vídeo abriam um novo leque de possibilidades para

12 5 os webdesigners. Este modelo exigia que o usuário instalasse um plugin proprietário no navegador, caso contrário este não conseguiria acessar o conteúdo. Porém não era mais preciso lidar com problemas de incompatibilidade entre os navegadores, visto que todos usavam o mesmo plugin. Essa metodologia trouxe novos problemas. O conteúdo em Flash, não era indexado pelos mecanismos de busca, o que logo se tornou um grande problema a medida que os mecanismos de busca se estabeleceram como a principal porta de entrada para a Web. Além disso uma falta de padronização de interface trouxe dificuldades de usabilidade e acessibilidade. Cada desenvolvedor criava interfaces ricas diferenciadas e que o usuário não reconhecia de imediato [Krug 2005] Aplicações Ricas da Internet As Aplicações Ricas da Internet começaram a fazer uso mais intensivo das linguagens e frameworks modernos. Além disso houve o aparecimento do Ajax. Ajax (Asynchronous Javascript and XML) é um conjunto de técnicas para alterar o conteúdo de uma página Web depois dela ter sido carregada. Na prática ela permite que apenas uma parte da página seja atualizada ao invés de fazer um novo carregamento. Por ser assíncrona essa técnica permite que o usuário interaja com a página enquanto as informações são carregadas. Esta funcionalidade existe nos navegadores desde o ano 2000, mas o termo Ajax surgiu apenas em 2005 quando a tecnologia foi popularizada. O Ajax trouxe um dinamismo novo às antigas páginas estáticas melhorando a experiência do usuário drasticamente e permitindo aos desenvolvedores reinventar a Web como uma plataforma para o desenvolvimento de aplicações. O Flash deixou de ser a melhor opção para gerar interfaces ricas. E foi lentamente, sendo rebaixada para a categoria de mídia player para sites. Sites como o Youtube usam o Flash apenas para exibir vídeos e áudio, enquanto que o Ajax predomina na interface Gears As aplicações Web ficam centralizadas na nuvem. Isso significa que todos os códigos, arquivos e dados ficam em servidores e não na máquina cliente, que serve apenas como uma janela para enxergar essas aplicações.

13 6 Antes da aparição do Gears não existia uma maneira de guardar estes dados e arquivos. Os cookies podem guardar apenas uma quantidade limitada de dados, e são geralmente usados para manter sessões de usuários, provendo uma funcionalidade não inclusa no HTTP. Não existe uma maneira de guardar dados relacionais como os que são guardados nos bancos de dados do lado do servidor. Com o Gears o desenvolvedor tem uma nova opção. Pode armazenar dados no computador do usuário em um banco de dados local implementado dentro do navegador na forma de uma extensão. Isso cria um novo precedente no desenvolvimento de aplicações Web. Pode-se criar aplicações Web seguras que nunca enviam os dados para a nuvem, ou acelerar aplicações existentes trazendo os dados todos para o lado do cliente. Bem como tornar aplicações antes apenas acessíveis através da Internet completamente offline. Aplicações Web contruídas desta forma podem deixar de ser do tipo thin-client/fat-server e passar a ser fat-client/thin-server. Exatamente como aplicações desktop tradicionais HTML5 A nova especificação do HTML, prevista para ser finalizada em 2010, inclui algumas funcionalidades análogas as providas pelo Gears. Como será uma funcionalidade padrão do navegador pode-se antecipar que será utilizada por muitos desenvolvedores a medida que os usuários começam a utilizar os navegadores que implementam o HTML5. Além de contar com a funcionalidade de guardar dados localmente o HTML provê tags multimídia para exibir videos ou sons, e uma API Javascript para controlar essas funcionalidades. O Objetivo do HTML5 é introduzir funcionalidades antes providas apenas por extensões e que provaram ser importantes para a construção de aplicações mais ricas baseadas na Web. O Gears provê hoje a habilidade de escrever aplicações que usam as algumas funcionalidades do HTML5 antes que este seja liberado. O Google anunciou recentemente uma camada de abstração que permite o uso tanto do Gears como do HTML5, caso este esteja disponível, através da mesma interface [Google 2009].

14 7 2.2 Javascript O Javascript é um dialeto da especificação ECMAScript e é hoje a linguagem mais utilizada para fazer programação client side. Por ser a única linguagem amplamente implementada por todos os grandes navegadores, ela não tem muita concorrência. A programação client side foi por muito tempo chamada de DHTML ou Dynamic HTML, pois a maior utilidade para o Javascript era adicionar dinamismo ao HTML. Este dinamismo, era geralmente uma questão visual e não interferia em nada com o funcionamento das aplicações. Uma das funcionalidade mais utilizada era para prover validação a formulários. Com a popularização do Ajax o Javascript tornou-se parte integrante das aplicações. Uma vez que a lógica das aplicações começou a ser escrita no lado do cliente a linguagem precisou evoluir para suprir as necessidades dos desenvolvedores. Hoje o Javascript é uma linguagem poderosa orientada a objetos e que faz uso extensivo de eventos para capturar a interação do usuário com a página. É importante que o desenvolvedor tenha um bom domínio dessas funcionalidades na hora de implementar grandes aplicações, criando bibliotecas reutilizáveis e simples de manter [Keith 2005] Ajax e DOM O DOM ou Document Object Model, é uma representação em árvore da estrutura HTML de uma página Web. O DOM permite interações como consulta, adição, remoção ou alterações dos nós desta árvore. O Javascript possui uma interface para uso do DOM permitindo alteração dinâmica [Keith 2005]. O uso em conjunto do DOM e do Ajax é o que permite o carregamento de informação adicionais dentro de uma página sem recarregar todo o conteúdo novamente. Cada navegador implementa o Javascript em cima das especificação ECMAScript. Porém as vezes há diferenças entre as implementações. Essas diferenças entre os navegadores sempre foram uma dor de cabeça para os desenvolvedores. A medida que as aplicações crescem, e o código Javascript cresce fica mais difícil encontrar bugs e essa diferença entre os navegadores não ajuda em nada os desenvolvedores. Existem bibliotecas Javascript que padronizam a interface de comandos Ajax e para interação com o DOM. Essas bibliotecas resolvem problemas como incompatibilidades com navegadores e deixa tempo para o programador lidar com seus próprios bugs. Dentre as bibliotecas

15 8 mais utilizadas estão o jquery, Prototype e Dojo. As Aplicações Ricas de Internet geralmente fazem uso constante do DOM e Ajax, e por este motivo é comum o uso de alguma destas bibliotecas.

16 9 2.3 Gears O Gears é um projeto de código livre que possibilita a construção de aplicações Web mais poderosas e integradas ao desktop, as chamadas Rich Internet Applications. O Gears foi idealizado pelo Google e lançado em maio de 2007 [Gears API 2008], atualmente está em sua versão e é desenvolvido por funcionários do Google e membros voluntários de uma comunidade de desenvolvedores que se formou ao redor do projeto. O uso mais comum para Gears é fazer com que aplicações Web, ou pelo menos parte delas, fiquem acessíveis mesmo que não haja acesso a Internet [Kilani 2007], ou para acelerar o funcionamento da aplicação para que ela fique o mais parecido possível com o funcionamento de uma aplicação desktop. Atualmente as plataformas suportadas são: Windows XP/Vista, Windows Mobile, Mac, Android e Linux. O Gears é implementado como um extensão para os navegadores Firefox, Internet Explorer, Safari ou Chrome. O seu trabalho é fazer uma ponte entre a aplicação Web e o SO, fornecendo os recursos do SO para a aplicação através de uma API em Javascript. Entre os sistemas que já se beneficiam do Google Gears estão diversas aplicações do Google, MySpace, Zoho, Remember the Milk [Kilani 2007], entre outras.

17 Módulos do Gears O Gears é um sistema modular e a idéia é que no futuro mais e mais módulos sejam adicionados permitindo flexibilidade enquanto mantém o core do Gears bem leve. Dentre os módulos atualmente disponíveis estão: Database Provê um banco de dados local no cliente para guardar dados e recuperá-los, possibilitando que esses dados possam ser utilizados mesmo sem que haja conexão com a Internet. No Gears esta camada faz uso do SQLite, um banco de dados open source pequeno mas com muitas funcionalidades. Desktop Fornece acesso ao desktop como por exemplo a possibilidade de criar ícones na máquina cliente facilitando o acesso a aplicação Web e tornando-a mais próxima de aplicações locais. Geolocation Permite que a aplicação Web acesse dispositivos da máquina cliente que informam a localização do usuário como um módulo GPS. Esse recurso é utilizado por exemplo em uma aplicação de mapas rodando em um celular para poder localizar a posição exata em que o usuário se encontra em um mapa. LocalServer Permite que requisições HTTP que normalmente seriam enviadas pela Internet para um servidor remoto, sejam respondidas pela mesma máquina cliente num servidor local. Este recurso acelera o funcionamento de uma aplicação Web e inclusive permite que uma certa aplicação funcione sem acesso a Internet, e conseqüentemente ao seu servidor. Dentro do LocalServer existem ResourceStores que são utilizados para guardar conteúdo estático. WorkerPool Fornece recursos para fazer processamento Javascript em paralelo para evitar que um script complexo interrompa a fluidez da aplicação Arquitetura de Sistemas Baseados em Gears Como regra geral as aplicações Web são aplicações distribuídas do tipo fat server/thin client [Tanenbaum e Steen 2007], uma vez que o cliente ou browser é responsável apenas por renderizar a interface de usuário como mostra a Figura 1. Neste modelo cada vez que o usuário realiza qualquer interação com a aplicação é feita uma requisição ao servidor e este retorna uma página HTML que representa um snapshot do sistema como ilustrado na Figura 2.

18 11 Figura 1: Arquitetura tradicional de aplicações Web Figura 2: Diagrama de sequência tradicional para aplicações Web

19 12 Figura 3: Arquitetura proposta pelo Gears O Gears propõe uma arquitetura diferente [Gears API 2008]. Através dos módulos Local- Server e Database, descritos na seção 2.3.1, o Gears tem o poder de prover páginas localmente sem precisar contactar o servidor. Isso agiliza as chamadas e possibilita o uso das aplicações mesmo sem uma conexão a Internet. Nessa arquitetura as requisições passam primeiramente por um data switch que irá identificar se os dados devem ser requisitados para o servidor remoto ou para o servidor local. Caso a requisição vá para o servidor remoto o data switch encaminha a requisição para a camada de dados remotos, que por sua vez implementa a API para recuperar os dados remotamente. Caso a requisição seja encaminhada para a camada de dados local, os dados serão recuperados do banco de dados interno do Gears. Existe ainda uma camada opcional de sincronização responsável por sincronizar os dados do banco de dados local com os dados do servidor remoto, essa sincronização normalmente é feita por um Worker Pool sendo assim executado em segundo plano. Esta arquitetura está ilustrada na Figura 3. Na arquitetura do Gears nem sempre as requisições precisam passar pelo servidor, vide Figura 4. Isto torna o processo todo bem mais rápido já que não depende da conexão com a Internet. O próprio Gears trata de encaminhar as requisições que não podem ser feitas localmente e sincronizar os dados remotos com os dados locais.

20 Figura 4: Diagrama de sequência para aplicações Web baseadas em Gears 13

21 14 3 METODOLOGIA Este capítulo mostra os passos principais no desenvolvimento de uma aplicação de anotações em Django que faz uso do Gears. 3.1 Aplicação de anotações A aplicação que foi desenvolvida é uma aplicação simples usada como base para implementar o Gears utilizando o Django como framework do lado do servidor. Dentre as características da aplicação podemos citar: Criação de anotações com título e conteúdo. Possibilidade de visualizar as anotações mesmo sem acesso a Internet. Possibilidade de criar anotações mesmo sem acesso a Internet. Sincronização de anotações enquanto a aplicação está online, para enviar ao servidor as anotações criadas em modo offline. 3.2 Aplicação em Django O Django é um framework de código livre de alto nível que encoraja o desenvolvimento rápido de aplicações Web com design limpo e pragmático utilizando a linguagem Python. A linguagem Python por sua vez tem como principais características a rápida prototipação e o fato de ter uma biblioteca básica muito completa. O framework Django se baseia no design pattern MVC (Model View Controller) que propõe uma divisão clara entre as camadas de modelo, visão e controle (representação de dados, interface com usuário e lógica de negócio, respectivamente) da aplicação. Esta divisão facilita

22 15 a manutenção dos sistemas e a independência das camadas entre si e torna fácil a reestruturação completa de uma dessas camadas com poucas ou nenhuma modificação nas outras camadas. Os sistemas em Django são geralmente divididos em diversas aplicações Django. Cada aplicação implementa uma ferramenta específica e estas são plugáveis no sistema como um todo. Elas podem interagir entre si mas há uma separação clara de código. Este modelo mais uma vez facilita a manutenção dos sistemas e estimula o reaproveitamento de código de maneira muito prática Estrutura Básica de Sistemas Django Esta seção visa exemplificar a estrutura geral de uma aplicação Django e como os diferentes aplicativos são organizados e reutilizados. Bem como os pontos importantes para criar aplicações em Ajax com Django. Este trabalho não pretende documentar todos os passos envolvidos no desenvolvimento de aplicações Django. Uma análise mais detalhada pode ser encontrada na bibliografia [Holovaty e Kaplan-Moss 2008] ou na home page do projeto Django 1. Após usar o comando python django-admin.py startproject project, o Django cria uma pasta project com a seguinte estrutura. project/ -- init.py -- manage.py -- settings.py -- urls.py O arquivo settings.py possui configurações diversas como informações do banco de dados, diretórios com templates, aplicações Django instaladas, entre outros. O arquivo urls.py possui o mapeamento de urls para views, em outras palavras indica qual função irá ser executada quando cada url for acessada. Já o arquivo manage.py disponibiliza uma extensa coleção de scripts que gerenciam e automatizam a administração do sistema, pode-se usá-lo para criar 1

23 16 uma nova aplicação Django. $ python manage.py startapp notes $ ls project/ -- init.py -- notes -- init.py -- models.py -- views.py -- manage.py -- settings.py -- urls.py Neste momento é criada uma pasta notes que irá agrupar os arquivos referentes a este aplicativo e nele já existem os arquivos models.py e views.py que devem ser reescritos para conter a descrição dos dados e lógica de negócio. O código utilizado neste documento pode ser encontrado no Apêndice A. Após escrever estas duas camadas o aplicativo pode ser plugado alterando a seguinte sessão no arquivo settings.py. INSTALLED_APPS = ( django.contrib.auth, django.contrib.contenttypes, django.contrib.sessions, django.contrib.sites, project.notes, ) Desta forma o aplicativo notes é plugado no sistema. É perceptível que o Django já vem com alguns aplicativos habilitados por padrão como por exemplo o django.contrib.auth que é responsável por gerenciar usuários do sistema. Uma vez que a maioria dos sistemas Web tem usuários, é natural que o Django já venha com esta aplicação, seguindo o modelo all under the hood do Python. Claro que esta aplicação pode ser desligada facilmente desabilitando o suporte a usuários e permissões.

24 17 Após plugar a aplicação, pode-se invocar o comando python manage.py syncdb para que o Django crie no banco de dados as tabelas que refletem os modelos definidos no arquivo models.py. O Django provê uma interface orientada a objeto para acesso aos dados através da camada de modelos. Desse modo não é preciso lidar com queries SQL, o que facilita o desenvolvimento e cria uma independência do DBMS Implementando Ajax Uma boa prática no desenvolvimento de aplicações com Ajax, é se certificar de que a aplicação continuará funcionando corretamente mesmo sem o Javascript [Keith 2005]. Uma estratégia para atingir este objetivo é seguir os seguintes passos: 1. Construa uma aplicação sem Javascript utilizando links e formulários em HTML puro e crie a lógia no servidor para responder a estas requisições. 2. Depois adicione Javascript para interceptar essas chamadas e submissões de formulário realizando-as por Ajax e atualizando apenas parte da página. Desta forma é fácil criar aplicações Ajax que são compatíveis com navegadores sem Javascript, ou que continuem funcionando caso haja algum erro de Javascript. A lógica em Javascript usada para interceptar as requisições na aplicação anotações, pode ser encontrada no conteúdo do arquivo notes.js, na página 42 do apêndice A.2.2. Após implementar a lógica para interceptar essas requisições em Javascript é importante certificar-se que o servidor não irá responder da mesma forma as requisições simples e as requisições em Ajax. Felizmente o Django provê uma maneira simples de identificar a origem da requisição através da função request.is_ajax() dentro de uma view. Isso é possível graças ao jquery que insere um cabeçalho a mais na requisição HTTP facilitando sua identificação. No caso de a requisição ser feita via Ajax, a view não precisa retornar a página completa, apenas os dados que serão inseridos dentro da página. Estes dados podem ser retornados como HTML, texto puro, XML ou Json. O Json tem a vantagem de ser um formato compatível com um objeto Javascript e devido a isso o trabalho de extrair os dados se torna mais simples. 2 Data Base Management System: Sistema gerenciador de bancos de dados

25 18 Neste exemplo utilizamos o Django para listar todas as notas, gerar Json caso a requisição seja feita via Ajax e renderizar a página completa caso seja uma requisição normal. def note_list(request): n = Note.objects.all() form = NoteForm() if request.is_ajax(): response = HttpResponse(mimetype="application/json") json_serializer = serializers.get_serializer("json")() json_serializer.serialize(n, ensure_ascii=false, stream=response) return response else: return render_to_response( notes/note_list.html, { object_list : n, form : form, context_instance=requestcontext(request))

26 Implementação do Gears O Gears é flexível e a maneira como o desenvolvedor vai implementa-lo depende das necessidades da aplicação e da dificuldade de implementação. O desenvolvedor deve ponderar a quantidade de trabalho a ser realizado e o benefício para o usuário final. Na maioria das vezes não faz sentido fazer com que toda aplicação esteja disponível offline [Gears FAQ 2008]. A medida que se acrescentam funcionalidades offline se torna necessário um mecanismo de sincronização. Este provavelmente é o momento mais complexo e sujeito a erros na implementação do Gears. Para inicializar o Gears sempre se deve usar o arquivo gears_init.js que o Google disponibiliza. Este script torna disponível a variável global google dentro do Javascript caso o Gears esteja instalado. Com isso podemos redirecionar o usuário para uma página de instalação caso o Gears não esteja instalado. if (!window.google!google.gears) { location.href = + message=baixe o Google Gears para Continuar + &return=http://localhost/notes ; Uma vez que o Gears esteja instalado é exibido para o usuário um diálogo de segurança como o ilustrado na figura 5. Figura 5: Confirmação para permitir que a aplicação use o Gears para guardar dados

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

Engenharia de Software Aplicações de Internet

Engenharia de Software Aplicações de Internet Engenharia de Software Aplicações de Internet Eduardo Santos eduardo.edusantos@gmail.com eduardo.santos@planejamento.gov.br www.softwarepublico.gov.br Histórico Por que existe a Internet? Por que existe

Leia mais

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados

Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados Produto: Webscan Relatório II Programas desenvolvidos, testados e documentados Sérgio Oliveira Campos Contrato N : 2008/000514 Sumário 1 Introdução 1 2 Bibliotecas Utilizadas 2 2.1 Reconhecimento de Texto

Leia mais

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza ROTEIRO Introdução App de exemplo Implementação do exemplo Testes realizados

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

Leia mais

5 Detalhes da Implementação

5 Detalhes da Implementação Detalhes da Implementação 101 5 Detalhes da Implementação Neste capítulo descreveremos detalhes da implementação do Explorator que foi desenvolvido usando o paradigma MVC 45 e o paradigma de CoC 46 (Convention

Leia mais

Diário. João Estrela... F Michael Jackson F F. F Geisy Arruda... Patolino... Peter Griffin F. F.

Diário. João Estrela... F Michael Jackson F F. F Geisy Arruda... Patolino... Peter Griffin F. F. Diário João Estrela... F Michael Jackson F F. F Geisy Arruda.... Patolino.... Peter Griffin F. F. Biometria bi.o.me.tri.a s.f. 1 Ciência da aplicação de métodos de estatística quantitativa a fatos biológicos;

Leia mais

Dominando Action Script 3

Dominando Action Script 3 Dominando Action Script 3 Segunda Edição (2014) Daniel Schmitz Esse livro está à venda em http://leanpub.com/dominandoactionscript3 Essa versão foi publicada em 2014-05-02 This is a Leanpub book. Leanpub

Leia mais

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES

DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES DESENVOLVENDO APLICAÇÃO UTILIZANDO JAVA SERVER FACES Alexandre Egleilton Araújo, Jaime Willian Dias Universidade Paranaense (Unipar) Paranavaí PR Brasil araujo.ale01@gmail.com, jaime@unipar.br Resumo.

Leia mais

Boas Práticas de Desenvolvimento Seguro

Boas Práticas de Desenvolvimento Seguro Boas Práticas de Desenvolvimento Seguro Julho / 2.012 Histórico de Revisões Data Versão Descrição Autor 29/07/2012 1.0 Versão inicial Ricardo Kiyoshi Página 2 de 11 Conteúdo 1. SEGURANÇA DA INFORMAÇÃO

Leia mais

Noções de. Microsoft SQL Server. Microsoft SQL Server

Noções de. Microsoft SQL Server. Microsoft SQL Server Noções de 1 Considerações Iniciais Basicamente existem dois tipos de usuários do SQL Server: Implementadores Administradores 2 1 Implementadores Utilizam o SQL Server para criar e alterar base de dados

Leia mais

AULA 1 PHP O QUE É APACHE FRIENDS

AULA 1 PHP O QUE É APACHE FRIENDS O QUE É PHP Se você já programa PHP, aconselho que pule para o capítulo 7 desse livro. Pois até esse capitulo iremos abordar algoritmos em PHP até a construção de uma classe com seus métodos e atributos

Leia mais

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa Adobe Flex Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa O que é Flex? Estrutura de Código aberto para a criação de aplicativos Web Utiliza o runtime do Adobe

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

Processos (Threads,Virtualização e Migração de Código)

Processos (Threads,Virtualização e Migração de Código) Processos (Threads,Virtualização e Migração de Código) Roteiro Processos Threads Virtualização Migração de Código O que é um processo?! Processos são programas em execução. Processo Processo Processo tem

Leia mais

Algoritmos em Javascript

Algoritmos em Javascript Algoritmos em Javascript Sumário Algoritmos 1 O que é um programa? 1 Entrada e Saída de Dados 3 Programando 4 O que é necessário para programar 4 em JavaScript? Variáveis 5 Tipos de Variáveis 6 Arrays

Leia mais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação.

ANEXO 11. Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação. ANEXO 11 O MATRIZ Para o desenvolvimento de sites, objeto deste edital, a empresa contratada obrigatoriamente utilizará o framework MATRIZ desenvolvido pela PROCERGS e disponibilizado no início do trabalho.

Leia mais

4 O Workflow e a Máquina de Regras

4 O Workflow e a Máquina de Regras 4 O Workflow e a Máquina de Regras O objetivo do workflow e da máquina de regras é definir um conjunto de passos e regras configuráveis. Ao longo de sua execução, um usuário consegue simplificar o seu

Leia mais

Capítulo 2 Introdução à ferramenta Flash

Capítulo 2 Introdução à ferramenta Flash Capítulo 2 Introdução à ferramenta Flash Índice 1. O uso da ferramenta Flash no projeto RIVED.... 1 2. História do Flash... 4 1. O uso da ferramenta Flash no projeto RIVED. É importante, antes de iniciarmos

Leia mais

Desenvolvendo Aplicações Web com NetBeans

Desenvolvendo Aplicações Web com NetBeans Desenvolvendo Aplicações Web com NetBeans Aula 3 Cap. 4 Trabalhando com Banco de Dados Prof.: Marcelo Ferreira Ortega Introdução O trabalho com banco de dados utilizando o NetBeans se desenvolveu ao longo

Leia mais

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE

PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE PLATAFORMA DE DESENVOLVIMENTO PINHÃO PARANÁ MANUAL DE UTILIZAÇÃO DO CVS NO ECLIPSE Agosto 2007 Sumário de Informações do Documento Tipo do Documento: Manual Título do Documento: MANUAL DE UTILIZAÇÃO DO

Leia mais

Novell Vibe 4.0. Março de 2015. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos

Novell Vibe 4.0. Março de 2015. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos Novell Vibe 4.0 Março de 2015 Inicialização Rápida Quando você começa a usar o Novell Vibe, a primeira coisa a se fazer é configurar sua área de trabalho pessoal e criar uma área de trabalho de equipe.

Leia mais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais

Arquitetura de Computadores. Introdução aos Sistemas Operacionais Arquitetura de Computadores Introdução aos Sistemas Operacionais O que é um Sistema Operacional? Programa que atua como um intermediário entre um usuário do computador ou um programa e o hardware. Os 4

Leia mais

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS

PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS PROGRAMAÇÃO PARA INTERNET RICA RICH INTERNET APPLICATIONS Prof. Dr. Daniel Caetano 2012-1 Objetivos Apresentar o que é uma Aplicação Rica para Internet Contextualizar tais aplicações na Web e os desafios

Leia mais

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração O livro Ambiente Web É o ambiente

Leia mais

ADOBE FLASH PLAYER 10.3 Gerenciador de configurações locais

ADOBE FLASH PLAYER 10.3 Gerenciador de configurações locais ADOBE FLASH PLAYER 10.3 Gerenciador de configurações locais PRERELEASE 03/07/2011 Avisos legais Avisos legais Para consultar avisos legais, acesse o site http://help.adobe.com/pt_br/legalnotices/index.html.

Leia mais

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Objetivo: Identificar as principais características de uma Aplicação Internet Rica.

Leia mais

Prof. Omero, pág. 63. Banco de Dados InterBase.

Prof. Omero, pág. 63. Banco de Dados InterBase. Prof. Omero, pág. 63 O que é o InterBase? O InterBase é um SGBDR - Sistema Gerenciador de Banco de Dados Cliente/Servidor Relacional 1 que está baseado no padrão SQL ANSI-9, de alta performance, independente

Leia mais

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração

Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração Desenvolvimento em PHP usando Frameworks Elton Luís Minetto Agenda Ambiente Web PHP Problemas Frameworks CakePHP Symfony Zend Framework Prado CodeIgniter Demonstração Ambiente Web É o ambiente formado

Leia mais

AJAX no GASweb. Mas e afinal, para que usamos o AJAX?

AJAX no GASweb. Mas e afinal, para que usamos o AJAX? Nível - Avançado AJAX no GASweb Por: Pablo Hadler AJAX (Asynchronous Javascript and XML) foi criado com o princípio de ser uma maneira rápida e otimizada de podermos fazer requisições Web, sendo esta totalmente

Leia mais

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala

Programação para a Internet. Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala Programação para a Internet Prof. M.Sc. Sílvio Bacalá Jr sbacala@gmail.com www.facom.ufu.br/~bacala A plataforma WEB Baseada em HTTP (RFC 2068) Protocolo simples de transferência de arquivos Sem estado

Leia mais

Programando em PHP. Conceitos Básicos

Programando em PHP. Conceitos Básicos Programando em PHP www.guilhermepontes.eti.br lgapontes@gmail.com Conceitos Básicos Todo o escopo deste estudo estará voltado para a criação de sites com o uso dos diversos recursos de programação web

Leia mais

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart.

BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. 16/08/2013 BI Citsmart Fornece orientações necessárias para instalação, configuração e utilização do BI Citsmart. Versão 1.0 19/12/2014 Visão Resumida Data Criação 19/12/2014 Versão Documento 1.0 Projeto

Leia mais

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7)

Manual de Instalação. SafeNet Authentication Client 8.2 SP1. (Para MAC OS 10.7) SafeNet Authentication Client 8.2 SP1 (Para MAC OS 10.7) 2/28 Sumário 1 Introdução... 3 2 Pré-Requisitos Para Instalação... 3 3 Ambientes Homologados... 4 4 Tokens Homologados... 4 5 Instruções de Instalação...

Leia mais

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0

DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 DOCUMENTAÇÃO DO FRAMEWORK - versão 2.0 Índice 1 - Objetivo 2 - Descrição do ambiente 2.1. Tecnologias utilizadas 2.2. Estrutura de pastas 2.3. Bibliotecas já incluídas 3 - Características gerais 4 - Criando

Leia mais

PROJETO PEDAGÓGICO DE CURSOS

PROJETO PEDAGÓGICO DE CURSOS 1 de 5 PROJETO PEDAGÓGICO DE CURSOS BURITREINAMENTOS MANAUS-AM DEZEMBRO / 2014 2 de 5 PACOTES DE TREINAMENTOS BURITECH A Buritech desenvolveu um grupo de pacotes de treinamentos, aqui chamados de BuriPacks,

Leia mais

O conjunto é composto por duas seções: o App Inventor Designer e o App Inventor Blocks Editor, cada uma com uma função específica.

O conjunto é composto por duas seções: o App Inventor Designer e o App Inventor Blocks Editor, cada uma com uma função específica. Google App Inventor: o criador de apps para Android para quem não sabe programar Por Alexandre Guiss Fonte: www.tecmundo.com.br/11458-google-app-inventor-o-criador-de-apps-para-android-para-quem-naosabe-programar.htm

Leia mais

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES

INDICE 3.APLICAÇÕES QUE PODEM SER DESENVOLVIDAS COM O USO DO SAXES w w w. i d e a l o g i c. c o m. b r INDICE 1.APRESENTAÇÃO 2.ESPECIFICAÇÃO DOS RECURSOS DO SOFTWARE SAXES 2.1. Funcionalidades comuns a outras ferramentas similares 2.2. Funcionalidades próprias do software

Leia mais

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com)

ARQUITETURA DE SISTEMAS. Cleviton Monteiro (cleviton@gmail.com) ARQUITETURA DE SISTEMAS Cleviton Monteiro (cleviton@gmail.com) Roteiro Definição Documento de arquitetura Modelos de representação da arquitetura Estilos arquiteturais Arquitetura de sistemas web Arquitetura

Leia mais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais

Notas da Aula 15 - Fundamentos de Sistemas Operacionais Notas da Aula 15 - Fundamentos de Sistemas Operacionais 1. Software de Entrada e Saída: Visão Geral Uma das tarefas do Sistema Operacional é simplificar o acesso aos dispositivos de hardware pelos processos

Leia mais

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec

Criando Aplicações PHP com. Zend e Dojo. Flávio Gomes da Silva Lisboa. Novatec Criando Aplicações PHP com Zend e Dojo Flávio Gomes da Silva Lisboa Novatec Copyright 2013 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a

Leia mais

Novell Vibe 3.4. Novell. 1º de julho de 2013. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos

Novell Vibe 3.4. Novell. 1º de julho de 2013. Inicialização Rápida. Iniciando o Novell Vibe. Conhecendo a interface do Novell Vibe e seus recursos Novell Vibe 3.4 1º de julho de 2013 Novell Inicialização Rápida Quando você começa a usar o Novell Vibe, a primeira coisa a se fazer é configurar sua área de trabalho pessoal e criar uma área de trabalho

Leia mais

Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa

Facebook. Java com o. Integrando Aplicações. Descubra como é fácil criar uma aplicação para rodar no Facebook. _capa _capa Integrando Aplicações Java com o Facebook Descubra como é fácil criar uma aplicação para rodar no Facebook Desde o lançamento oficial do Facebook, em 2004, o número de usuários vem aumentando a cada

Leia mais

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE

ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE ABORDAGEM DE FRAMEWORKS PARA JSF QUE AUXILIAM O DESENVOLVIMENTO DE SOFTWARE Amarildo Aparecido Ferreira Junior 1, Ricardo Ribeiro Rufino 1 ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil aapfjr@gmail.com

Leia mais

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique. Lista de Revisão 1. Nos sistemas web, geralmente os usuários apresentam dois problemas típicos, a desorientação e a sobrecarga cognitiva. Discorra sobre esses problemas. 2. Apresente as principais diferenças

Leia mais

Frameworks para criação de Web Apps para o Ensino Mobile

Frameworks para criação de Web Apps para o Ensino Mobile 393 Frameworks para criação de Web Apps para o Ensino Mobile Lucas Zamim 1 Roberto Franciscatto 1 Evandro Preuss 1 1 Colégio Agrícola de Frederico Westphalen (CAFW) Universidade Federal de Santa Maria

Leia mais

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1

DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 DEFINIÇÃO DE REQUISITOS SISTEMA DE CONTROLE DE FINANÇAS WEB 1.0 MANTER FUNCIONÁRIO RELEASE 4.1 SUMÁRIO DEFINIÇÃO DE REQUISITOS 4 1. INTRODUÇÃO 4 1.1 FINALIDADE 4 1.2 ESCOPO 4 1.3 DEFINIÇÕES, ACRÔNIMOS

Leia mais

HAT Programação Auditoria Pós. 12.1.x. abril de 2015. Versão: 2.0

HAT Programação Auditoria Pós. 12.1.x. abril de 2015. Versão: 2.0 HAT Programação Auditoria Pós 12.1.x abril de 2015 Versão: 2.0 1 Sumário 1 Introdução... 3 2 Visão do Processo... 3 3 Serviço... 5 4 Dataset... 7 5 Formulário Principal AuditoriaPos... 9 6 Arquitetura

Leia mais

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON)

Conceitos de Ajax Exemplos de uso do Ajax no braço, muitos exemplos, muito código (HTML, CSS, JavaScript, PHP, XML, JSON) Márcio Koch 1 Currículo Formado na FURB em Ciência da Computação Pós graduado em Tecnologias para o desenvolvimento de aplicações web Mestrando em Computação Gráfica na UDESC Arquiteto de software na Senior

Leia mais

MÓDULO MULTIMÉDIA. Text PROFESSOR: RICARDO RODRIGUES. MAIL: rprodrigues@escs.ipl.pt esganarel@gmail.com. URL: http://esganarel.home.sapo.

MÓDULO MULTIMÉDIA. Text PROFESSOR: RICARDO RODRIGUES. MAIL: rprodrigues@escs.ipl.pt esganarel@gmail.com. URL: http://esganarel.home.sapo. MÓDULO MULTIMÉDIA PROFESSOR: RICARDO RODRIGUES MAIL: rprodrigues@escs.ipl.pt esganarel@gmail.com URL: http://esganarel.home.sapo.pt Text GABINETE: 1G1 - A HORA DE ATENDIMENTO: SEG. E QUA. DAS 11H / 12H30

Leia mais

Afinal o que é HTML?

Afinal o que é HTML? Aluno : Jakson Nunes Tavares Gestão e tecnologia da informacão Afinal o que é HTML? HTML é a sigla de HyperText Markup Language, expressão inglesa que significa "Linguagem de Marcação de Hipertexto". Consiste

Leia mais

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br

Satélite. Manual de instalação e configuração. CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Satélite Manual de instalação e configuração CENPECT Informática www.cenpect.com.br cenpect@cenpect.com.br Índice Índice 1.Informações gerais 1.1.Sobre este manual 1.2.Visão geral do sistema 1.3.História

Leia mais

World Wide Web e Aplicações

World Wide Web e Aplicações World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet

Leia mais

4 Desenvolvimento da ferramenta

4 Desenvolvimento da ferramenta direcionados por comportamento 38 4 Desenvolvimento da ferramenta Visando facilitar a tarefa de documentar requisitos funcionais e de gerar testes automáticos em uma única ferramenta para proporcionar

Leia mais

Inicialização Rápida do Novell Vibe Mobile

Inicialização Rápida do Novell Vibe Mobile Inicialização Rápida do Novell Vibe Mobile Março de 2015 Introdução O acesso móvel ao site do Novell Vibe pode ser desativado por seu administrador do Vibe. Se não conseguir acessar a interface móvel do

Leia mais

VPAT (Voluntary Product Accessibility Template, Modelo de Acessibilidade de Produto) do eportfolio da Desire2Learn Maio de 2013 Conteúdo

VPAT (Voluntary Product Accessibility Template, Modelo de Acessibilidade de Produto) do eportfolio da Desire2Learn Maio de 2013 Conteúdo VPAT (Voluntary Product Accessibility Template, Modelo de Acessibilidade de Produto) do eportfolio da Desire2Learn Maio de 2013 Conteúdo Introdução Recursos de acessibilidade principais Navegação usando

Leia mais

Microsoft Internet Explorer. Browser/navegador/paginador

Microsoft Internet Explorer. Browser/navegador/paginador Microsoft Internet Explorer Browser/navegador/paginador Browser (Navegador) É um programa que habilita seus usuários a interagir com documentos HTML hospedados em um servidor web. São programas para navegar.

Leia mais

Auditoria Pós - Programação

Auditoria Pós - Programação Auditoria Pós - Programação Julho - 2014 Índice 1. Introdução... 3 2. Visão do Processo... 3 3. Serviço... 4 4. Dataset... 6 5. Formulário Principal AuditoriaPos... 8 6. Arquitetura do Formulário HTML

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

Teste e Depuração de Sistemas Web. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br)

Teste e Depuração de Sistemas Web. Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Teste e Depuração de Sistemas Web Prof. Fellipe Aleixo (fellipe.aleixo@ifrn.edu.br) Testando Aplicações Web Ê É bem mais complicado testar interfaces Web do que classes de objetos Ê Aplicações WEB não

Leia mais

[MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS]

[MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS] 2011 [MANUAL DE INTEGRAÇÃO PARA SITES DE MEMBROS] Destinado a usuários que desejam vender conteúdo premium, disponível em sites de membros, através da plataforma Hotmart. Versão do documento: 1.0, 11/04/2011.

Leia mais

Capítulo 2 Web 2.0 22

Capítulo 2 Web 2.0 22 2 Web 2.0 Uma vez que o presente trabalho está intensamente relacionado à Web 2.0 (muitas tecnologias da mesma são utilizadas pela equipe estudada, que precisam de melhorias), torna-se necessário entender

Leia mais

Manual de utilização do Zimbra

Manual de utilização do Zimbra Manual de utilização do Zimbra Compatível com os principais navegadores web ( Firefox, Chrome e Internet Explorer ) o Zimbra Webmail é uma suíte completa de ferramentas para gerir e-mails, calendário,

Leia mais

Questões Potenciais para a Prova Informática Questões Carlos Vianna

Questões Potenciais para a Prova Informática Questões Carlos Vianna 1. Questões Potenciais para a Prova Informática Questões Carlos Vianna 2012 Copyright. Curso Agora eu Passo - Todos os direitos reservados ao autor. 1.O comando pwd do Linux possibilita ao usuário efetuar

Leia mais

ZendWi Presentation 19/10/2012

ZendWi Presentation 19/10/2012 ZendWi Presentation 19/10/2012 Índice 1. Introdução ao Zend Framework 2 2. MVC 3. Zend Tools 4. Estrutura 5. Zend DB Model Generator 6. Back-End Developer 7. Front-End Developer 8. Links Úteis Introdução

Leia mais

Extensão ez Open Document Format (ezodf) Documentação. versão 2.0. experts em Gestão de Conteúdo

Extensão ez Open Document Format (ezodf) Documentação. versão 2.0. experts em Gestão de Conteúdo Extensão ez Open Document Format (ezodf) Documentação versão 2.0 Conteúdo 1. Introdução... 3 2 1.1 Público alvo... 3 1.2 Convenções... 3 1.3 Mais recursos... 3 1.4 Entrando em contato com a ez... 4 1.5

Leia mais

SELENIUM 28/03/2011. Márcio Delamaro Harry Trinta

SELENIUM 28/03/2011. Márcio Delamaro Harry Trinta 1 SELENIUM 28/03/2011 Márcio Delamaro Harry Trinta O que é a Selenium? Selenium é uma ferramenta desenvolvida para a automação de testes em aplicações Web Suporta diversos browsers: Firefox Internet Explorer

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Atualização deixa Java mais seguro, mas ainda é melhor desativar

Atualização deixa Java mais seguro, mas ainda é melhor desativar Atualização deixa Java mais seguro, mas ainda é melhor desativar seg, 21/01/13 por Altieres Rohr Segurança Digital Se você tem alguma dúvida sobre segurança da informação (antivírus, invasões, cibercrime,

Leia mais

7 Utilização do Mobile Social Gateway

7 Utilização do Mobile Social Gateway 7 Utilização do Mobile Social Gateway Existem três atores envolvidos na arquitetura do Mobile Social Gateway: desenvolvedor do framework MoSoGw: é o responsável pelo desenvolvimento de novas features,

Leia mais

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM

CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM CONCEITOS E APLICAÇÕES DA COMPUTAÇÃO EM NUVEM Rogério Schueroff Vandresen¹, Willian Barbosa Magalhães¹ ¹Universidade Paranaense(UNIPAR) Paranavaí-PR-Brasil rogeriovandresen@gmail.com, wmagalhaes@unipar.br

Leia mais

ÍNDICE. Sobre o SabeTelemarketing 03. Contato. Ícones comuns à várias telas de gerenciamento. Verificar registros 09. Tela de relatórios 09

ÍNDICE. Sobre o SabeTelemarketing 03. Contato. Ícones comuns à várias telas de gerenciamento. Verificar registros 09. Tela de relatórios 09 ÍNDICE Sobre o SabeTelemarketing 03 Ícones comuns à várias telas de gerenciamento Contato Verificar registros 09 Telas de cadastro e consultas 03 Menu Atalho Nova pessoa Incluir um novo cliente 06 Novo

Leia mais

Associação Carioca de Ensino Superior Centro Universitário Carioca

Associação Carioca de Ensino Superior Centro Universitário Carioca Desenvolvimento de Aplicações Web Lista de Exercícios Métodos HTTP 1. No tocante ao protocolo de transferência de hipertexto (HTTP), esse protocolo da categoria "solicitação e resposta" possui três métodos

Leia mais

Manual de instalação, configuração e utilização do Assinador Betha

Manual de instalação, configuração e utilização do Assinador Betha Manual de instalação, configuração e utilização do Assinador Betha Versão 1.5 Histórico de revisões Revisão Data Descrição da alteração 1.0 18/09/2015 Criação deste manual 1.1 22/09/2015 Incluído novas

Leia mais

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8

INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ÍNDICE INTRODUÇÃO 2 ACESSO AO SIGTECWEB 3 TEMPO DE CONEXÃO 5 NAVEGAÇÃO 7 BARRA DE AÇÕES 7 COMPORTAMENTO DOS BOTÕES 7 FILTROS PARA PESQUISA 8 ACESSO ÀS FERRAMENTAS 9 FUNÇÕES 12 MENSAGENS 14 CAMPOS OBRIGATÓRIOS

Leia mais

Millennium ECO 2.0 (beta)

Millennium ECO 2.0 (beta) MILLENNIUM NETWORK Millennium ECO 2.0 (beta) Documentação Técnica (draft) 10/2013 Este documento contém as instruções para a utilização da biblioteca Millenium_Eco que se presta à comunicação de aplicativos

Leia mais

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza

Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões. Prof. MSc. Hugo Souza Programação Orientada a Objetos com PHP & MySQL Cookies e Sessões Prof. MSc. Hugo Souza Se você precisar manter informações sobre seus usuários enquanto eles navegam pelo seu site, ou até quando eles saem

Leia mais

Revista Eletrônica da FANESE ISSN 2317-3769

Revista Eletrônica da FANESE ISSN 2317-3769 FRAMEWORK PARA TREINAMENTOS NA WEB BASEADO EM VÍDEO SOBRE DEMANDA Ícaro Carlos Andrade Costa 1 Igor Antônio Andrade Costa 2 Ricardo Ariel Correa Rabelo 3 Renata Azevedo Santos Carvalho 4 RESUMO A educação

Leia mais

Plano de Aula - Dreamweaver CS6 - cód.5232 24 Horas/Aula

Plano de Aula - Dreamweaver CS6 - cód.5232 24 Horas/Aula Plano de Aula - Dreamweaver CS6 - cód.5232 24 Horas/Aula Aula 1 Capítulo 1 - Introdução ao Dreamweaver CS6 Aula 2 Continuação do Capítulo 1 - Introdução ao Dreamweaver CS6 Aula 3 Capítulo 2 - Site do Dreamweaver

Leia mais

Justificativa do uso da Linguagem XML no Projeto RIVED

Justificativa do uso da Linguagem XML no Projeto RIVED Justificativa do uso da Linguagem XML no Projeto RIVED Índice Introdução... 1 Sobre a linguagem XML... 2 O que é XML (extensible Markup Language)?... 2 Características da Linguagem...3 Sobre o seu uso...

Leia mais

G UIA DE I NSTALAÇÃO. Módulo ipagare para Magento - versão 3.3

G UIA DE I NSTALAÇÃO. Módulo ipagare para Magento - versão 3.3 G UIA DE I NSTALAÇÃO Módulo ipagare para Magento - versão 3.3 De 27/10/2011 ÍNDICE 1. PREFÁCIO... 3 Este documento... 3 Confidencialidade... 3 Histórico de atualizações... 3 2. APRESENTAÇÃO... 4 Novidades...

Leia mais

Manual do Aplicativo - Rastreamento Veicular

Manual do Aplicativo - Rastreamento Veicular Manual do Aplicativo - Rastreamento Veicular Sumário Apresentação... 2 Instalação do Aplicativo... 2 Localizando o aplicativo no smartphone... 5 Inserindo o link da aplicação... 6 Acessando o sistema...

Leia mais

Manual de referência do HP Web Jetadmin Database Connector Plug-in

Manual de referência do HP Web Jetadmin Database Connector Plug-in Manual de referência do HP Web Jetadmin Database Connector Plug-in Aviso sobre direitos autorais 2004 Copyright Hewlett-Packard Development Company, L.P. A reprodução, adaptação ou tradução sem permissão

Leia mais

Lucas Nascimento Santos

Lucas Nascimento Santos Lucas Nascimento Santos Mobile Application Developer lucassantoos56@gmail.com Resumo Lucas Nascimento Santos (@ll_ucasn), engenheiro de software. Estudante de Ciência da Computação na Universidade Salvador

Leia mais

Tutorial para acesso ao Peticionamento Eletrônico e Visualização de Processos Eletrônicos

Tutorial para acesso ao Peticionamento Eletrônico e Visualização de Processos Eletrônicos Tutorial para acesso ao Peticionamento Eletrônico e Visualização de Processos Eletrônicos Este tutorial visa preparar o computador com os softwares necessários para a utilização dos sistemas de visualização

Leia mais

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS

UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS UM ESTUDO SOBRE ARQUITETURA PARA DESENVOLVIMENTO DE SOFTWARE WEB UTILIZANDO NOVAS TECNOLOGIAS Edi Carlos Siniciato ¹, William Magalhães¹ ¹ Universidade Paranaense (Unipar) Paranavaí PR Brasil edysiniciato@gmail.com,

Leia mais

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] )

Bool setcookie (string nome [, string valor [, int validade [, string caminho [, string dominio [, int seguro]]]]] ) Disciplina: Tópicos Especiais em TI PHP Este material foi produzido com base nos livros e documentos citados abaixo, que possuem direitos autorais sobre o conteúdo. Favor adquiri-los para dar continuidade

Leia mais

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. JavaScript

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. JavaScript Universidade Federal do Espírito Santo Centro de Ciências Agrárias CCA UFES Departamento de Computação Universidade Federal do Espírito Santo CCA UFES JavaScript Desenvolvimento de Sistemas para WEB Site:

Leia mais

Scriptlets e Formulários

Scriptlets e Formulários 2 Scriptlets e Formulários Prof. Autor: Daniel Morais dos Reis e-tec Brasil Programação Avançada Para Web Página1 Meta Permitir ao aluno aprender a criar um novo projeto Java para web no Netbeans IDE,

Leia mais

Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de 2009. Rafael Polo e Sabrina Arêas

Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de 2009. Rafael Polo e Sabrina Arêas Centro Universitário Metodista Benne1 Rio de Janeiro, Dezembro de 2009 Rafael Polo e Sabrina Arêas Contexto 60 s - Primeiros sistemas de informação corporativos. 70 s Desenvolvimento e comercialização

Leia mais

Potencialidades Tecnológicas e Educacionais - Parte II

Potencialidades Tecnológicas e Educacionais - Parte II UNIVERSIDADE FEDERAL DO PAMPA V SEMINÁRIO DE DESENVOLVIMENTO PROFISSIONAL DOCENTE Patric da Silva Ribeiro patricribeiro@unipampa.edu.br Maicon Isoton maiconisoton@gmail.com Potencialidades Tecnológicas

Leia mais

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5

DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 DESENVOLVIMENTO WEB DENTRO DOS PARADIGMAS DO HTML5 Alex de Andrade Catini¹, Tiago Piperno Bonetti¹ ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil Alex.catini@gmail.com, bonetti@unipar.br Resumo:

Leia mais

Guia de Instalação e Inicialização. Para WebReporter 2012

Guia de Instalação e Inicialização. Para WebReporter 2012 Para WebReporter 2012 Última revisão: 09/13/2012 Índice Instalando componentes de pré-requisito... 1 Visão geral... 1 Etapa 1: Ative os Serviços de Informações da Internet... 1 Etapa 2: Execute o Setup.exe

Leia mais

Introdução ao Plone. terça-feira, 4 de agosto de 15

Introdução ao Plone. terça-feira, 4 de agosto de 15 Introdução ao Plone Sumário O que é Gestão de Conteúdo O que é Conteúdo Principais características de um CMS O que é o Plone Tipos de conteúdo no Plone Metadados Templates Interface do portal Gestão de

Leia mais

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com

Sistemas Operacionais 2014 Introdução. Alexandre Augusto Giron alexandre.a.giron@gmail.com Sistemas Operacionais 2014 Introdução Alexandre Augusto Giron alexandre.a.giron@gmail.com Roteiro Sistemas Operacionais Histórico Estrutura de SO Principais Funções do SO Interrupções Chamadas de Sistema

Leia mais