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

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

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

GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC

GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC GERENCIAMENTO CENTRALIZADO DELL POWERVAULT DL 2000 BASEADO EM TECNOLOGIA SYMANTEC RESUMO EXECUTIVO O PowerVault DL2000, baseado na tecnologia Symantec Backup Exec, oferece a única solução de backup em

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

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

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

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

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

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

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

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

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

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

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0

Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Como Configurar Catálogos de Correio Eletrônico com o MDaemon 6.0 Alt-N Technologies, Ltd 1179 Corporate Drive West, #103 Arlington, TX 76006 Tel: (817) 652-0204 2002 Alt-N Technologies. Todos os Direitos

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

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

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

Tecnologia da Informação. Prof Odilon Zappe Jr

Tecnologia da Informação. Prof Odilon Zappe Jr Tecnologia da Informação Prof Odilon Zappe Jr Internet Internet Internet é o conglomerado de redes, em escala mundial de milhões de computadores interligados, que permite o acesso a informações e todo

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

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

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM...

INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 4. INTERLIGAÇÃO DO SISTEMA... 5 5. ALGUNS RECURSOS... 6 6. SERVIDOR BAM... 1 de 30 INDICE 1. INTRODUÇÃO... 3 2. CONFIGURAÇÃO MÍNIMA... 4 3. INSTALAÇÃO... 4 3.1. ONDE SE DEVE INSTALAR O SERVIDOR BAM?... 4 3.2. ONDE SE DEVE INSTALAR O PROGRAMADOR REMOTO BAM?... 4 3.3. COMO FAZER

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

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

Í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

INTRODUÇÃO. A Claireconference agradece pela escolha!

INTRODUÇÃO. A Claireconference agradece pela escolha! 1 ÍNDICE 1. IMPLEMENTAÇÃO 4 1.1 PAINEL DE CONTROLE 4 1.1.1 SENHA 4 1.1.2 CRIAÇÃO DE USUÁRIOS DO LYNC 5 1.1.3 REDEFINIR SENHA 7 1.1.4 COMPRAR COMPLEMENTOS 9 1.1.5 UPGRADE E DOWNGRADE 10 1.1.5.1 UPGRADE

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

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

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

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

Sistemas distribuídos:comunicação

Sistemas distribuídos:comunicação M. G. Santos marcela@estacio.edu.br Faculdade Câmara Cascudo - Estácio de Sá 16 de abril de 2010 Formas de comunicação Produtor-consumidor: comunicação uni-direccional, com o produtor entregando ao consumidor.

Leia mais

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE

CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE CAPITULO 4 A ARQUITETURA LÓGICA PARA O AMBIENTE A proposta para o ambiente apresentada neste trabalho é baseada no conjunto de requisitos levantados no capítulo anterior. Este levantamento, sugere uma

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

EMANNUELLE GOUVEIA ROLIM

EMANNUELLE GOUVEIA ROLIM EMANNUELLE GOUVEIA ROLIM Bacharel em Ciência da Computação, especialista em Gerência de Projetos e em Criptografia e Segurança da Informação. Servidora Publica. Atua na área acadêmica em cursos de Graduação

Leia mais

Manual do Painel Administrativo

Manual do Painel Administrativo Manual do Painel Administrativo versão 1.0 Autores César A Miggiolaro Marcos J Lazarin Índice Índice... 2 Figuras... 3 Inicio... 5 Funcionalidades... 7 Analytics... 9 Cidades... 9 Conteúdo... 10 Referência...

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

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

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14

FileMaker Pro 14. Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 FileMaker Pro 14 Utilização de uma Conexão de Área de Trabalho Remota com o FileMaker Pro 14 2007-2015 FileMaker, Inc. Todos os direitos reservados. FileMaker Inc. 5201 Patrick Henry Drive Santa Clara,

Leia mais

Utilizando o correio eletrônico da UFJF com Thunderbird e IMAP

Utilizando o correio eletrônico da UFJF com Thunderbird e IMAP Utilizando o correio eletrônico da UFJF com Thunderbird e IMAP O cliente de e-mail web utilizado pela UFJF é um projeto OpenSource que não é desenvolvido pela universidade. Por isso, pode ocorrer que alguns

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

CAPÍTULO 2. Este capítulo tratará :

CAPÍTULO 2. Este capítulo tratará : 1ª PARTE CAPÍTULO 2 Este capítulo tratará : 1. O que é necessário para se criar páginas para a Web. 2. A diferença entre páginas Web, Home Page e apresentação Web 3. Navegadores 4. O que é site, Host,

Leia mais

2 Conceitos relativos a Web services e sua composição

2 Conceitos relativos a Web services e sua composição 15 2 Conceitos relativos a Web services e sua composição A necessidade de flexibilidade na arquitetura das aplicações levou ao modelo orientado a objetos, onde os processos de negócios podem ser representados

Leia mais

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos

Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos Sistemas Distribuídos: Conceitos e Projeto Caracterização de Sistemas Distribuídos Francisco José da Silva e Silva Laboratório de Sistemas Distribuídos (LSD) Departamento de Informática / UFMA http://www.lsd.deinf.ufma.br

Leia mais

Introdução... 1. Instalação... 2

Introdução... 1. Instalação... 2 ONTE DO Introdução... 1 O que é IPP?... 1 Qual é a função de um software Samsung IPP?... 1 Instalação... 2 Requisitos do sistema... 2 Instalar o software Samsung IPP... 2 Desinstalar o software Samsung

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

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel

Software de gerenciamento do sistema Intel. Guia do usuário do Pacote de gerenciamento do servidor modular Intel Software de gerenciamento do sistema Intel do servidor modular Intel Declarações de Caráter Legal AS INFORMAÇÕES CONTIDAS NESTE DOCUMENTO SÃO RELACIONADAS AOS PRODUTOS INTEL, PARA FINS DE SUPORTE ÀS PLACAS

Leia mais

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger www.elizabete.com.br

Introdução à Tecnologia Web. Tipos de Sites. Profª MSc. Elizabete Munzlinger www.elizabete.com.br IntroduçãoàTecnologiaWeb TiposdeSites ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br ProfªMSc.ElizabeteMunzlinger www.elizabete.com.br TiposdeSites Índice 1 Sites... 2 2 Tipos de Sites... 2 a) Site

Leia mais

Migrando para o Outlook 2010

Migrando para o Outlook 2010 Neste guia Microsoft O Microsoft Outlook 2010 está com visual bem diferente, por isso, criamos este guia para ajudar você a minimizar a curva de aprendizado. Leia-o para saber mais sobre as principais

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

Manual SAGe Versão 1.2 (a partir da versão 12.08.01)

Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Manual SAGe Versão 1.2 (a partir da versão 12.08.01) Submissão de Relatórios Científicos Sumário Introdução... 2 Elaboração do Relatório Científico... 3 Submissão do Relatório Científico... 14 Operação

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

É o UniNorte facilitando a vida de nossos docentes e discentes.

É o UniNorte facilitando a vida de nossos docentes e discentes. ACESSO REMOTO Através do Acesso Remoto o aluno ou professor poderá utilizar em qualquer computador que tenha acesso a internet todos os programas, recursos de rede e arquivos acadêmicos utilizados nos

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

ÍNDICE. www.leitejunior.com.br 16/06/2008 17:48 Leite Júnior

ÍNDICE. www.leitejunior.com.br 16/06/2008 17:48 Leite Júnior ÍNDICE MICROSOFT INTERNET EXPLORER 6 SP2 (IE6 SP2)...2 JANELA PRINCIPAL...2 PARTES DA JANELA...2 OS MENUS DO IE6...3 MENU ARQUIVO...3 MENU EDITAR...3 MENU EXIBIR...3 MENU FAVORITOS...4 MENU FERRAMENTAS...4

Leia mais

Informática. Informática. Valdir. Prof. Valdir

Informática. Informática. Valdir. Prof. Valdir Prof. Valdir Informática Informática Valdir Prof. Valdir Informática Informática PROVA DPF 2009 Julgue os itens subseqüentes, a respeito de Internet e intranet. Questão 36 36 - As intranets, por serem

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

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

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

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO

Intranets. FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO Intranets FERNANDO ALBUQUERQUE Departamento de Ciência da Computação Universidade de Brasília 1.INTRODUÇÃO As intranets são redes internas às organizações que usam as tecnologias utilizadas na rede mundial

Leia mais

ADMINISTRAÇÃO DOS RECURSOS DE DADOS

ADMINISTRAÇÃO DOS RECURSOS DE DADOS Capítulo 7 ADMINISTRAÇÃO DOS RECURSOS DE DADOS 7.1 2003 by Prentice Hall OBJETIVOS Por que as empresas sentem dificuldades para descobrir que tipo de informação precisam ter em seus sistemas de informação?

Leia mais

Introdução ao Modelos de Duas Camadas Cliente Servidor

Introdução ao Modelos de Duas Camadas Cliente Servidor Introdução ao Modelos de Duas Camadas Cliente Servidor Desenvolvimento de Sistemas Cliente Servidor Prof. Esp. MBA Heuber G. F. Lima Aula 1 Ciclo de Vida Clássico Aonde estamos? Page 2 Análise O que fizemos

Leia mais

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede

Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede Professor: Macêdo Firmino Disciplina: Sistemas Operacionais de Rede O sistema de nome de domínio (DNS) é um sistema que nomeia computadores e serviços de rede e é organizado em uma hierarquia de domínios.

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

Manual do Visualizador NF e KEY BEST

Manual do Visualizador NF e KEY BEST Manual do Visualizador NF e KEY BEST Versão 1.0 Maio/2011 INDICE SOBRE O VISUALIZADOR...................................................... 02 RISCOS POSSÍVEIS PARA O EMITENTE DA NOTA FISCAL ELETRÔNICA.................

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

Product Architecture. Product Architecture. Aranda 360 ENDPOINT SECURITY. Conteúdos STANDARD & ENTERPRISE EDITION

Product Architecture. Product Architecture. Aranda 360 ENDPOINT SECURITY. Conteúdos STANDARD & ENTERPRISE EDITION Conteúdos Product Architecture Product Architecture Introdução Ambiente RedesdeTrabalho Configurações Políticas Servidores Componentes Agente Servidor Base de Dados Console Comunicação Console Servidor

Leia mais

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano

Informática Aplicada. Aula 2 Windows Vista. Professora: Cintia Caetano Informática Aplicada Aula 2 Windows Vista Professora: Cintia Caetano AMBIENTE WINDOWS O Microsoft Windows é um sistema operacional que possui aparência e apresentação aperfeiçoadas para que o trabalho

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

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira.

Faculdades Santa Cruz - Inove. Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Período letivo: 4 Semestre. Quinzena: 5ª. Faculdades Santa Cruz - Inove Plano de Aula Base: Livro - Distributed Systems Professor: Jean Louis de Oliveira. Unidade Curricular Sistemas Distribuídos Processos

Leia mais

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx

Conecta S_Line. 2.2 Downloads Para instalar o Conecta S_Line, basta acessar www.sline.com.br/downloads.aspx 1 Introdução O Conecta S_Line permite que o laboratório envie à Central S_Line os resultados de exames gerados pelo Sistema de Informação Laboratorial (LIS) em forma de arquivos digitais. Todo o processo

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

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

SAPENS - Sistema Automático de Páginas de Ensino

SAPENS - Sistema Automático de Páginas de Ensino SAPENS - Sistema Automático de Páginas de Ensino Eduardo Kokubo kokubo@inf.univali.br Fabiane Barreto Vavassori, MSc fabiane@inf.univali.br Universidade do Vale do Itajaí - UNIVALI Centro de Ensino Superior

Leia mais

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com

SISTEMAS OPERACIONAIS ABERTOS Prof. Ricardo Rodrigues Barcelar http://www.ricardobarcelar.com - Aula 2-1. PRINCÍPIOS DE SOFTWARE DE ENTRADA E SAÍDA (E/S) As metas gerais do software de entrada e saída é organizar o software como uma série de camadas, com as mais baixas preocupadas em esconder as

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

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

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 Processos- Clientes, Servidores, Migração Capítulo 3 Agenda Clientes Interfaces de usuário em rede Sistema X Window Software do lado cliente para

Leia mais

Marco A. M. de Melo e Fernando S. P. Gonçalves MANAGER

Marco A. M. de Melo e Fernando S. P. Gonçalves MANAGER Marco A. M. de Melo e Fernando S. P. Gonçalves MANAGER S.O.S BACKUP - MANAGER. Nenhuma porção deste livro pode ser reproduzida ou transmitida em qualquer forma ou por qualquer meio eletrônico ou mecânico,

Leia mais

Aplicativo para configuração da interface de celular ITC 4000

Aplicativo para configuração da interface de celular ITC 4000 MANUAL DO USUÁRIO Aplicativo para configuração da interface de celular ITC 4000 Este aplicativo roda em plataforma Windows e comunica-se com a ITC 4000 via conexão USB. Através do ITC 4000 Manager, o usuário

Leia mais

AULA 3 FERRAMENTAS E APLICATIVOS DE NAVEGAÇÃO, DE CORREIO ELETRÔNICO, DE GRUPOS DE DISCUSSÃO, DE BUSCA E PESQUISA (PARTE II)

AULA 3 FERRAMENTAS E APLICATIVOS DE NAVEGAÇÃO, DE CORREIO ELETRÔNICO, DE GRUPOS DE DISCUSSÃO, DE BUSCA E PESQUISA (PARTE II) AULA 3 FERRAMENTAS E APLICATIVOS DE NAVEGAÇÃO, DE CORREIO ELETRÔNICO, DE GRUPOS DE DISCUSSÃO, DE BUSCA E PESQUISA (PARTE II) A seguir vamos ao estudo das ferramentas e aplicativos para utilização do correio

Leia mais

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho

http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Prof. Ricardo César de Carvalho vi http://aurelio.net/vim/vim-basico.txt Entrar neste site/arquivo e estudar esse aplicativo Administração de Redes de Computadores Resumo de Serviços em Rede Linux Controlador de Domínio Servidor DNS

Leia mais

SSE 3.0. Guia Rápido. Módulo Secretaria. Nesta Edição

SSE 3.0. Guia Rápido. Módulo Secretaria. Nesta Edição SSE 3.0 Guia Rápido Módulo Secretaria Nesta Edição 1 Acessando o Módulo Secretaria 2 Cadastros Auxiliares 3 Criação de Modelos Definindo o Layout do Modelo Alterando o Layout do Cabeçalho 4 Parametrização

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

Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2

Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2 Preparando o Ambiente e Instalando o System Center Configuration Manager 2012 R2 Artigo escrito por Walter Teixeira wteixeira.wordpress.com Sumário Cenário Proposto... 3 Preparação do Servidor SQL Server

Leia mais

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS

DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS DESENVOLVIMENTO WEB UTILIZANDO FRAMEWORK PRIMEFACES E OUTRAS TECNOLOGIAS ATUAIS Emanuel M. Godoy 1, Ricardo Ribeiro Rufino 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil godoymanel@gmail.com,

Leia mais

User Manual Version 3.6 Manual do Usuário Versão 2.0.0.0

User Manual Version 3.6 Manual do Usuário Versão 2.0.0.0 User Manual Version 3.6 Manual do Usuário Versão 2.0.0.0 User Manual Manual do Usuário I EasyLock Manual do Usuário Sumário 1. Introdução... 1 2. Requisitos do Sistema... 2 3. Instalação... 3 3.1. Configurar

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

O sistema está pedindo que eu faça meu login novamente e diz que minha sessão expirou. O que isso significa?

O sistema está pedindo que eu faça meu login novamente e diz que minha sessão expirou. O que isso significa? Que tipo de navegadores são suportados? Preciso permitir 'cookies' O que são 'cookies' da sessão? O sistema está pedindo que eu faça meu login novamente e diz que minha sessão expirou. O que isso significa?

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

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 2 Computação em Nuvem Desafios e Oportunidades A Computação em Nuvem

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

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

Padrão ix. Q-Ware Cloud File Publisher Manual do Usuário QWCFP. Versão 1.2.0.1

Padrão ix. Q-Ware Cloud File Publisher Manual do Usuário QWCFP. Versão 1.2.0.1 Padrão ix Q-Ware Cloud File Publisher Manual do Usuário QWCFP Versão 1.2.0.1 Copyright 2000-2014 Padrão ix Sistemas Abertos Ltda. Todos os direitos reservados. As informações contidas neste manual estão

Leia mais

SISTEMAS DISTRIBUIDOS

SISTEMAS DISTRIBUIDOS 1 2 Caracterização de Sistemas Distribuídos: Os sistemas distribuídos estão em toda parte. A Internet permite que usuários de todo o mundo acessem seus serviços onde quer que possam estar. Cada organização

Leia mais

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados.

Qlik Sense Cloud. Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik Sense Cloud Qlik Sense 2.0.2 Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Copyright 1993-2015 QlikTech International AB. Todos os direitos reservados. Qlik, QlikTech,

Leia mais