Tecnologia para Web Enrique P. L. de Oliveira [email protected] Agenda O que é a Internet? Principais serviços oferecidos pela Internet Histórico da Internet O que é uma aplicação Internet? Tipos de aplicações Internet Como aplicações Web funcionam? Quais são as possibilidades na Web? Vantagens e desvantagens das aplicações Web Plataformas de desenvolvimento Web O que é a Internet? “Rede mundial de computadores.” “A Internet é uma rede de redes em escala mundial de milhões de computadores.” “É um conjunto de redes de computadores interligadas entre si e que se comunicam através de uma família de protocolos comuns.” Principais serviços oferecidos pela Internet Protocolo Serviço World Wide Web HTTP Correio Eletrônico SMTP / POP / IMAP Troca de Arquivos FTP Mensagem Instantânea Sockets Histórico da Internet 1969: a ARPANET é criada devido a interesses militares; 1973: a DARPA (Defense Advanced Research Projects Agency) dos EUA inicia um programa de pesquisa para investigar técnicas e tecnologias para interligar redes de vários tipos. Este programa foi chamado de Projeto Internetting e as redes que surgiram a partir dessa pesquisa foram chamadas de Internet; 1986: a NSF (National Science Foundation) dos EUA inicia o desenvolvimento da NSFNET, que hoje é o maior backbone da Internet; 1986: A NASA contribui com um backbone adicional chamado NSINET; 1980’s: surge o protocolo TCP/IP; 1990’s: acontece a popularização da Internet. O que é uma aplicação Internet? Uma aplicação Internet é qualquer aplicação que usa a Internet de alguma forma. Aplicações Web são um dos quatro tipos de aplicações Internet que podemos criar, a seguir temos um overview desses tipos. Tipos de aplicações Internet Aplicações Web: estas aplicações fornecem conteúdo de um servidor para os computadores clientes através da Internet; Web Services: estes componentes proporcionam o processamento de serviços de um servidor para outras aplicações através da Internet; Aplicações Conectadas: estas são aplicações stand-alone que incorporam aspectos da Internet para proporcionar ao usuário atualizações, ajuda ou outros serviços online; Aplicações ponto-a-ponto: estas são aplicações standalone que usam a Internet para se comunicar com outros usuários executando sua instância da aplicação. Como funcionam aplicações Web? Aplicações Web usam a arquitetura cliente/servidor. As aplicações residem em um servidor e respondem requisições de múltiplos clientes, como mostra a figura: Como funcionam aplicações Web? Cliente A aplicação Web é hospedada por um browser; A interface da aplicação assume a forma de páginas HTML que são interpretadas e exibidas pelo browser do cliente; Servidor A aplicação Web roda sob um servidor de aplicações Web como o Microsoft Internet Information Services (IIS); O servidor de aplicações Web passa as requisições dos clientes para as aplicações e encaminha as respostas das aplicações para os clientes. Como funcionam aplicações Web? Como funcionam aplicações Web? Web Site Tradicional versus Aplicação Web Aplicações Web são muito semelhantes a Web sites tradicionais; Aplicações Web: as páginas entregues aos usuários são construídas dinamicamente por um executável; Web sites tradicionais: as páginas entregues aos usuários são páginas estáticas armazenadas no servidor. Quais são as possibilidades na Web? Coletar informações do usuário e armazenar essas informações no servidor; Realizar cálculos complexos; Recuperar informações de um banco de dados; Identificar um usuário específico e apresentar uma interface customizada para aquele usuário; Apresentar informações altamente voláteis, como pedidos pendentes e faturamento; Vantagens de aplicações Web Distribuição das aplicações Atualização das aplicações Browser + conexão Internet Dispensa a instalação no cliente Centralizada Instantânea Não é necessário um supercomputador para executar as aplicações Desvantagens de aplicações Web A experiência do usuário é pobre se comparada com aplicações desktop Drag-and-Drop Número de controles é limitado Baixa produtividade no desenvolvimento É necessária grande quantidade de scripts de cliente (JavaScript) para melhorar a experiência do usuário JavaScript é uma linguagem pobre e possui um ambiente de desenvolvimento e depuração bastante limtado Plataformas de desenvolvimento Web ASP.NET Java PHP CGI Perl