View
111
Download
2
Category
Preview:
Citation preview
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;
Recommended