Desenvolvimento de Aplicações Web na plataforma Microsoft

36
Academia de Ensino Superior Prof. André Morais Desenvolvimento de Aplicações Web na plataforma Microsoft Apresentação

description

Desenvolvimento de Aplicações Web na plataforma Microsoft. Apresentação. Sobre a disciplina. 2 Avaliações semestrais + substitutiva 2 trabalhos semestrais Critério dos trabalhos (*) Bibliografia - PowerPoint PPT Presentation

Transcript of Desenvolvimento de Aplicações Web na plataforma Microsoft

Page 1: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

Desenvolvimento de Aplicações Web na

plataforma Microsoft

Apresentação

Page 2: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 3: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 4: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

A Internet

Page 5: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 6: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 7: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 8: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

Hierarquia

• Todo computador conectado faz parte da rede

Page 9: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 10: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 11: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 12: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 13: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

Uniform Resource Locators

• URL (Uniform Resource Locators) é a notação utilizada para especificar informações do domínio.

Page 14: Desenvolvimento de Aplicações Web na plataforma Microsoft

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;

Page 15: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

Páginas dinâmicas

Page 16: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

Servidor Web

• Processo básico:

Page 17: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

Mecanismo CGI

• Padrão para atendimento de requisição

• Tratado e executado no servidor

Page 18: Desenvolvimento de Aplicações Web na plataforma Microsoft

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; }

Page 19: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

CGI: Exemplo

<html> <body> <h1>Hello there!</h1> </body> </html>

Page 20: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 21: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

Form: Exemplo

Page 22: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 23: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

Arquitetura de Aplicações

Page 24: Desenvolvimento de Aplicações Web na plataforma Microsoft

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.

Page 25: Desenvolvimento de Aplicações Web na plataforma Microsoft

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;

Page 26: Desenvolvimento de Aplicações Web na plataforma Microsoft

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.

Page 27: Desenvolvimento de Aplicações Web na plataforma Microsoft

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.

Page 28: Desenvolvimento de Aplicações Web na plataforma Microsoft

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;

Page 29: Desenvolvimento de Aplicações Web na plataforma Microsoft

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.

Page 30: Desenvolvimento de Aplicações Web na plataforma Microsoft

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.

Page 31: Desenvolvimento de Aplicações Web na plataforma Microsoft

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.

Page 32: Desenvolvimento de Aplicações Web na plataforma Microsoft

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.

Page 33: Desenvolvimento de Aplicações Web na plataforma Microsoft

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

Page 34: Desenvolvimento de Aplicações Web na plataforma Microsoft

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.

Page 35: Desenvolvimento de Aplicações Web na plataforma Microsoft

Academia de Ensino SuperiorProf. André Morais

Case

Page 36: Desenvolvimento de Aplicações Web na plataforma Microsoft

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;