asd-WWW
Transcrição
asd-WWW
10/6/2013 World Wide Web e Aplicações Módulo H O que é a WWW Permite a criação, manipulação e recuperação de informações Padrão de fato para navegação, publicação de informações e execução de transações na Internet ou em Intranets Coleção disponível, distribuída de documentos e páginas com abrangência mundial Informações apresentadas através de interfaces gráficas intuitivas: popularidade da própria Internet Ferramenta de software na qual o Comércio Eletrônico está baseado 1 10/6/2013 Arquitetura básica da Web HTML Recursos Browser Externos Rede TCP/IP Browser HTTP Páginas Programas Web CGI Browser Sevidor Web Clientes Web • NOS • TCP/IP Arquitetura Web Três padrões / protocolos básicos HTML Hypertext Markup Language Padrões para formatação e hyperlink HTTP - Hypertext Transport Protocol protocolo de comunição para interação cliente-servidor CGI - Common Gateway Interface interface para programas externos (não Web) 2 10/6/2013 Uma Transação HTTP 1 Pedido Resposta Browser Web (Netscape Navigator, MS Explorer, Hot Java) 2 Servidor Web (NCSA Server, MS Information Server, CERN Server, Apache) Páginas X Aplicações na Web Problema: HTML é limitada a exibição estática Formulários nos clientes permitem a transmissão de dados junto com uma requisição HTML Solução no cliente Pequenos programas e animações simples executando no browser JavaScript, Vbscript, Gifs animadas, flash…. Execução no servidor Páginas Web realmente dinâmicas são geradas para cada acesso Útil para consultas / atualização de banco de dados Métodos para interação com banco de dados via Web: common gateway interface (CGI) database gateways Estes métodos funcionam como middleware para aplicações cliente-servidor sobre a Web 3 10/6/2013 Abordagens para o desenvolvimento de páginas dinâmicas Todo processamento no servidor Recebe as requisições do cliente Executa o processamento necessário para criar a página Web dinamicamente Envia a página recém gerada para exibição pelo browser cliente Algum processamento no cliente Para formar a requisição a ser enviada para o servidor (ex.: crítica de dados) Para criar ou exibir a página dinâmica enviada em resposta Tecnologias disponíveis para a criação de páginas dinâmicas Tecnologias de processamento de dados na Web Processamento / Lado do servidor Programas compilados Processamento / Lado do cliente Scripts / Interpretados CGI (C, C++, Java, etc.) Java Servlets ASP.NET CGI (Perl) Microsoft Active Server Pages (ASP) Could Fusion Apache Software Foundation PHP Híbridos Java Server Pages (JSP) - script + compilado + Java Beans ASP.NET Programas compilados Active X (Intranet) Java Applets Scripts / Interpretados Java Script VBScript Banco de Dados 4 10/6/2013 Processamento no Servidor - Básico Common Gateway Interface (CGI) protocol Método para a comunicação entre um formulário HTML e um programa servidor Programa: Perl, C, C++, Java, VisualBasic, etc. Passagem de informações entre servidor Web e programa é feita por variáveis de ambiente Desvantagem: cada formulário submetido dispara uma cópia do programa diferente consumo de processador e memória CGI (Common Gateway Interface) 3 2 4 variáveis de ambiente CGI dados do formulário Programa ou script CGI HTML submissão 1 do formulário documento HTML 8 7 HTML Servidor Web 6 transação de banco de dados 5 Servidor de Banco de Dados 5 10/6/2013 Processamento no Servidor Soluções para o problema de se iniciar uma cópia do programa a cada requisição Permitem o controle de instâncias diferentes dos programas a serem executados (compilados ou scripts) Netscape - Netscape Service Application Programming Interface (NSAPI) Microsoft - Internet Server Application Programming Interface (ISAPI) Persistent CGI (Zope open source web server) FastCGI (extensões para vários Webservers) Java Servlet Interface Processamento no Servidor Scripts – programas interpretados no servidor a cada requisição de cliente Exemplos de tecnologias que usam esta aboradgem (além de CGI + Perl...) Cold Fusion (.cfm) Microsoft Active Server Pages (.asp) Apache PHP (.php) LiveWire (Netscape Web Server) JScript (Microsoft Web Servers/ ASP) Programas Compilados – código de máquina executado diretamente pela CPU Exemplos de tecnologias que usam esta abordagem (além de CGI + C, C++, Java, VisualBasic, etc.) Java Servlets ASP.NET 6 10/6/2013 Processamento no cliente - Scripts Criar páginas dinâmicas e interativas na Web necessário suporte no browser (normalmente de terceiros) resultado pode ser diferente de browser para browser Sript enviando embutido no texto HTML Controle de objetos, conteúdo da página, mapas de imagem Crítica e autenticação de dados no cliente Exemplos: VBScript, JavaScript Processamento no Cliente – Compilados Podem ser programas auto-contidos Podem fazer acesso direto ao banco de dados (sem usar HTTP ou servidores Web) Java Applets (Sun) Applet: um programa Java que executa no browser Browsers geralmente contém uma Máquina Virtual Java para execução de Applets Applets são geralmente pequenos para download e execução Componentes ActiveX (Micrsoft) - .NET aplicação auto-contida oferece uma interface para interação (e.x.: textbox, listbox) acesso ao sistema nativo (bom para Intranets, mas e para a Internet?) Problema de segurança via código malicioso 7 10/6/2013 Processamento no cliente - Applets Arquivo 1 .java compilador Browser 2 Arquivo .class 7 Interpretador específico HTML + Applet Repositório de Applets 6 Sistema Operacional 4 5 Pedido Servidor Web Modelo Utilizando Java Applets e CGI Applet Java 1 Pedido HTTP Resposta+Applet 2 3 Variáveis de Submissão formulário 4 ambiente CGI Cliente Resposta HTTP Resposta 5 6 Programa ou scrpit CGI Servidor 8 10/6/2013 Modelo Utilizando Java Applets / Servlets e acesso direto ao BD 1 4 Pedido HTTP Browser Interpretador específico Resposta+Applet 2 Servlet Submissão formulário 3 HTML Sistema Operacional Resposta HTTP 9 5 Invocação direta e passagem de parâmetros 8 Servidor Web 7 transação de banco de dados 6 Invocação de Método Remoto (RMI) Resposta 11 Programa (servidor)Java 10 Servidor de Banco de Dados Mantendo estado na Web Muitas aplicações requerem que uma série de interações sejam completadas para concretizar uma transação. O estado da aplicação deve ser mantido entre as interações. Exemplo – caixa eletrônico o número da conta e a senha tem que ser “lembrados” durante toda a sessão A Web foi desenvolvida como um ambiente que não registra estado a conexão entre browser e servidor é terminada quando a carga da página termina o servidor não tem “memória” do que ele transmitiu Como fazer para realizar uma operação bancária ou uma compra virtual através da Web ? 9 10/6/2013 Mantendo o estado - Cookies Pequenos arquivos texto Conteúdo: URL do servidor, número de ID, outros códigos Criado pelo servidor Web; armazenado no Web browser Windows cria uma pasta “cookies” Uso de cookies: personalização do site: ID do usuário, disponibilização de conteúdo específico rastreamento do Web site: quem visitou, que páginas eles acessaram no site marketing direto: anúncios baseados no perfil do usuário, rastreia anúncios já exibidos sistemas de pedido on-line – memorizar o conteúdo do carrinho de compras, etc. Diretivas para desenvolvimento de aplicações Web Processamento local / cliente Bom proporciona respostas mais rápidas aumenta a escalabilidade do sistema Ruim pode aumentar o tempo de resposta para o carregamento de uma página Web aumenta o tráfego na rede Utilização de processamento no servidor para respostas conforme o cliente Estudo do equilíbrio para cada caso (depende um pouco da plataforma) 10
Documentos relacionados
Sistemas de Informação para a Web - INESC
necessidade de estender a funcionalidade dos servidores Web de forma flexível e extensível. O objectivo era que o servidor providenciasse um interface simples que quaisquer outros processos pudesse...
Leia mais