DESENVOLVIMENTO DE UM FRAMEWORK PARA COMPONENTES DE

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

Download "DESENVOLVIMENTO DE UM FRAMEWORK PARA COMPONENTES DE"

Transcrição

1 UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE UM FRAMEWORK PARA COMPONENTES DE INTERFACE WEB COM TÉCNICAS DE ESCALABILIDADE. SANDERSON OLIVEIRA DE MACEDO PAULO ROBERTO BATISTA JÚNIOR

2 JUNHO 2009.

3 i UNIVERSIDADE CATÓLICA DE GOIÁS DEPARTAMENTO DE COMPUTAÇÃO GRADUAÇÃO EM CIÊNCIA DA COMPUTAÇÃO DESENVOLVIMENTO DE UM FRAMEWORK PARA COMPONENTES DE INTERFACE WEB COM TÉCNICAS DE ESCALABILIDADE. Trabalho de Projeto Final de Curso apresentado por Sanderson Oliveira de Macedo e Paulo Roberto Batista Júnior à Universidade Católica de Goiás, como requisito parcial para obtenção do título de Bacharel em Ciência da Computação aprovado em 08/06/2009 pela Banca Examinadora: Prof. Iwens Gervasio Sene Júnior Msc.,UCG Orientador Prof. Leandro Luís G. de Oliveira, Dr.,UFG Prof. Msc., Marcio Goiânia, de Sousa Balian, UniAnhanguera.

4 ii DESENVOLVIMENTO DE UM FRAMEWORK PARA COMPONENTES DE INTERFACE WEB COM TÉCNICAS DE ESCALABILIDADE. SANDERSON OLIVEIRA DE MACEDO PAULO ROBERTO BATISTA JÚNIOR Trabalho de Projeto Final de Curso apresentado por Sanderson Oliveira de Macedo e Paulo Roberto Batista Júnior à Universidade Católica de Goiás, como parte dos requisitos para obtenção do título de Bacharel em Ciência da Computação. Professor Iwens Gervasio Sene Júnior Orientador Professor Jeová Martins Ribeiro Coord. de Projeto Final de Curso

5 iii ERRATA Folha Linha Onde se lê Leia se

6 iv Dedico este trabalho ao Criador do conhecimento absoluto. Pai, cada vez que nos aproximamos da verdade científica, nos aproximamos da Tua verdade eterna. A minha amada e inteligente esposa Etiene, por ser meu modelo em acreditar e prosseguir; e a meu filho Rafael, fonte de alegria. Sanderson Oliveira de Macedo. Dedico este trabalho aos meus pais por sempre me apoiarem e acreditarem no meu potencial. Paulo Roberto Batista Júnior.

7 v AGRADECIMENTOS Aos familiares, amigos de trabalho e de faculdade e aos mestres, que nos fizeram crescer em conhecimento. Conhecimento que para nós, é uma riqueza que não tem fim. Muito obrigado a todos. O conhecimento é como o ouro refinado e a sabedoria como a prata preciosa. Rei Salomão, filho de Davi.

8 vi RESUMO O presente trabalho teve o objetivo de desenvolver um framework para componentes de interface web por meio das técnicas de escalabilidade de comunicação assíncrona entre o cliente e o servidor, cache de dados no cliente e migração de algoritmos do servidor para o cliente. Para atualização da cache no cliente, foram desenvolvidos agentes inteligentes que, de forma autônoma e automática, sincronizam a replicação dos dados globais com os dados locais. A divisão de responsabilidade do processamento do sistema entre o servidor e o cliente web necessitou da aplicação da técnica de segurança de chaves autenticadoras a fim de garantir a privacidade da comunicação entre essas duas entidades. Foram desenvolvidos testes comparativos entre dois softwares com os mesmos requisitos funcionais, porém um utilizando o framework com técnicas de escalabilidade e o outro a partir da forma tradicional de desenvolvimento web. Os dados comparativos obtidos nesses testes mostraram que o software utilizando técnicas de escalabilidade reduziu a latência de rede em até 75% e a quantidade de informações transferidas do servidor para o cliente reduziu em até 480 vezes em cada requisição. Palavras chave: escalabilidade, comunicação assíncrona, cache, latência de rede, componentes web.

9 vii ABSTRACT This work had the objective of develop a framework to web interface components through techniques for scalability of asynchronous communication between customer and server, data cache of customer and migration of algorithms from server to customer. To update the cache of customer, we developed intelligent agents which, in a autonomic and automatic way, synchronize the replication of global data with the local data. The division of responsability for processing of the system between server and web customer needed the application of technique for security of authenticated keys to ensure the privacy of communication between these two entities. We developed comparative tests between two softwares with the same functional requirements, however one of them using the framework with techniques for scalability and the another one using the traditional web development. Comparative data obtained in these tests showed that the software using techniques for scalability decreased the network latency up to 75% and the quantity of information passed from server to customer was reduced up to 480 times on each request. Keywords: scalability, asynchronous communication, cache, network latency, web components.

10 viii LISTA DE FIGURAS Figura I 1 Criação de um componente web estendendo a classe Component...9 Figura II 2 Comunicação Síncrona...10 Figura II 3 Comunicação Assíncrona...11 Figura II 4 Comunicação assíncrona utilizando o objeto XMLHttpRequest...12 Figura II 5 A classe ServerComunicator...14 Figura II 6 Comunicação entre a classe ServerComunicator e o código servidor...15 Figura III 7 Único servidor concentrador dos serviços...25 Figura III 8 Duplicação de servidores...26 Figura III 9 Memória cache...28 Figura III 10 Cache no navegador web...28 Figura III 11 Servidor Proxy...29 Figura III 12 Diagrama de classes...30 Figura III 13 A classe Cache...33 Figura III 14 Estrutura do Records ArrayTree de informações...36 Figura IV 15 Agentes interagindo com o ambiente...38 Figura IV 16 Projeto de software dos agentes...41 Figura IV 17 Modelo de ação do AgentUpdater...47 Figura V 18 Migração de algoritmo do servidor para o cliente...50 Figura V 19 Projeto de Software da classe Operations...55 Figura VII 20 Exemplo de datagrid com formulário de atualização em desktop...64 Figura VII 21 Software desenvolvido em web tradicional...65 Figura VII 22 Software desenvolvido em web baseado em componentes Figura VII 23 Complemento do Firefox, FireBug...69 Figura VII 24 Gerenciador de Tarefas do Windows...70

11 ix LISTA DE TABELAS Tabela II 1 Protocolo de comandos para o cliente...16 Tabela II 2 Tags do XML padrão de comunicação...21 Tabela II 3 Protocolo de comandos do fluxo de comunicação Servidor Cliente...21 Tabela III 4 Comparações entre replicação entre cache...27

12 x Tabela III 5 Métodos de acesso ao XML do servidor...31 Tabela III 6 Campos de armazenamento da cache...33 Tabela III 7 Métodos da classe Cache...34 Tabela IV 8 Comandos para o agente vindo do servidor...40 Tabela IV 9 Membros da classe Agent...42 Tabela IV 10 Membros da classe AgentCommand...42 Tabela IV 11 Membros da classe AgentUpdater...43 Tabela IV 12 Exemplo de tabela de dados do servidor...43 Tabela IV 13 Alteração de dados do servidor...47 Tabela V 14 Características do JavaScript...51 Tabela V 15 Projeto de Software da classe Operations...55 Tabela V 16 Tabela de dados pessoa...56 Tabela V 17 Filtro de dados na cache do cliente...56 Tabela VII 18 Execução web tradicional em rede local...71 Tabela VII 19 Execução do web componente em rede local...71 Tabela VII 20 Tempos em rede local...72 Tabela VII 21 Quantidade de dados transferidos em rede local...74 Tabela VII 22 Uso de memória RAM em rede local...75 Tabela VII 23 Consumo de memória virtual em rede local...76 Tabela VII 24 Execução do web tradicional em internet 100kb...78 Tabela VII 25 Execução em web componente e internet 100kb...79 Tabela VII 26 Tabela dos tempos de execução em internet 100kb...79 Tabela VII 27 Quantidade de dados transferidos na execução em internet 100kb...81 Tabela VII 28 Memória RAM em uso na execução em internet 100kb...82 Tabela VII 29 Memória virtual em uso internet 100kb...83

13 xi LISTA DE GRÁFICOS Gráfico VII 1 Gráfico de tempos em rede local...73 Gráfico VII 2 Quantidade de dados transferidos em rede local...75 Gráfico VII 3 Consumo de memória RAM em rede local...76 Gráfico VII 4 Consumo de memória virtual em rede local...77 Gráfico VII 5 Gráfico dos tempos de execução em internet 100kb...80 Gráfico VII 6 Quantidade de dados transferidos em internet 100kb...82 Gráfico VII 7 Uso de memória RAM na execução em internet 100kb...83 Gráfico VII 8 Uso de memória virtual na execução em internet 100kb...84

14 xii LISTA DE CÓDIGOS Código I.1 Criação de um componente estendendo Component...8 Código II.2 Serialização dos campos do cliente para o servidor...16 Código II.3 Exemplo de um XML...19 Código II.4 Formato padrão do XML de comunicação...21 Código II.5 Preenchimento de padrão na comunicação Servidor Cliente Código III.6 XML de dados do servidor...36 Código IV.7 Entidade superior na requisição da faixa de dados global. 39 Código V.8 Exemplo simples de HTML...53 Código V.9 Alteração do valor de um elemento HTML...54 Código VI.10 Envio do token de segurança ao cliente...61

15 xiii LISTA DE ABREVIATURAS E SIGLAS AJAX: Asynchronous JavaScript And XML DOM: Document Object Model HTML: HyperText Markup Language POO: Programação Orientada a Objetos W3C: World Wide Web Consortium XML: extensible Markup Language WWW: World Wide Web HTTP: Hypertext Transfer Protocol

16 xiv SUMÁRIO Introdução...1 CAPÍTULO I. ESCALABILIDADE...5 I.1. Medidas de escalabilidade...5 I.2. Problemas de escalabilidade...6 I.2.1.Problemas de localização geográfica [2]...6 I.2.2.Problemas de tamanho do software...6 I.2.3.Problemas de administração do sistema...8 I.3. Componente web escalável...8 CAPÍTULO II. COMUNICAÇÃO ASSÍNCRONA Utilizando Ajax para a comunicação assíncrona...11 II.1.1.O objeto XMLHttpRequest...12 II.1.2.Esquema de comunicação assíncrona com XMLHttpRequest...12 II.2. A classe ServerComunicator...13 II.3. O envio de dados do cliente para o servidor...16 II.3.1.Comandos do fluxo Cliente Servidor...16 II.3.2.Executando a requisição ao servidor...17 II.4. O envio de dados do servidor para o cliente...17 II.4.1.Usando o XML...17 II.5. Formato padrão da comunicação no fluxo Servidor Cliente...19 II.5.1.Comandos do fluxo de comunicação Servidor Cliente...21 CAPÍTULO III. CACHE DE DADOS NO CLIENTE...25 III.1. Replicação...26 III.2. Cache...26 III.2.1.Memória cache...27 III.2.2.Cache em navegadores web...28 III.2.3.Servidor de cache web proxy...28

17 xv III.3. Armazenando dados no cliente...29 III.3.1.Idéia geral da cache no cliente...29 III.4. Ampliação da Modelagem de classes...30 III.4.1.Transição dos dados...30 III.5. O gerenciamento das solicitações...31 III.6. Desenvolvimento da classe Cache...31 III.7. O ArrayTree Records...34 CAPÍTULO IV. AGENTES INTELIGENTES PARA ATUALIZAÇÃO DA CACHE...37 IV.1. Agentes Inteligentes...38 IV.1.1.Agentes reativos simples...39 IV.1.2.Agente reativo simples...39 IV.1.3.O Ambiente de atuação...39 IV.2. Sensores...40 IV.3. As Ações...40 IV.4. Projeto de software do agente...41 IV.4.1.AgentCommand...42 IV.4.2.AgentUpdater...43 IV.5. Exemplo prático com AgentUpdater...43 CAPÍTULO V. MIGRAÇÃO DE ALGORITMOS PARA O CLIENTE WEB...49 V.1. Migração de algoritmo...49 V.2. Desenvolvendo códigos cliente web na Linguagem JavaScript...50 V.3. Manipulando a estrutura HTML com DOM...52 V.4. Migrando processamento do servidor para o cliente...54 V.5. Operações básicas do framework...54 V.5.1.A classe Operations...54 V.5.2.Ordenação de dados...55 V.5.3.Filtragem de dados...56 CAPÍTULO VI.

18 xvi COMPONENTES COM SEGURANÇA DE COMUNICAÇÃO...58 VI.1. Segurança...58 VI.1.1.Formas básicas de segurança...58 VI.2. Ataques e ameaças...59 VI.3. Chave autenticadora (Token)...59 VI.3.1.O inicio da comunicação...60 VI.3.2.Componente com segurança de comunicação...60 CAPÍTULO VII. DADOS COMPARATIVOS...62 VII.1. Dados manipulados...62 VII.2. Requisitos funcionais do software...63 VII.3. Desenvolvimento...64 VII.3.1.Desenvolvimento web tradicional...64 VII.3.2.Desenvolvimento web baseado em componentes...65 VII.4. Ações e Métricas...66 VII.5. Especificações dos hardwares utilizados nos testes...67 VII.5.1.Servidor...67 VII.5.2.Clientes...68 VII.6. Softwares de apoio...68 VII.6.1.Navegador web...68 VII.6.2.Software para coleta de tempo e quantidade de informações...69 VII.6.3.Software para coleta de memória em uso...69 VII.7. Coleta e análise de dados...71 VII.7.1.Execução no Cliente Rede Local...71 VII.7.2.Análise de tempo em Rede Local...72 VII.7.3.Quantidade de informação transferida em Rede Local...73 VII.7.4.Análise da memória em uso RAM e virtual em Rede Local...75 VII.7.5.Execução no Cliente 100kb (internet)...78 VII.7.6.Análise de tempo em 100kb...79 VII.7.7.Quantidade de informação transferida em 100kb...80 VII.7.8.Análise da memória em uso RAM e virtual em 100kb...82 Considerações finais...85 Referências...87

19 xvii Anexos...92

20 1 INTRODUÇÃO A EVOLUÇÃO DOS SISTEMAS DE INFORMAÇÃO O advento de sistemas operacionais baseados em janelas possibilitou aos engenheiros de software ampliar a usabilidade dos sistemas de informação VII.7VII.7. Ações antes executadas por linhas de comando complexas e ininteligíveis foram facilmente substituídas por formas mais interativas e amigáveis de execução, como por exemplo, a necessidade de inserir uma informação, excluir um arquivo ou emitir um relatório, que pode ser abstraída ao simples clique de um botão. Dos atuais sistemas de informação, busca se um alto poder de usabilidade, interatividade e escalabilidade VII.7VII.7. Mas, para que isto aconteça, aos mesmos é requerido um rico ambiente de componentes que, se bem projetados, podem ampliar a experiência do usuário no uso de um software. Um ambiente já consolidado é o ambiente desktop. O AMBIENTE DESKTOP O ambiente desktop VII.7 é composto por componentes de fácil uso, expresso por meio de janelas, painéis, tabelas de dados, árvores de diretório e menus de itens, dentre muitos outros. Este ambiente tem por principal característica a interatividade e a alta responsividade (tempo de resposta) entre o usuário e a interface. Cada componente desktop VII.7 VII.7 tem a capacitação de rápidas operações e manipulações dos dados que neles estão expostos. Em uma tabela de dados VII.7 (datagrid), por exemplo, podemos facilmente ordenar, inserir, alterar, excluir e filtrar dados obtidos de um banco de dados VII.7, somente com alguns cliques do mouse. Em algumas operações, como na ordenação e filtragem, não é necessário uma re comunicação com o banco, pois os dados já estão no componente. VII.7 VII.7. Apesar da facilidade de uso da interface e da execução de comandos do ambiente desktop, os softwares instalados em computadores locais e isolados têm dificuldade de compartilhamento de dados entre vários usuários. Um arquivo de texto, uma planilha eletrônica ou informações de um sistema, como um cadastro de clientes, não são

21 2 facilmente migrados de um local para outro. Para isso é necessário que estes arquivos ou dados sejam transpostos por meio de mídias de dados tais como: disquetes, CDs dentre outros. Um modelo proposto para solucionar esta dificuldade de migração e compartilhamento de dados é o modelo cliente servidor. MODELO CLIENTE SERVIDOR Segundo Tanenbaum VII.7, cliente servidor é um modelo computacional que separa máquinas em clientes e servidores, sendo interligados entre si, utilizando se de uma rede de computadores. O servidor concentra os dados necessários aos clientes gerando compartilhamento de informações. Cada instância de um cliente pode enviar requisições de dados para o servidor, ao qual está conectada, e esperar pela resposta. Por sua vez, o servidor recebe tais requisições, processa as mesmas, e retorna um resultado para o cliente (os dados). Assim, os sistemas de informação foram potencializados com a distribuição dos dados pelo servidor e ainda tendo a vantagem de uma rica, rápida e interativa interface gerenciada pelo aplicativo cliente em ambiente desktop. Por outro lado a facilidade de compartilhamento de dados entre clientes utilizando o modelo cliente servidor, sendo esses dados manipulados por sistemas de informação em ambiente desktop, é comprometida com a manutenção e atualização VII.7 em massa destes aplicativos, posto que, qualquer alteração de versão dos mesmos requer um esquema de distribuição e atualização. No pior caso, distribuir ou atualizar um software para ambiente desktop requer uma instalação manual na máquina em que o software irá executar. Se o software deve ser instalado ou atualizado em 200 máquinas, por exemplo, esta instalação deverá ser muito demorada e muito trabalhosa. Uma tentativa de atenuação deste problema é a atualização por rede em que a nova versão do software fica no servidor, e quando um cliente se comunica com um servidor que tem uma nova atualização, o mesmo requisita esta nova atualização na máquina local, porém tal esquema gera um alto tráfego na rede. O AMBIENTE WEB No modelo cliente servidor e sistemas em ambiente desktop, somente os dados

22 3 ficavam disponíveis no servidor para a manipulação compartilhada dos clientes e cada cliente executava a aplicação localmente e isoladamente. Criando se um problema de escalabilidade administrativa, no que se refere à manutenção das aplicações. Com a popularização do World Wide Web (WWW), criou se a possibilidade de sistemas de informação serem migrados por completo ao servidor; não somente os dados, mas também a aplicação por inteiro. Nos sistemas de informação baseados em ambiente web, o cliente se conecta ao servidor por meio de um navegador web VII.7 VII.7 usando um endereço do protocolo HTTP VII.7. Pelos links ou submissões de formulários de dados, o cliente envia requisições ao servidor; somente o resultado da requisição é descarregado no navegador do mesmo, conjuntamente com os dados processados e requisitados. Essa nova forma de desenvolvimento em "clientes leves" possibilita uma fácil manutenção e atualização integral e homogênea do sistema de informação, posto que o mesmo esteja residente no servidor. O sistema não necessita de um esquema de atualização e de distribuição. Nada é processado no cliente, agora tudo está no servidor. Porém o desenvolvimento de aplicativos web requer maior investimento para se atingir um grau mínimo de usabilidade VII.7VII.7, interatividade e responsividade que antes era percebido nos sistemas para ambiente desktop. Como agora tudo está no servidor, qualquer que seja o processamento de dados necessário, ele deverá ser feito no servidor. Numa simples ordenação de uma tabela de dados que já está exposta, essa tabela de dados deverá ser reprocessada no servidor por meio de uma nova requisição, então ordenada, e assim novamente exposta ao usuário. A transição de dados de uma tabela para um formulário de atualização requer o re carregamento completo da página, e a cada requisição o servidor é sobrecarregado. Portanto, apesar dos sistemas web não necessitarem de um esquema de atualização de versão, o problema de ampliação de tráfego na rede torna se recorrente. RÁPIDAS COMPARAÇÕES ENTRE DESKTOP E WEB Nos sistemas de desenvolvimento em desktop, existia uma cooperação e divisão de processamentos entre o cliente e o servidor; nem toda a ação que o cliente fazia sobre os dados necessitava do servidor, pois os dados, como citado anteriormente, estavam

23 4 residentes na memória vinculados ao componente na interface desktop. No ambiente web, no que se refere ao processamento de dados e armazenamento em memória, o cliente é tratado absolutamente como coadjuvante, ocorrendo uma subutilização dos componentes computacionais do mesmo. Em desktop, ações que necessitavam de processamento no servidor, tais como inserção, alteração e exclusão de dados, aconteciam mais pontualmente. No exemplo de uma exclusão o componente de dados por meio da interface comunica ao servidor a necessidade da exclusão daquele dado selecionado. O servidor executa a ação e notifica a interface do sucesso da ação e por fim a interface atualiza o componente, excluindo da visualização somente o dado excluído. Dependendo da conexão de rede isso é um processo bem rápido. No ambiente web o processo é semelhante, porém existe a necessidade de uma atualização completa da página, pois não existe um componente gerenciando o processo o que o torna menos responsivo e escalável, tendo por fim todos os dados vizinhos ao que foi excluído, retornados mais uma vez ao cliente web. OBJETIVO DO TRABALHO O presente trabalho teve como objetivo produzir um framework que facilitasse a criação de componentes para web utilizando técnicas de escalabilidade, e que esses componentes sejam mais eficazes, aproximando se da interatividade e da alta responsividade entre o usuário e a interface do sistema, que antes era percebido nos sistemas em ambiente desktop.

24 5 CAPÍTULO I. ESCALABILIDADE A mente que se abre a uma nova idéia jamais voltará ao seu tamanho original. Albert Einstein A escalabilidade é uma característica desejável em todo sistema de informação. Em um software, escalabilidade indica a habilidade de crescimento uniforme, ou estar preparado para crescer VII.7 VII.7. Refere se, por exemplo, à capacidade de um sistema em suportar um salto no número de usuários, ou da ampliação de recursos ao sistema quando são requeridos. Outra possibilidade de escalabilidade é o que acontece com softwares de empresas multinacionais. Essas empresas têm sua matriz localizada em um país e as filiais em outros e todos os usuários acessam o mesmo sistema integrado. A possibilidade de escalabilidade é um assunto de alta relevância em sistemas eletrônicos, banco de dados VII.7, redes de computadores VII.7 e etc. e implica diretamente em melhoria de desempenho. Um sistema cujo desempenho aumenta com o acréscimo de hardware, proporcionalmente à capacidade acrescida, é chamado "sistema escalável" VII.7. I.1. Medidas de escalabilidade As medidas normais de escalabilidade são definidas em três dimensões distintas VII.7: Escalabilidade Geográfica: um sistema é geograficamente escalável quando os usuários e recursos podem estar longe uns dos outros. Escalabilidade de tamanho: ocorre quando um sistema tem a facilidade de ampliação de usuários ou recursos.

25 6 Escalabilidade Administrativa: quando um sistema é fácil de se gerenciar e manter, mesmo que existam várias organizações administrativas, diz se que o mesmo tem este tipo de escalabilidade. Para se desenvolver um framework baseado no desenvolvimento de componentes em ambiente web, é necessário discutir algumas soluções para os problemas de escalabilidade no que se refere a desenvolvimento de software. I.2. Problemas de escalabilidade I.2.1. Problemas de localização geográfica [2] Principal problema enfrentado em sistemas de informação acessados por usuários em diversos lugares geograficamente dispostos é a latência de rede, que pode ser definida como o tempo de espera entre a requisição e a resposta do servidor. Como os usuários estão conectados por redes de computadores, cada comunicação é feita normalmente de forma síncrona, ou seja, o cliente faz uma requisição, espera, e recebe a resposta da requisição. Isso é bem típico em sistemas web. No desenvolvimento tradicional web cada requisição feita pelo navegador ao servidor trava por completo a interface com o usuário, ou seja, o usuário espera a página carregar por completo a cada requisição, o que torna a latência bem mais visível VII.7. A possibilidade de executar comunicações assíncronas VII.7 VII.7 entre o navegador e o servidor, atenuaria bastante a latência de rede, pois enquanto a comunicação é feita a interface com o usuário não é bloqueada, o que deixa o usuário mais livre para realizar outras operações enquanto aguarda a finalização da comunicação. I.2.2. Problemas de tamanho do software Se um sistema necessita ampliar o suporte a usuários, é necessário se atentar às limitações de centralizações tais como centralização de serviços, de dados e de algoritmos, como ocorre no desenvolvimento de aplicações para web.

26 7 O problema de serviços centralizados decorre de um único servidor implementar os serviços disponíveis VII.7 (HTTP). Ocorrendo um salto no número de usuários, o servidor torna se um gargalo para o sistema. Em muitos casos, copiar o servidor para vários lugares ou ampliar sua capacidade, melhora o desempenho, mas essa solução geralmente tem alto custo, como por exemplo, o acréscimo de maquinário. O problema de acesso a dados centralizados vem com a dificuldade de replicação dos dados e de distribuição dos mesmos. No ambiente web os dados estão sempre no servidor e a tradicional forma de desenvolvimento web ignora o fato de poder ter localmente uma replicação dos dados vindos do servidor, mesmo que tal replicação seja somente dos dados visualizados na página atual, possibilitando um processamento local sobre os mesmos. No presente trabalho utilizou se um esquema de replicação de dados VII.7, onde o servidor deveria entregar ao cliente uma amostra dos dados para que o mesmo operasse localmente sobre os mesmos. Essa porção ou amostra de dados no cliente chama se cache. Agora no caso dos problemas de algoritmos centralizados VII.7VII.7VII.7, somente uma máquina, os servidores web, detém o poder de processamento de todos os dados. Uma solução necessária para atenuar este problema é a distribuição e descentralização de algoritmos. Alguns códigos do servidor serão migrados para o cliente de forma controlada. Características de algoritmos descentralizados: a) Nenhuma máquina cliente tem informações completas sobre o estado geral do sistema. b) Os clientes podem tomar decisões tendo por base as informações locais. c) O servidor entrega porções de código para ser executada no cliente, utilizando sua estrutura de processamento local. d) A falha de um cliente não arruína o algoritmo.

27 8 I.2.3. Problemas de administração do sistema Se um sistema se expandir ou migrar para outra máquina, como ocorre em algoritmos descentralizados, é preciso garantir a segurança da comunicação entre o código que foi migrado para o cliente com o servidor. Um ataque malicioso, de falsidade de entidade, ou de uma requisição não autorizada pode por abaixo toda a escalabilidade pretendida VII.7. I.3. Componente web escalável No projeto de software do presente trabalho definiu se uma classe chamada Component. Ela será a classe mãe (superclasse) para qualquer componente web que venha a ser desenvolvido, usando o framework proposto. Para usá la, o desenvolvedor web, deve estender a classe Component como mostra o Código I.1. e Figura I 1. usando a linguagem JavaScript. MeuComponente = Class.create(); MeuComponente.prototype = Object.extend(new Component(),{ initialize: function(){ } }); Código I.1 Criação de um componente estendendo Component.

28 9 Figura I 1 Criação de um componente web estendendo a classe Component. Quando o desenvolvedor para web estender a classe Component, o framework disponibilizará as seguintes características que implementam técnicas de escalabilidade para a criação de componentes web: Comunicação assíncrona; Cache de dados do lado do cliente; Agentes inteligentes para atualização da cache; Operações (algoritmo) para uso no cliente; Segurança de comunicação usando tokens.

29 10 CAPÍTULO II. COMUNICAÇÃO ASSÍNCRONA O desenvolvimento tradicional de sistemas para web usa comumente a comunicação síncrona entre o navegador web e o servidor VII.7. Comunicação síncrona é a forma de comunicação mais simples que ocorre de serialmente, aonde cada evento do processo acontece um após o outro seguindo uma ordem. Para que os eventos sejam garantidos em ordem, o navegador bloqueia a interface até que a resposta do evento atual chegue ao cliente VII.7 VII.7. Esse bloqueio deixa exposta a latência de rede na comunicação síncrona como mostramos na Figura II 2. Figura II 2 Comunicação Síncrona Basicamente o tratamento de ocultação de latências em comunicações é importante para que se possa conseguir escalabilidade geográfica VII.7. A alternativa de ocultar o tempo de espera de cada comunicação é permite que o usuário execute outras ações enquanto espera a resposta de uma requisição, isso significa construir aplicações que

30 11 utilizem comunicações assíncronas para executar tais requisições como exemplificado na Figura II 3. Figura II 3 Comunicação Assíncrona Utilizando Ajax para a comunicação assíncrona AJAX (acrônimo em língua inglesa de Asynchronous JavaScript And XML) é o uso metodológico de tecnologias como JavaScript e XML VII.7, providas por navegadores web, para tornar páginas mais interativas com o usuário VII.7, utilizando se de solicitações assíncronas de informações. AJAX não é somente um novo modelo, mas também, uma iniciativa na construção de aplicações web, mais dinâmicas e criativas. AJAX não é uma única tecnologia, e sim várias tecnologias conhecidas trabalhando em conjunto, cada uma fazendo sua parte, oferecendo novas funcionalidades. AJAX incorpora em seu modelo: Recuperação assíncrona de dados usando o objeto XMLHttpRequest; Intercâmbio e manipulação de dados usando XML;

31 12 Algoritmos em JavaScript. II.1.1. O objeto XMLHttpRequest O XMLHttpRequest VII.7 é um objeto que implementa uma interface que pertence ao próprio navegador e que permite a um código, migrado do servidor para o cliente (JavaScript), realizar uma comunicação entre o cliente e o servidor sem a necessidade de recarregar todo o conteúdo atual da página web. Da função deste objeto é que vem o termo Asynchronous (assíncrono) da definição de AJAX VII.7. Por meio desse objeto, dados do cliente são transportados para o servidor e vice versa, nos bastidores, sem que a interface com o usuário seja bloqueada. Em outras palavras, não precisa haver sincronia no processo de transporte de dados com o carregamento da página web. Com o objeto XMLHttpRequest é possível transicionar de forma oculta, os dados do servidor para o cliente, escondendo a latência de rede do usuário, assim atingindo se a pretendida a escalabilidade geográfica. II.1.2. Esquema de comunicação assíncrona com XMLHttpRequest A Figura II 4 mostra o esquema de comunicação assíncrona entre o navegador cliente web e o servidor: Figura II 4 Comunicação assíncrona utilizando o objeto XMLHttpRequest.

32 13 1. O código do cliente (JavaScript) realiza uma chamada ao servidor utilizando o objeto XMLHttpRequest e enviando dados se necessário. 2. O objeto XMLHttpRequest monta uma requisição HTTP e registra uma função de callback, um tipo de agente verificador da comunicação para esperar a resposta do servidor, deixando a interface com o usuário, desbloqueada para outras ações. 3. A requisição é enviada para o servidor 4. O servidor web recebe a requisição do cliente. 5. O servidor realiza operações sobre a base de dados. 6. O servidor retorna um arquivo XML de dados requisitados e a função callback(), que verifica a conclusão da comunicação, é chamada. 7. A função entrega os dados advindos do servidor ao código que fez a solicitação inicial. 8. Os dados são processados e a interface com o usuário, atualizada. II.2. A classe ServerComunicator A classe ServerComunicator foi desenvolvida para ser o centro de comunicações entre os componentes que estão executando no cliente e o servidor. Toda comunicação utiliza o objeto XMLHttpRequest VII.7 e a biblioteca prototype.js VII.7 VII.7. Todo código solicitante do componente deve ter um objeto de referência da classe ServerComunicator e utilizar os padrões especificados para as comunicações e transições de dados. No fluxo de dados do cliente para o servidor o componente deve passar para a classe ServerComunicator uma serialização dos dados a ser transferidos para o servidor e registrar uma função que será chamada após o término da comunicação como explicamos na subseção Agora, no que diz respeito ao fluxo de comunicação do servidor para o cliente, o código do servidor deve responder com

Metas de um Sistema Distribuído

Metas de um Sistema Distribuído Metas de um Sistema Distribuído Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

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

Autoria Web Apresentação e Visão Geral sobre a Web

Autoria Web Apresentação e Visão Geral sobre a Web Apresentação e Visão Geral sobre a Web Apresentação Thiago Miranda Email: mirandathiago@gmail.com Site: www.thiagomiranda.net Objetivos da Disciplina Conhecer os limites de atuação profissional em Web

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

Programação WEB Introdução

Programação WEB Introdução Programação WEB Introdução Rafael Vieira Coelho IFRS Instituto Federal de Educação, Ciência e Tecnologia do Rio Grande do Sul Campus Farroupilha rafael.coelho@farroupilha.ifrs.edu.br Roteiro 1) Conceitos

Leia mais

Introdução à Informática

Introdução à Informática Introdução à Informática Aula 23 http://www.ic.uff.br/~bianca/introinfo/ Aula 23-07/12/2007 1 Histórico da Internet Início dos anos 60 Um professor do MIT (J.C.R. Licklider) propõe a idéia de uma Rede

Leia mais

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto

UM NOVO CONCEITO EM AUTOMAÇÃO. Série Ponto UM NOVO CONCEITO EM AUTOMAÇÃO Série Ponto POR QUE NOVO CONCEITO? O que é um WEBPLC? Um CP na WEB Por que usar INTERNET? Controle do processo de qualquer lugar WEBGATE = conexão INTERNET/ALNETII WEBPLC

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Basedos na Web Capítulo 12 Agenda Arquitetura Processos Comunicação Nomeação Sincronização Consistência e Replicação Introdução

Leia mais

WWW - World Wide Web

WWW - World Wide Web WWW World Wide Web WWW Cap. 9.1 WWW - World Wide Web Idéia básica do WWW: Estratégia de acesso a uma teia (WEB) de documentos referenciados (linked) em computadores na Internet (ou Rede TCP/IP privada)

Leia mais

1 http://www.google.com

1 http://www.google.com 1 Introdução A computação em grade se caracteriza pelo uso de recursos computacionais distribuídos em várias redes. Os diversos nós contribuem com capacidade de processamento, armazenamento de dados ou

Leia mais

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064

Sistemas Distribuídos. Professora: Ana Paula Couto DCC 064 Sistemas Distribuídos Professora: Ana Paula Couto DCC 064 Questões Em uma rede de sobreposição (overlay), mensagens são roteadas de acordo com a topologia da sobreposição. Qual uma importante desvantagem

Leia mais

Trabalho de Sistemas Distribuídos

Trabalho de Sistemas Distribuídos Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Petrópolis 2015, v-1.0 Cássio de Olivera Ferraz Trabalho de Sistemas Distribuídos Trabalho sobre sistemas distribuídos e suas tecnologias. Universidade

Leia mais

Nota de aplicação: Desenvolvimento de Páginas no PO9900 - WebGate

Nota de aplicação: Desenvolvimento de Páginas no PO9900 - WebGate Nota de aplicação NAP080 Desenvolvimento de Páginas no PO9900 - WebGate Altus Sistemas de Informática S.A. Página: 1 Sumário 1. Introdução...3 1.1 Páginas do WebGate... 3 2. Árvore de Navegação...3 3.

Leia mais

MANUAL EXPORTAÇÃO IMPORTAÇÃO

MANUAL EXPORTAÇÃO IMPORTAÇÃO MANUAL EXPORTAÇÃO IMPORTAÇÃO Diretoria de Vigilância Epidemiológica/SES/SC 2006 1 Módulo 04 - Exportação e Importação de Dados Manual do SINASC Módulo Exportador Importador Introdução O Sistema SINASC

Leia mais

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br

SISTEMAS DISTRIBUÍDOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com.br - Aula 5 PROCESSOS 1. INTRODUÇÃO Em sistemas distribuídos é importante examinar os diferentes tipos de processos e como eles desempenham seu papel. O conceito de um processo é originário do campo de sistemas

Leia mais

História e Evolução da Web. Aécio Costa

História e Evolução da Web. Aécio Costa Aécio Costa A História da Web O que estamos estudando? Período em anos que a tecnologia demorou para atingir 50 milhões de usuários 3 As dez tecnologias mais promissoras 4 A evolução da Web Web 1.0- Passado

Leia mais

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos.

Vamos iniciar a nossa exploração do HTTP baixando um arquivo em HTML simples - bastante pequeno, que não contém objetos incluídos. Wireshark Lab: HTTP Versão 1.1 2005 KUROSE, J.F & ROSS, K. W. Todos os direitos reservados 2008 BATISTA, O. M. N. Tradução e adaptação para Wireshark. Tendo molhado os nossos pés com o Wireshark no laboratório

Leia mais

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados

Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Tópicos de Ambiente Web Conceitos Fundamentais Redes de Dados Professora: Sheila Cáceres Computador Dispositivo eletrônico usado para processar guardar e tornar acessível informação. Tópicos de Ambiente

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

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo

TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo TECNOLOGIA WEB Aula 1 Evolução da Internet Profa. Rosemary Melo Tópicos abordados Surgimento da internet Expansão x Popularização da internet A World Wide Web e a Internet Funcionamento e personagens da

Leia mais

Guia de Atualização do Windows XP para Windows 7

Guia de Atualização do Windows XP para Windows 7 Guia de Atualização do Windows XP para Windows 7 Conteúdo Etapa 1: Saiba se o computador está pronto para o Windows 7... 3 Baixar e instalar o Windows 7 Upgrade Advisor... 3 Abra e execute o Windows 7

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

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO

1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO 1 ÍNDICE 1 REQUISITOS BÁSICOS PARA INSTALAR O SMS PC REMOTO... 3 1.1 REQUISITOS BASICOS DE SOFTWARE... 3 1.2 REQUISITOS BASICOS DE HARDWARE... 3 2 EXECUTANDO O INSTALADOR... 3 2.1 PASSO 01... 3 2.2 PASSO

Leia mais

Instalação, configuração e manual

Instalação, configuração e manual Cardápio Moura Instalação, configuração e manual Conteúdo Instalação... 4 Requisitos mínimos... 4 Windows 8... 5 Instalação do IIS no Windows 8... 5 Configuração do IIS no WINDOWS 8... 15 Windows 7...

Leia mais

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS

Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Prof. Marcelo de Sá Barbosa SISTEMAS DISTRIBUIDOS Objetos distribuídos e invocação remota Introdução Comunicação entre objetos distribuídos Chamada de procedimento remoto Eventos e notificações Objetos

Leia mais

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos

Arquitetura de Sistemas Distribuídos. Introdução a Sistemas Distribuídos Introdução a Sistemas Distribuídos Definição: "Um sistema distribuído é uma coleção de computadores autônomos conectados por uma rede e equipados com um sistema de software distribuído." "Um sistema distribuído

Leia mais

Índice. Atualizado em: 01/04/2015 Página: 1

Índice. Atualizado em: 01/04/2015 Página: 1 MANUAL DO USUÁRIO Índice 1. Introdução... 3 2. Acesso ao Sistema... 4 2.1. Instalação... 4 2.1.1. Servidor - Computador Principal... 4 2.1.2. Estação - Computador na Rede... 6 2.1.3. Estação - Mapeamento

Leia mais

Nível 3 Sistema Operacional

Nível 3 Sistema Operacional Nível 3 Sistema Operacional Universidade Tuiuti do Paraná UTP Faculdade de Ciências Exatas - FACET Tecnologia de Análise e Desenvolvimento de Sistemas Organização de Computadores Prof. André Luiz 1 Nível

Leia mais

Potenciais de Aplicação da Metodologia AJAX

Potenciais de Aplicação da Metodologia AJAX SEGeT Simpósio de Excelência em Gestão e Tecnologia 1 Potenciais de Aplicação da Metodologia AJAX Bruno Simões Kleverson Pereira Marcos Santos Eduardo Barrere Associação Educacional Dom Bosco - AEDB RESUMO

Leia mais

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web;

CONCEITOS INICIAIS. Agenda A diferença entre páginas Web, Home Page e apresentação Web; CONCEITOS INICIAIS Agenda A diferença entre páginas Web, Home Page e apresentação Web; O que é necessário para se criar páginas para a Web; Navegadores; O que é site, Host, Provedor e Servidor Web; Protocolos.

Leia mais

6 - Gerência de Dispositivos

6 - Gerência de Dispositivos 1 6 - Gerência de Dispositivos 6.1 Introdução A gerência de dispositivos de entrada/saída é uma das principais e mais complexas funções do sistema operacional. Sua implementação é estruturada através de

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

PRODUÇÃO CARTOGRÁFICA SERVIÇOS WEB

PRODUÇÃO CARTOGRÁFICA SERVIÇOS WEB SERVIÇOS WEB World Wide Web Evolução de simples páginas com conteúdo estático para páginas com conteúdos dinâmicos (extraídos, principalmente, de Sistemas Gerenciadores de Bancos de Dados SGBD) Tecnologias

Leia mais

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec

Guia de Consulta Rápida. PHP com XML. Juliano Niederauer. Terceira Edição. Novatec Guia de Consulta Rápida PHP com XML Juliano Niederauer Terceira Edição Novatec Copyright 2002 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida

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

Manual do Usuário. Sistema Financeiro e Caixa

Manual do Usuário. Sistema Financeiro e Caixa Manual do Usuário Sistema Financeiro e Caixa - Lançamento de receitas, despesas, gastos, depósitos. - Contas a pagar e receber. - Emissão de cheque e Autorização de pagamentos/recibos. - Controla um ou

Leia mais

Sistemas Distribuídos. Introdução

Sistemas Distribuídos. Introdução Sistemas Distribuídos Introdução Definição Processos Um sistema distribuído é um conjunto de computadores independentes, interligados por uma rede de conexão, executando um software distribuído. Executados

Leia mais

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos

Roteiro. Sistemas Distribuídos. Sistemas de Arquivos Distribuídos. Sistema de arquivos distribuídos Sistemas Distribuídos Sistemas de Arquivos Distribuídos Roteiro Sistema de arquivos distribuídos Requisitos Arquivos e diretórios Compartilhamento Cache Replicação Estudo de caso: NFS e AFS Sistemas Distribuídos

Leia mais

Desenvolvendo para WEB

Desenvolvendo para WEB Nível - Básico Desenvolvendo para WEB Por: Evandro Silva Neste nosso primeiro artigo vamos revisar alguns conceitos que envolvem a programação de aplicativos WEB. A ideia aqui é explicarmos a arquitetura

Leia mais

Padrão ix. Q-Ware Cloud File Publisher - QWCFP Manual do Gestor de Grupo. Versão 1.0.1.0

Padrão ix. Q-Ware Cloud File Publisher - QWCFP Manual do Gestor de Grupo. Versão 1.0.1.0 Padrão ix Q-Ware Cloud File Publisher - QWCFP Manual do Gestor de Grupo Versão 1.0.1.0 Copyright 2000-2014 Padrão ix Sistemas Abertos Ltda. Todos os direitos reservados. As informações contidas neste manual

Leia mais

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões

FACSENAC. Versão:1.5. Identificador do documento: Projeto Lógico de Redes. Versão do Template Utilizada na Confecção: 1.0. Histórico de revisões FACSENAC ECOFROTA Documento de Projeto Lógico de Rede Versão:1.5 Data: 21/11/2013 Identificador do documento: Projeto Lógico de Redes Versão do Template Utilizada na Confecção: 1.0 Localização: FacSenac

Leia mais

PRnet/2013. Linguagem de Programação Web

PRnet/2013. Linguagem de Programação Web Linguagem de Programação Web Linguagem de Programação Web Prnet/2013 Linguagem de Programação Web» Programas navegadores» Tipos de URL» Protocolos: HTTP, TCP/IP» Hipertextos (páginas WEB)» HTML, XHTML»

Leia mais

Solução de gerenciamento de sistemas Dell KACE K1000 Versão 5.5. Guia de gerenciamento de ativos. Julho de 2013

Solução de gerenciamento de sistemas Dell KACE K1000 Versão 5.5. Guia de gerenciamento de ativos. Julho de 2013 Solução de gerenciamento de sistemas Dell KACE K1000 Versão 5.5 Guia de gerenciamento de ativos Julho de 2013 2004-2013 Dell, Inc. Todos os direitos reservados. Qualquer forma de reprodução deste material

Leia mais

Grifon Alerta. Manual do Usuário

Grifon Alerta. Manual do Usuário Grifon Alerta Manual do Usuário Sumário Sobre a Grifon Brasil... 4 Recortes eletrônicos... 4 Grifon Alerta Cliente... 4 Visão Geral... 4 Instalação... 5 Pré-requisitos... 5 Passo a passo para a instalação...

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

Estudo comparativo entre tecnologias Java: Applet e JWS.

Estudo comparativo entre tecnologias Java: Applet e JWS. Estudo comparativo entre tecnologias Java: Applet e JWS. Clara Aben-Athar B. Fernandes¹, Carlos Alberto P. Araújo¹ 1 Centro Universitário Luterano de Santarém Comunidade Evangélica Luterana (CEULS/ULBRA)

Leia mais

Documento de Requisitos

Documento de Requisitos UNIVERSIDADE FEDERAL DE PERNAMBUCO CENTRO DE INFORMÁTICA GRADUAÇÃO EM ENGENHARIA DA COMPUTAÇÃO Documento de Requisitos Sistema Gerenciador de Atendimento de Chamados Técnicos Grupo: Luiz Augusto Zelaquett

Leia mais

Segurança em PHP. Márcio Pessoa. Desenvolva programas PHP com alto nível de segurança e aprenda como manter os servidores web livres de ameaças

Segurança em PHP. Márcio Pessoa. Desenvolva programas PHP com alto nível de segurança e aprenda como manter os servidores web livres de ameaças Segurança em PHP Desenvolva programas PHP com alto nível de segurança e aprenda como manter os servidores web livres de ameaças Márcio Pessoa Novatec capítulo 1 Conceitos gerais No primeiro capítulo serão

Leia mais

Parte 5 - Criação de cursos à distância no Modelo Fechado

Parte 5 - Criação de cursos à distância no Modelo Fechado Parte 5 - Criação de cursos à distância no Modelo Fechado Neste capítulo iremos estudar como montar um curso à distância que, embora acessível via a Internet, tenha acesso controlado. Para isto, teremos

Leia mais

Guia de Utilização do Microsoft Dynamics CRM (Gestão de Relacionamento com Clientes)

Guia de Utilização do Microsoft Dynamics CRM (Gestão de Relacionamento com Clientes) Guia de Utilização do Microsoft Dynamics CRM (Gestão de Relacionamento com Clientes) 1. Sobre o Microsoft Dynamics CRM - O Microsoft Dynamics CRM permite criar e manter facilmente uma visão clara dos clientes,

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Universidade Federal do Pará Campus Universitário de Marabá Curso de Bacharelado em Sistemas de Informação Sistemas Distribuídos Prof.: Warley Junior warleyjunior05@gmail.com Plano de Ensino. Turma SI

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Sistemas de Entrada/Saída Princípios de Software Sistema de Entrada/Saída Princípios de Software Tratadores (Manipuladores) de Interrupções Acionadores de Dispositivos (Device Drivers)

Leia mais

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD)

Curso Introdução à Educação Digital - Carga Horária: 40 horas (30 presenciais + 10 EaD) ******* O que é Internet? Apesar de muitas vezes ser definida como a "grande rede mundial de computadores, na verdade compreende o conjunto de diversas redes de computadores que se comunicam e que permitem

Leia mais

UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA

UNIVERSIDADE PRESBITERIANA MACKENZIE FACULDADE DE COMPUTAÇÃO E INFORMÁTICA EDITAL DO PROGRAMA DE CERTIFICAÇÕES EM COMPUTAÇÃO MACK COMPUTING CERTIFICATION MCC 2º SEMESTRE DE 2014 O Diretor da Faculdade de Computação e Informática (FCI), no uso de suas atribuições estatutárias

Leia mais

Desenvolvimento de Aplicações Web

Desenvolvimento de Aplicações Web Desenvolvimento de Aplicações Web André Tavares da Silva andre.silva@udesc.br Método de Avaliação Serão realizadas duas provas teóricas e dois trabalhos práticos. MF = 0,1*E + 0,2*P 1 + 0,2*T 1 + 0,2*P

Leia mais

G-Bar. Módulo Básico Versão 4.0

G-Bar. Módulo Básico Versão 4.0 G-Bar Software para Gerenciamento de Centrais de Corte e Dobra de Aço Módulo Básico Versão 4.0 Pedidos de Vendas Manual do Usuário 1 As informações contidas neste documento, incluindo links, telas e funcionamento

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Instalando o IIS 7 no Windows Server 2008

Instalando o IIS 7 no Windows Server 2008 Goiânia, 16/09/2013 Aluno: Rafael Vitor Prof. Kelly Instalando o IIS 7 no Windows Server 2008 Objetivo Esse tutorial tem como objetivo demonstrar como instalar e configurar o IIS 7.0 no Windows Server

Leia mais

Aplicativo da Manifestação do Destinatário. Manual

Aplicativo da Manifestação do Destinatário. Manual Aplicativo da Manifestação do Destinatário Manual Novembro de 2012 1 Sumário 1 Aplicativo de Manifestação do Destinatário...4 2 Iniciando o aplicativo...4 3 Menus...5 3.1 Manifestação Destinatário...5

Leia mais

Publicação web. Será ativado um assistente de publicação que lhe guiará em todas as etapas a seguir apresentadas.

Publicação web. Será ativado um assistente de publicação que lhe guiará em todas as etapas a seguir apresentadas. Publicação web Pré requisitos: Lista de questões Formulário multimídia Este tutorial tem como objetivo, demonstrar de maneira ilustrativa, todos os passos e opções que devem ser seguidos para publicar

Leia mais

Companhia de Tecnologia da Informação do Estado de Minas Gerais - Prodemge. Manual do Usuário. Versão 1.1. ExpressoMG

Companhia de Tecnologia da Informação do Estado de Minas Gerais - Prodemge. Manual do Usuário. Versão 1.1. ExpressoMG Companhia de Tecnologia da Informação do Estado de Minas Gerais - Prodemge Manual do Usuário Versão 1.1 ExpressoMG 14/10/2015 Sumário 1. Apresentação... 4 1.1 Objetivos do Manual... 4 1.2 Público Alvo...

Leia mais

Manual Integra S_Line

Manual Integra S_Line 1 Introdução O é uma ferramenta que permite a transmissão Eletrônica de Resultado de Exames, possibilitando aos Prestadores de Serviços (Rede Credenciada), integrarem seus sistemas com os das Operadoras

Leia mais

Professor: Macêdo Firmino Disciplina: Redes de Computadores II

Professor: Macêdo Firmino Disciplina: Redes de Computadores II Professor: Macêdo Firmino Disciplina: Redes de Computadores II Na aula de hoje iremos conhecermos e relembrarmos duas ferramentas do Windows, chamadas de ipconfig e nslookup. Além disso, iremos discutirmos

Leia mais

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc.

GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. GERÊNCIA DE DADOS SEMI ESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio formado por acadêmicos

Leia mais

FACULDADE DE TECNOLOGIA DE OURINHOS SEGURANÇA DA INFORMAÇÃO. Felipe Luiz Quenca Douglas Henrique Samuel Apolo Ferreira Lourenço Samuel dos Reis Davi

FACULDADE DE TECNOLOGIA DE OURINHOS SEGURANÇA DA INFORMAÇÃO. Felipe Luiz Quenca Douglas Henrique Samuel Apolo Ferreira Lourenço Samuel dos Reis Davi FACULDADE DE TECNOLOGIA DE OURINHOS SEGURANÇA DA INFORMAÇÃO Felipe Luiz Quenca Douglas Henrique Samuel Apolo Ferreira Lourenço Samuel dos Reis Davi ENDIAN FIREWALL COMMUNITY 2.5.1 OURINHOS-SP 2012 HOW-TO

Leia mais

Produto IV: ATU SAAP. Manual de Referência

Produto IV: ATU SAAP. Manual de Referência Produto IV: ATU SAAP Manual de Referência Pablo Nogueira Oliveira Termo de Referência nº 129275 Contrato Número 2008/000988 Brasília, 30 de outubro de 2008 1 Sistema de Apoio à Ativideade Parlamentar SAAP

Leia mais

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP

COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP COMPARANDO APLICAÇÃO WEB SERVICE REST E SOAP Cleber de F. Ferreira¹, Roberto Dias Mota¹. ¹Universidade Paranaense (Unipar) Paranavaí PR Brasil cleberferreirasi@hotmail.com, motaroberto@hotmail.com Resumo.

Leia mais

Segurança na Rede Local Redes de Computadores

Segurança na Rede Local Redes de Computadores Ciência da Computação Segurança na Rede Local Redes de Computadores Disciplina de Desenvolvimento de Sotware para Web Professor: Danilo Vido Leonardo Siqueira 20130474 São Paulo 2011 Sumário 1.Introdução...3

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 Utilização

Manual de Utilização Se ainda tiver dúvidas entre em contato com a equipe de atendimento: Por telefone: 0800 642 3090 Por e-mail atendimento@oisolucoespraempresas.com.br Introdução... 3 1. O que é o programa Oi Backup Empresarial?...

Leia mais

SISTEMAS OPERACIONAIS LIVRES SERVICOS DE REDE LOCAL. Professor Carlos Muniz

SISTEMAS OPERACIONAIS LIVRES SERVICOS DE REDE LOCAL. Professor Carlos Muniz SISTEMAS OPERACIONAIS LIVRES SERVICOS DE REDE LOCAL Na internet, cada computador conectado à rede tem um endereço IP. Todos os endereços IPv4 possuem 32 bits. Os endereços IP são atribuídos à interface

Leia mais

SIGEP WEB - Gerenciador de Postagens dos Correios Manual do Usuário

SIGEP WEB - Gerenciador de Postagens dos Correios Manual do Usuário MANUAL DO USUÁRIO 2 ÍNDICE 1. PRÉ REQUISITOS PARA UTILIZAÇÃO DO SIGEP WEB 04 2. PROCEDIMENTOS PARA DOWNLOAD DO SISTEMA 04 3. INSTALANDO O SIGEP WEB 07 4. CONFIGURAÇÕES DO SISTEMA 09 COMPARTILHANDO O BANCO

Leia mais

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza

GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML. Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza GERÊNCIA DE DADOS SEMIESTRUTURADOS -XML Prof. Angelo Augusto Frozza, M.Sc. http://about.me/tilfrozza O QUE É XML? Tecnologia desenvolvida pelo W3C http://www.w3c.org W3C: World Wide Web Consortium consórcio

Leia mais

Capítulo 7 O Gerenciador de Arquivos

Capítulo 7 O Gerenciador de Arquivos Capítulo 7 O Gerenciador de Arquivos Neste capítulo nós iremos examinar as características da interface do gerenciador de arquivos Konqueror. Através dele realizaremos as principais operações com arquivos

Leia mais

Sumário INTRODUÇÃO 3 DICAS PARA CRIAR UM BOM SITE 4

Sumário INTRODUÇÃO 3 DICAS PARA CRIAR UM BOM SITE 4 Sumário Todos os direitos reservados e protegidos pela Lei 5.988 de 14/12/73. Nenhuma parte deste livro, sem prévia autorização por escrito de Celta Informática, poderá ser reproduzida total ou parcialmente,

Leia mais

Apostila da Ferramenta AdminWEB

Apostila da Ferramenta AdminWEB Apostila da Ferramenta AdminWEB Apostila AdminWEB SUMÁRIO OBJETIVO DO CURSO... 3 CONTEÚDO DO CURSO... 4 COMO ACESSAR O SISTEMA... 5 CONHEÇA OS COMPONENTES DA PÁGINA... 6 COMO EFETUAR O LOGIN... 9 MANTER

Leia mais

NETALARM GATEWAY. Manual do Usuário

NETALARM GATEWAY. Manual do Usuário Índice 1. Introdução...3 2. Requisitos Mínimos de Instalação...3 3. Instalação...3 4. Inicialização do Programa...5 5. Abas de Configuração...6 5.1 Aba Serial...6 5.2 Aba TCP...7 5.2.1 Opções Cliente /

Leia mais

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br

Desenvolvimento Web. Saymon Yury C. Silva Analista de Sistemas. http://www.saymonyury.com.br Desenvolvimento Web Saymon Yury C. Silva Analista de Sistemas http://www.saymonyury.com.br Vantagens Informação em qualquer hora e lugar; Rápidos resultados; Portabilidade absoluta; Manutenção facilitada

Leia mais

2. INSTALAÇÃO E CONFIGURAÇÃO

2. INSTALAÇÃO E CONFIGURAÇÃO INDICE 1. INTRODUÇÃO 2. INSTALAÇÃO E CONFIGURAÇÃO 2.1. COMPARTILHANDO O DIRETÓRIO DO APLICATIVO 3. INTERFACE DO APLICATIVO 3.1. ÁREA DO MENU 3.1.2. APLICANDO A CHAVE DE LICENÇA AO APLICATIVO 3.1.3 EFETUANDO

Leia mais

Controlando o tráfego de saída no firewall Netdeep

Controlando o tráfego de saída no firewall Netdeep Controlando o tráfego de saída no firewall Netdeep 1. Introdução Firewall é um quesito de segurança com cada vez mais importância no mundo da computação. À medida que o uso de informações e sistemas é

Leia mais

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA

CONCEITOS BÁSICOS DE INTERNET. Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA CONCEITOS BÁSICOS DE INTERNET Disciplina: INFORMÁTICA 1º Semestre Prof. AFONSO MADEIRA conceito inicial Amplo sistema de comunicação Conecta muitas redes de computadores Apresenta-se de várias formas Provê

Leia mais

Web Services. Autor: Rômulo Rosa Furtado

Web Services. Autor: Rômulo Rosa Furtado Web Services Autor: Rômulo Rosa Furtado Sumário O que é um Web Service. Qual a finalidade de um Web Service. Como funciona o serviço. Motivação para o uso. Como construir um. Referências. Seção: O que

Leia mais

Kaspersky Security Center 10 SP1 (KSC 10 SP1) Como criar Exclusões

Kaspersky Security Center 10 SP1 (KSC 10 SP1) Como criar Exclusões Kaspersky Security Center 10 SP1 (KSC 10 SP1) Como criar Exclusões Regras de exclusão são grupos de condições que o Kaspersky Endpoint Security utiliza para omitir um objeto durante uma varredura (scan)

Leia mais

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível

Versão 1.0 Janeiro de 2011. Xerox Phaser 3635MFP Plataforma de interface extensível Versão 1.0 Janeiro de 2011 Xerox Phaser 3635MFP 2011 Xerox Corporation. XEROX e XEROX e Design são marcas da Xerox Corporation nos Estados Unidos e/ou em outros países. São feitas alterações periodicamente

Leia mais

Tecnólogo em Análise e Desenvolvimento de Sistemas

Tecnólogo em Análise e Desenvolvimento de Sistemas Tecnólogo em Análise e Desenvolvimento de Sistemas O conteúdo deste documento tem como objetivos geral introduzir conceitos mínimos sobre sistemas operacionais e máquinas virtuais para posteriormente utilizar

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

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa.

Um cluster de servidores de email pode ser usado para servir os emails de uma empresa. CLUSTERS Pode-se pegar uma certa quantidade de servidores e juntá-los para formar um cluster. O serviço então é distribuído entre esses servidores como se eles fossem uma máquina só. Um cluster de servidores

Leia mais

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários.

Um sistema é constituído de um conjunto de processos que executam seus respectivos códigos do sistema operacional e processos e códigos de usuários. Os sistemas computacionais atuais permitem que diversos programas sejam carregados na memória e executados simultaneamente. Essa evolução tornou necessário um controle maior na divisão de tarefas entre

Leia mais

Padrões Arquiteturais e de Integração - Parte 1

Padrões Arquiteturais e de Integração - Parte 1 1 / 58 - Parte 1 Erick Nilsen Pereira de Souza T017 - Arquitetura e Design de Aplicações Análise e Desenvolvimento de Sistemas Universidade de Fortaleza - UNIFOR 11 de fevereiro de 2015 2 / 58 Agenda Tópicos

Leia mais

M a n u a l d o R e c u r s o Q m o n i t o r

M a n u a l d o R e c u r s o Q m o n i t o r M a n u a l d o R e c u r s o Q m o n i t o r i t i l advanced Todos os direitos reservados à Constat. Uso autorizado mediante licenciamento Qualitor Porto Alegre RS Av. Ceará, 1652 São João 90240-512

Leia mais

Camada de Aplicação, sistemas de nomes de domínio, correio eletrônico e world wide web

Camada de Aplicação, sistemas de nomes de domínio, correio eletrônico e world wide web Camada de Aplicação, sistemas de nomes de domínio, correio eletrônico e world wide web Apresentação dos protocolos da camada de aplicação do modelo OSI. DNS É mais fácil de lembrar de um nome de host do

Leia mais

Introdução. Nesta guia você aprenderá:

Introdução. Nesta guia você aprenderá: 1 Introdução A criação de uma lista é a primeira coisa que devemos saber no emailmanager. Portanto, esta guia tem por objetivo disponibilizar as principais informações sobre o gerenciamento de contatos.

Leia mais

XHTML 1.0 DTDs e Validação

XHTML 1.0 DTDs e Validação XHTML 1.0 DTDs e Validação PRnet/2012 Ferramentas para Web Design 1 HTML 4.0 X XHTML 1.0 Quais são os três principais componentes ou instrumentos mais utilizados na internet? PRnet/2012 Ferramentas para

Leia mais

2 Trabalhos Relacionados

2 Trabalhos Relacionados 2 Trabalhos Relacionados Nesse capítulo, apresentamos os trabalhos relacionados ao GridFS, entrando em mais detalhes sobre os sistemas citados durante a introdução e realizando algumas considerações sobre

Leia mais

Capítulo 2. Charm++ 16

Capítulo 2. Charm++ 16 2 Charm++ O Charm++ é uma linguagem orientada a objetos para programação paralela baseada em C++ (34). Ela possui uma biblioteca de execução para suporte a computação paralela que se chama Kernel do Charm

Leia mais

Request Tracker. Manual de Usuário Versão 1.0

Request Tracker. Manual de Usuário Versão 1.0 Request Tracker Manual de Usuário Versão 1.0 ÍNDICE 1. REQUEST TRACKER...3 2. CONCEITOS NO RT...4 2.1. TÍQUETE E FILA...4 2.2. ESTADOS DO TÍQUETE...5 2.3. PRIORIDADE DO TÍQUETE...5 2.4. PESSOAS...6 2.5.

Leia mais

Manual de referência do Device Storage Manager

Manual de referência do Device Storage Manager Manual de referência do Device Storage Manager Avisos sobre direitos autorais e marcas comerciais Copyright 2003 Hewlett-Packard Development Company, L.P. É proibida a reprodução, adaptação ou tradução

Leia mais

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil

PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL. Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil PROJETO DE COOPERAÇÃO TÉCNICA INTERNACIONAL Diretrizes e Estratégias para Ciência, Tecnologia e Inovação no Brasil Projeto 914 BRA5065 - PRODOC-MTC/UNESCO DOCUMENTO TÉCNICO Nº 02 IMPLANTAÇÃO DE 1 (UM)

Leia mais

Andarta - Guia de Instalação. Guia de Instalação

Andarta - Guia de Instalação. Guia de Instalação Guia de Instalação 29 de setembro de 2010 1 Sumário Introdução... 3 Os Módulos do Andarta... 4 Instalação por módulo... 6 Módulo Andarta Server... 6 Módulo Reporter... 8 Módulo Agent... 9 Instalação individual...

Leia mais