academia de ensino superior prof. andré morais desenvolvimento de aplicações web na plataforma...
TRANSCRIPT
Academia de Ensino SuperiorProf. André Morais
Desenvolvimento de Aplicações Web na
plataforma Microsoft
Apresentação
Academia de Ensino SuperiorProf. André Morais
Sobre a disciplina• 2 Avaliações semestrais + substitutiva
• 2 trabalhos semestrais
• Critério dos trabalhos (*)
• Bibliografia– HART, CHRIS KAUFFMAN, JHON SUSSMAN, DAVID ULLMAN,
CHRIS - BEGINNING ASP.NET 2.0 WITH C#: WILEY, 2006
• Ferramentas complementares– Fórum/chat– Exercícios– Email
Academia de Ensino SuperiorProf. André Morais
Sobre a disciplina
• Tópicos
– Introdução ao ASP;
– HTML
– Server controls
– GUI
– Eventos
– Usando controles de banco de dados
– Trabalhando com XML
Academia de Ensino SuperiorProf. André Morais
A Internet
Academia de Ensino SuperiorProf. André Morais
O que é a Internet?
• “Rede de redes”
• Não há controle centralizado
• Não há gerência
• Acesso instantâneo e de baixo custo
• Comunicação entre todos os pontos da rede
Academia de Ensino SuperiorProf. André Morais
Histórico
• 1969 - ARPANET: 4 computadores conectados
• 1972 - Primeiro email criado
• 1973 – Desenvolvimento do protocolo TCP/IP
• 1982 – Termo Internet usado pela primeira vez
• 1983 – Desenvolvimento do primeiro DNS (Utilização de URLs)
• 1990 – Criação do hipertexto; ARPANET cai em desuso
• 1993 – Criação do MOSAIC
Academia de Ensino SuperiorProf. André Morais
Histórico
• 1994 - World Wide Web Consortium (W3C)
• 1995 – Internet entrega mais mensagens do que o US Post Office
• 1996 – Número de computadores na Internet dobram a cada 12 meses
• 2000 – Marca de 185 países conectados
• 2003 – Pela primeira vez ouve-se o termo Web 2.0
Academia de Ensino SuperiorProf. André Morais
Hierarquia
• Todo computador conectado faz parte da rede
Academia de Ensino SuperiorProf. André Morais
Ponte
• Roteadores determinam para onde enviar a informação.
• Ele garante que a informação:
– Não vá onde não necessita;
– Vá ao destinatário correto
Academia de Ensino SuperiorProf. André Morais
Backbone
• Backbones (espinha-dorsal) são meios físicos de conectar redes à altas velocidades;
• São tipicamente feitos com fibra ótica;
• Muitas companhias possuem um backbone próprio
Academia de Ensino SuperiorProf. André Morais
Internet Protocol: Endereço IP
• Toda máquina na internet possui um único número, chamado endereço IP;
• Este é um típico endereço IP:– 216.27.61.137
• O mesmo número em notação binária:– 11011000.00011011.00111101.10001001
• Ips reservados: 0.0.0.0 e 255.255.255.255
Academia de Ensino SuperiorProf. André Morais
Internet Protocol: DNS
• DNS (Domain Name System) é a forma pelo qual se identifica um endereço por um nome “human-like”;
• Mapeamento de nomes X endereço IP
Academia de Ensino SuperiorProf. André Morais
Uniform Resource Locators
• URL (Uniform Resource Locators) é a notação utilizada para especificar informações do domínio.
Academia de Ensino SuperiorProf. André Morais
Cliente e Servidor
• Toda máquina na rede pode ser hora cliente, hora servidor;
• As máquinas que provem serviço são servidoras
• E as máquinas que se conectam a este serviço são clientes;
Academia de Ensino SuperiorProf. André Morais
Páginas dinâmicas
Academia de Ensino SuperiorProf. André Morais
Servidor Web
• Processo básico:
Academia de Ensino SuperiorProf. André Morais
Mecanismo CGI
• Padrão para atendimento de requisição
• Tratado e executado no servidor
Academia de Ensino SuperiorProf. André Morais
CGI: Exemplo
#include <stdio.h> int main() { printf("Content-type: text/html\n\n"); printf("<html>\n"); printf("<body>\n"); printf("<h1>Hello there!</h1>\n"); printf("</body>\n"); printf("</html>\n"); return 0; }
Academia de Ensino SuperiorProf. André Morais
CGI: Exemplo
<html> <body> <h1>Hello there!</h1> </body> </html>
Academia de Ensino SuperiorProf. André Morais
Form: Envio de dados
• Toda informação que deve ser transmitida pelo usuário para o servidor deve ser feita através de formulários
• Exemplos:
– Usuário/senha;
– Sites de busca (google);
– Cadastro de usuário
Academia de Ensino SuperiorProf. André Morais
Form: Exemplo
Academia de Ensino SuperiorProf. André Morais
Form: Exemplo
#include <stdio.h> #include <stdlib.h> int main() { printf("Content-type: text/html\n\n"); printf("<html>\n"); printf("<body>\n"); printf("<h1>O nome informado foi: ") printf("%s</h1>\n", getenv("QUERY_STRING")); printf("</body>\n"); printf("</html>\n"); return 0; }
Simpleform.cgi
Academia de Ensino SuperiorProf. André Morais
Arquitetura de Aplicações
Academia de Ensino SuperiorProf. André Morais
Arquitetura de Aplicações
• Necessidades Atuais– Produtividade no desenvolvimento (desde a
concepção à implantação);– Agilidade na manutenção;– Integração com sistemas legados;– Escalabilidade;– Redução do custo de produção, treinamento e
suporte ao usuário;– Agilidade e baixo custo na atualização de
versões;– Segurança.
Academia de Ensino SuperiorProf. André Morais
Arquitetura de Aplicações
• Arquitetura de Aplicações define a organização estática dos sistemas aplicativos em um alto nível;
• Boas arquiteturas são tolerantes a mudanças;
Academia de Ensino SuperiorProf. André Morais
Mainframe
• Características– Processamento centralizado;– Terminais Burros;– Redes de comunicação lentas.
• Metodologia de Desenvolvimento– Linguagem Cobol;– Bancos de dados hierárquicos, rede e
"relacional";– Análise Estruturada Clássica.
Academia de Ensino SuperiorProf. André Morais
Mainframe• Características das Aplicações
– Aplicações corporativas batch e on-line e com até poucos milhares de usuários;
– Aplicações com interface com o usuário baseada em caracteres.
• Vantagens– Facilidade de gerência da segurança;– Facilidade de gerência de usuários;– Facilidade de gerência de aplicações;– Facilidade de integração de sistemas.
• Desvantagens– Processamento centralizado permitindo apenas escalabilidade vertical;– Alto custo (milhões de dólares/ano);– Arquiteturas de hardware, software e comunicação totalmente
proprietárias levando à dependência do fornecedor;– Interface com o usuário limitada, baseada em caractere;– Usuário sem autonomia.
Academia de Ensino SuperiorProf. André Morais
Aplicações em rede• Características
– Servidores de serviços compartilhados (ex. arquivos, impressão) com boa capacidade de processamento;
– Estações de trabalho com bom poder de processamento com aplicações locais, interface gráfica;
– Redes com boa velocidade (10, 100 Mbps).
• Metodologia de Desenvolvimento– Linguagens Clipper, Pascal, Cobol;– Gerenciamento de arquivos específico das linguagens;
Academia de Ensino SuperiorProf. André Morais
Aplicações em rede• Características das Aplicações
– Aplicações departamentais on-line com até dezenas de usuários;– Aplicações com interface com o usuário baseada em caracteres,
mas com mais recursos visuais e processamento local;– Aplicações acessam servidor através de mapeamento de
unidades de disco ou protocolos proprietários.
• Vantagens– Processamento espalhado permitindo o uso de aplicações nas
estações;– Servidores e estações de baixo custo;– Arquiteturas de software e comunicação proprietárias mas com
recursos de integração entre plataformas;– Interface com o usuário montada localmente e com recursos
gráficos;– Usuário com autonomia total.
Academia de Ensino SuperiorProf. André Morais
Aplicações em rede
• Desvantagens– Dificuldade de gerência da segurança;– Dificuldade de gerência de usuários;– Dificuldade de gerência de aplicações;– Dificuldade de integração de sistemas;– Aplicações são executadas nas estações
de forma independente, podendo acessar arquivos no servidor, mas sobrecarregando muito a rede.
Academia de Ensino SuperiorProf. André Morais
Aplicações Cliente-Servidor
• Características– Aplicações divididas em dois módulos: o cliente e o servidor;– Cliente e servidor comunicam-se através de protocolos de
comunicação proprietários voltados para serviços;
• Metodologia de Desenvolvimento– Linguagens Delphi, Visual Basic, etc;– Servidores de Banco de Dados Relacional;– Análise Essencial e Orientada a Objetos.
• Características das Aplicações– Aplicações departamentais on-line e com até dezenas de
usuários;– Aplicações com interface gráfica com o usuário.
Academia de Ensino SuperiorProf. André Morais
Aplicações Cliente-Servidor
• Vantagens– Diminuição do tráfego na rede.
• Desvantagens– Dificuldade de gerência da segurança;– Dificuldade de gerência de usuários;– Dificuldade de gerência de aplicações;– Dificuldade de integração de sistemas;– Aplicações são executadas nas estações de
forma independente, podendo acessar serviços no servidor, mas sobrecarregando muito a rede.
Academia de Ensino SuperiorProf. André Morais
Três camadas
• Consiste em três camada de software.
• Camada de Interface– Responsável pela interface com o usuário.
• Camada de Regra de Negócio– Responsável pela regra de negócio.
• Camada de Dados– Responsável pelo acesso aos dados
(normalmente em banco de dados).
Academia de Ensino SuperiorProf. André Morais
Multicamadas
• Possui as três camadas anteriores com a adição de subcamadas na camada de regra de negócio, normalmente para a integração com sistemas legados.
• Desvantagens– Maior dificuldade de implementação.
• Vantagens– Grande facilidade de gerência de segurança;– Grande facilidade de gerência de aplicações;– Grande facilidade de gerência de usuários;– Grande facilidade de integração de sistemas: administração de componentes;– Independência de banco de dados;– Grande escalabilidade horizontal através da criação de clusters de servidores de
aplicação;– Boa performance;– Maior flexibilidade para a estruturação da arquitetura da aplicação;– Maior flexibilidade para incorporar o uso de outras tecnologias.
Academia de Ensino SuperiorProf. André Morais
Case
Academia de Ensino SuperiorProf. André Morais
Vamos analisar...• Proponha uma arquitetura e descreva o cenário para a utilização de cada uma das
necessidades abaixo:
– Sistema de estoque;
– Pagamento de crediário;
– Portal corporativo (intranet);
– Web-site empresarial;
– E-commerce;
– Sistema de operação de tanques de combustível;
– ERP;
– Aplicação interna (reembolso de despesas, cadastro em cursos, apontamento de horas, etc.)
– Sistema de gerenciamento bancário;