19/05/2009
1
ASP.NETASP.NET
Módulo 1
ObjetivoObjetivo
• Mostrar os conceitos fundamentais da plataforma Microsoft .Net e suas ferramentas;
• Apresentar os conceitos fundamentais de aplicações web e seus elementos;
• Demonstrar de forma interativa o Visual Web Developer 2008.
19/05/2009
2
AgendaAgenda
• Visão Geral do .Net Framework– O que é?– Arquitetura– Linguagens– Ferramentas
• Comportamento de uma Aplicação Web– Arquitetura(Cliente/Servidor)– HTML– Linguagens de Cliente/Servidor
• Visual Web Developer 2008
.Net Framework .Net Framework –– O Que ÉO Que É
• É o novo modelo de desenvolvimento de software da Microsoft;– Construído em cima de padrões abertos– Atualmente, os dados estão disponíveis
através da internet, e não mais apenas no computador local.
19/05/2009
3
.Net Framework .Net Framework –– O Que ÉO Que É
Ferramentas de Desenvolviment
o
Clientes
Experiência do Usuário
Aplicações WEB ASP.NET
Web Services
XML
Bancos de Dados
ArquiteturaArquitetura
• A Arquitetura do .Net Framework é composta por linguagens, ambiente de execução, etc. Esta arquitetura
será detalhada a seguir.
19/05/2009
4
ArquiteturaArquitetura
• CLR – Common Language Runtime– Executa as aplicações .Net;– Interage com o Sistema Operacional;– Abstrai das aplicações .NET detalhes
obscuros do Sistema Operacional;– Torna possível que aplicações .NET sejam
indiferentes ao Hardware e Sistema Operacional.
ArquiteturaArquitetura
• MSIL – Microsoft Intermediate Language– O .Net Framework não está preso a uma
linguagem de programação específica;– O Código em MSIL é executado através do
CLR;– Sua utilização possibilita que artefatos
compilados em uma linguagem sejam utilizáveis pelas linguagens de programação que suportem o .Net Framework.
19/05/2009
5
ArquiteturaArquitetura
• Assembly– Biblioteca de código (utilizado para
disponibilização de aplicativos) (.dll);– Pode ser executável (.exe);– Utilizado para versionamento e segurança;
• O uso do assembly especifica qual a versão utilizada
ArquiteturaArquitetura
• Garbage collector– Gerenciamento de Memória automático;
• O desenvolvedor não é mais responsável por alocar e liberar memória;
• Evita erros ocasionados por gerenciamento de memória mal feito;
– Decide quando e se um objeto que não está mais sendo usado pode ser coletado.
19/05/2009
6
ArquiteturaArquitetura
• Vantagens– Viabiliza que softwares sejam construídos
independente de Hardware e de Sistema Operacional;
– É construído em cima de padrões abertos;– Possibilita que o desenvolvedor se foque na
solução do problema, e não em detalhes de como o problema pode ser resolvido.
Visual Studio 2008 e Visual Web Visual Studio 2008 e Visual Web DeveloperDeveloper 20082008
Web Forms, ASP.NET AJAX
Múltiplas Linguagens
Web Services, WCF
Acesso a Dados, LINQ
Tratamento de Erros
Windows Forms, WPF
19/05/2009
7
Visual Studio 2008 e Visual Web Visual Studio 2008 e Visual Web Developer 2008Developer 2008• Ambiente de Desenvolvimento oficial da
Microsoft;• Suporta as linguagens: C#, VB.Net, Visual
C++, Visual J#;• Possui ferramentas para construir
aplicações web, windows e Web Services XML.
Visual Studio 2008 e Visual Web Visual Studio 2008 e Visual Web DeveloperDeveloper 20082008• O Visual Web Developer 2008 é uma
versão free, porém, com menos recursos que o Visual Studio.– Requer um registro (sem encargos
financeiros) para uso por mais do que 30 dias.
19/05/2009
8
LinguagensLinguagens
• Todas as linguagens compatíveis com a Plataforma .Net fazem chamadas à Plataforma, não ao SO.
• Apesar de todas as linguagens compilarem para MSIL, as linguagens possuem características específicas;
• Algumas linguagens: VB.Net, C#, Delphi.Net.
LinguagensLinguagens
• Algumas linguagens suportadas pelo Visual Studio 2008– C#: Linguagem criada para uso com o .Net
Framework, evitando problemas e dificuldades encontradas em outras linguagens.
19/05/2009
9
LinguagensLinguagens
• Ex em C#using System;
namespace ConsoleApplication1{
class Program{
static void Main(string[] args){
Console.WriteLine("Olá.");}
}}
LinguagensLinguagens
• Ex em VB.NetModule Module1
Sub Main()Console.WriteLine("Olá.")
End Sub
End Module
19/05/2009
10
FerramentasFerramentas
• Windows Forms– Windows Forms é utilizado para construir
aplicativos em Janelas;– Estes aplicativos não precisam de um
navegador para ser executado;– Normalmente utilizado para aplicativos mais
robustos;– Ex: Calculadora, Word, Excel, etc
FerramentasFerramentas
• Web Forms:– Utilizado para a construção de Aplicativos
Web.– Estes aplicativos serão executados através
de um navegador web convencional.– Apresenta como vantagem a acessibilidade e
facilidade de atualização– Ex: hotmail, orkut
19/05/2009
11
FerramentasFerramentas
• Mobile– Utilizado para construir aplicativos que serão
executados em dispositivos móveis (PDAs, SmartPhones, etc);
– Dispositivos móveis são fáceis de carregar;
FerramentasFerramentas
• Web Services– Serviços disponibilizados através da Internet;– Podem ser utilizados independente da
linguagem– Utilizam XML para trafegar dados– Utilizado para fazer integração entre
aplicações distintas– Ex: Serviço de busca de cep dos correios
19/05/2009
12
FerramentasFerramentas
• Windows Services– Serviços que rodam no Sistema Operacional;– Provêm um conjunto de funcionalidades;– Serviços são gerenciáveis a partir do Painel
de Controle;– Ex: SQL Server, Oracle.
Comportamento de uma Aplicação Web
19/05/2009
13
Comportamento de uma Aplicação Comportamento de uma Aplicação WebWeb
• Arquitetura Cliente/Servidor– O Cliente faz uma requisição ao servidor;– O Servidor processa a requisição e retorna ao
cliente solicitante;– O Processamento de uma requisição pode
demandar que o Servidor se conecte a bases de dados, leia arquivos XML, se comunique com Web Services, etc.
Comportamento de uma Aplicação Comportamento de uma Aplicação WebWeb
Cliente
Servidor
Requisição
Resposta
XMLComponentes
Bancos
De
Dados
19/05/2009
14
HTMLHTML
• HTML– Linguagem de Marcação utilizada para dar
forma (definir como o conteúdo será apresentado) em páginas HTML;
– Composta por tags (ex<div>,<a>, etc);– Seu conteúdo é textual (pode ser editado no
bloco de notas, Word, Visual Studio, Dream Weaver, etc).
HTMLHTML
• Ex:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
<title>título da página</title></head><body>
Conteúdo do corpo da página</body></html>
19/05/2009
15
Linguagens de Cliente/ServidorLinguagens de Cliente/Servidor
• Logo que o desenvolvimento comercial de software passou a utilizar a Web, inúmeras linguagens e tecnologias surgiram para possibilitar a construção de aplicações web;
• A maior parte delas é composta por uma mescla de elementos HTML e elementos próprios da linguagem.
• Javascript– Linguagem de Script utilizada em sua maior
parte para prover dinamismo no lado cliente.– Mais utilizado para validação de páginas,
AJAX;– Pode estar em páginas html ou em arquivos
externos (normalmente .js)
19/05/2009
16
• Javascript– Ex:<script>
function exibirMensagem(msg) {alert(msg);
}</script>
• ASP (Active Server Pages – Microsoft, 1990)– Tecnologia que possibilita a construção de páginas
dinâmicas;– Utiliza <% e %> para separar código ASP dos outros
conteúdos da página;– Deve ser acessada através de requisições a um
Servidor Web (IIS – Microsoft Internet Information Services)
– Pode se comunicar com Bancos de Dados, etc durante sua etapa de processamento da página;
– Não utiliza terminador de instrução
19/05/2009
17
• ASP– Ex:
<html><body><%response.write("Olá!")%></body></html>
• PHP (Personal Home Pages – Rasmus Lerdof, 1994)– Tecnologia que possibilita a construção de páginas
dinâmicas;– Utiliza <?php e ?> para separar os trechos da página
que devem ser interpretados como código PHP;– Suporta Orientação a Objetos– Deve ser acessada através de requisições a um
servidor web que possua interpretador PHP instalado– Pode se comunicar com Bancos de Dados, etc
durante sua etapa de processamento da página;– Utiliza terminador de Instrução - ;.
19/05/2009
18
• PHP– Ex:
<html><body><?phpecho "Olá!";?></body></html>
• JSP (Java Server Pages – Sun Microsystems)– Tecnologia que possibilita a construção de páginas
dinâmicas;– Utiliza <% e %> para separar código JSP dos outros
conteúdos da página;– Utiliza a linguagem Java no bastidores;– Deve ser acessada através de requisições a um
Servidor Web que suporte Java;– Pode se comunicar com Bancos de Dados, etc
durante sua etapa de processamento da página;– Utiliza terminador de Instrução - ;.
19/05/2009
19
• JSP– Ex:
<html><body><%=response.write("Olá!")%>
</body></html>
• ASP.NET (Active Server Pages –Microsoft, 2000)– Evolução da Tecnologia ASP;– Baseado no .Net Framework;– Deve ser acessada através de requisições a
um Servidor Web (IIS – Microsoft Internet Information Services);
– Separação entre a página e o código (codebehind);
– Uma grande quantidade de componentes
19/05/2009
20
• ASP.NET (Active Server Pages –Microsoft, 2000)– Possibilita reutilizar assemblies criados com o
.Net Framework;– Possibilita que Componentes personalizados
(User Controls) sejam criados através dos componentes já existentes;
Visual Web Developer 2008Visual Web Developer 2008
• Ao longo do curso, utilizaremos para desenvolver aplicações web, o Visual Web Developer 2008.– Disponível para download no site
• http://www.microsoft.com/express/vwd/
– Não requer licença para uso, apenas registro por parte do utilizador.
19/05/2009
21
Atividade de apoioAtividade de apoio
Conhecendo o Visual Web Developer 2008.
Visual Web Developer 2008
• Recent Projects– Esta janela exibe os últimos
projetos utilizados pelo usuário;
– Sempre que um projeto é criado ou aberto, ele será referenciado nesta janela;
– Para abrir um projeto desejado, basta clicar duas vezes no nome do projeto ou pressionar <enter>;
– Estar listado na janela não impede que um projeto seja excluído.
19/05/2009
22
Visual Web Developer 2008
• MSDN– Esta janela exibe as
últimas notícias, novidades, atualizações, tutoriais, etc disponibilizados no MSDN;
Visual Web Developer 2008
• Getting Started– Esta janela sugere os passos
iniciais para quem não possui muita experiência com a ferramenta;
19/05/2009
23
Visual Web Developer 2008
• Criação de Web Site– Para criar um Web Site,
acesse o menu File > New Web Site ...
– A Janela ao lado será exibida
– Em Templates, selecione ASP.NET Web Site; em Location, especifique onde o Web site será salvo; Language selecione Visual C#.
Visual Web Developer 2008
• Solution Explorer– Esta janela exibe os detalhes
estruturais do projeto que está aberto.
19/05/2009
24
Visual Web Developer 2008
• Solution Explorer– Esta janela exibe os detalhes
estruturais do projeto que está aberto.
Visual Web Developer 2008
• Class View– Exibe as Classes que estão
no escopo do Projeto
19/05/2009
25
Visual Web Developer 2008
• Server Explorer– Permite Explorar os
Servidores que estão cadastrados no VWD.
Visual Web Developer 2008
• Toolbox– Contém os controles que
podem ser adicionados às Páginas.
19/05/2009
26
Visual Web Developer 2008
• Error List– Contém os erros encontrados pelo VWD 2008. Estes
erros podem incluir erros em páginas, códigos com erro, etc;
– Esta janela pode ser exibida / ocultada a partir do menu View > Error List
Visual Web Developer 2008
• Output– Saída textual que pode ser utilizada pelos
desenvolvedores para escrever valores;– Utilizado em tempo de Desenvolvimento;– Esta janela pode ser exibida / ocultada a partir do
menu View > Output
19/05/2009
27
Visual Web Developer 2008
• Find Results– Exibe os resultados de busca, feitos através de
alguma das opções disponíveis no menu Edit > Find and Replace
Visual Web Developer 2008
• Immediate Window• Permite ao desenvolvedor interagir com a
aplicação que está em execução;• Esta interação possibilita que testes sejam
feitos.
19/05/2009
28
Visual Web Developer 2008
• Janela de Design– É nesta janela onde a página é projetada e construída;– Para incluir um componente, o selecione na Toolbox e
o solte no local desejado na página.
Visual Web Developer 2008
• Janela de Código– Exibe o código da página;
– Pode ser utilizado para modificar o conteúdo da página;