You are on page 1of 7

Técnicas de Programação para a Web

Luiz Cláudio Silva


Novembro 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

1
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

2
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

3
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)

4
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

5
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”)

6
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.

You might also like