técnicas de programação para a web
Post on 27-Jun-2015
3.531 Views
Preview:
TRANSCRIPT
1
Técnicas de Programação para a Web
Luiz Cláudio SilvaNovembro de 2005
Apresentação
• Objetivos Gerais
– Identificar os diversos modelos de funcionamento de uma aplicação Web
– Citar as caracterísitcas de uma aplicação Web, suas vantagens e desvantagens
– Utilizar HTML, JavaScript e CSS na criação de páginas– Utilizar recursos básicos de Servlets para a criação de
aplicações Web– Utilizar recursos básicos de JSP para a criação de
aplicações Web– Utilizar o modelo MVC 2 para a criação de aplicações Web
2
Apresentação
• Sumário de Tópicos– Conceitos Gerais sobre Aplicações Web– Criação de Páginas (revisão)– Servlets– JSP– Modelo MVC 2
• Metodologia– Aula expositiva
– Prática dirigida
Apresentação
• Infra-estrutura– Java (J2SE SDK)– Tomcat – HSQLDB (drive JDBC)
– Editores de texto
• Avaliação– Trabalho Final
3
Conceitos Gerais
• Funcionamento da Web
– Sistema distribuído: clientes e servidores– Protocolo definido: HTTP (aplicação TCP/IP)– Modelo de comunicação síncrono: requests e responses– Tipo básico de arquivo: HTML (JavaScript ? CSS ? XHTML
?)– Outros tipos de arquivos: texto e binários (MIME)
– Organização hierárquica de arquivos (diretórios)
Conceitos Gerais
• Páginas Estáticas
– HTML, JavaScript, CSS e recursos de animação (Flash, Applets, ActiveX e outros)
– Conteúdo gerado diretamente de arquivos armazenados– Páginas estáticas ou dinâmicas (DHTML) ?– 2 camadas: navegador e servidor HTTP
4
Conceitos Gerais
• Páginas Dinâmicas (Integração por CGI)
– HTML, JavaScript, CSS e recursos de animação (Flash, Applets, ActiveX e outros)
– Conteúdo gerado por chamadas a programas executáveis ou interpretados utilizando CGI (Common Gateway Interface)
– Programas executáveis: C, C++, outros– Programas interpretados: UNIX Shell (bahs, ksh, etc.), Perl,
Python, Ruby, outros– 2 ou 3 camadas: navegador, servidor HTTP e servidor BD
(nem sempre)
Conceitos Gerais
• Páginas Dinâmicas (Pré-processamento pelo Servidor HTTP)
– HTML, JavaScript, CSS e recursos de animação (Flash, Applets, ActiveX e outros)
– Conteúdo gerado pelo processamento de arquivos “mistos”: HTML, JavaScript, CSS e, também, linguagem de programação (código fonte) e/ou Server-Side Includes (SSI)
– Funcionamento: chamadas a interpretadores ou uso de extensões do servidor HTTP (CGI “encapsulado”)
– Linguagens mais usadas: ASP, PHP, JSP– 2 ou 3 camadas: navegador, servidor HTTP e servidor BD (nem
sempre)
5
Conceitos Gerais
• Páginas Dinâmicas (Servidor HTTP + Servidor de Aplicação)
– HTML, JavaScript, CSS e recursos de animação (Flash, Applets, ActiveX e outros)
– Conteúdo gerado por chamadas a servidores de aplicação (padrão definido pelo fabricante)
– Padrões mais utilizados: Java Servlets, DLL (MS IIS) e MS .Net– 3 ou 4 camadas: navegador, servidor HTTP, servidor de aplicação
e servidor BD (nem sempre)– Alguns servidores de aplicação também atuam como servidores
HTTP (ou vice-versa)– Pode haver uma camada a mais: servidor de objetos distribuídos
(Java RMI, J2EE EJB, MS DCOM, MS .Net, CORBA)
Conceitos Gerais
• Plataformas Proprietárias (Exemplos)
– Quem não é ?– Cold Fusion– Zope– Lotus Notes
6
Conceitos Gerais
• Vantagens das Aplicações Web
– Manutenção e administração centralizada– Liberdade de tráfego por firewalls: porta 80 TCP– Pouco processamento do lado do cliente (será ?)– Pouca exigência de padronização no cliente (será ?)
Conceitos Gerais
• Desvantagens das Aplicações Web
– Interface “pobre” (será ?)– Dificuldade em controlar o contexto e a navegação– Muito processamento do lado do servidor: máquinas mais
caras– Aumento de tráfego na rede (comparado a aplicações
“desktop”)
7
Conceitos Gerais
• Balanço Final
– Web: tecnologia de sucesso (viva Tim Berners-Lee !!!)– Amplamente utilizada: Internet, Intranet, Extranet– Escalável: do web server pessoal até o Google– Padrão para desenvolvimeto de aplicações corporativas
(incentivo dos grandes fornecedores)– Emprego ultrapassando o previsto: configuração de
software, programação de dispositivos, WBEM, WebDAV, Web Services, etc.
Conceitos Gerais
• Web Services
– Modelo aberto para a integração de aplicações (RPC ?)– Infra-estrutura baseada em HTTP: conhecida, extensível
(cabeçalho) e sem problemas com firewalls– Uso de XML para definição dos protocolos– SOAP (Simple Object Access Protocol): troca de mensagens– WSDL (Web Services Description Language): descrição do
funcionamento– UDDI (Universal Description, Discovery and Integration): diretório e
busca– Padrões WS-I (Web Services-Interoperability Organization):
controle de acesso, segurança, BPM, etc.
top related