Desenvolvimento Web com Asp NET

Download Report

Transcript Desenvolvimento Web com Asp NET

Microsoft ASP.NET:
®
Desenvolvimento Web com
ASP .NET
ASP.NET: Projetando e
Desenvolvendo aplicações
comerciais em ambiente
Web
®
Microsoft Corporation
Deric F. Ferreira
MCTS - MCP
O que iremos abordar






Definição de Aplicativos comerciais
O que é ASP .NET
Usaremos o Time Tracker como um
exemplo de aplicação comercial
Opções de Projeto e Tecnologia
Técnicas de Desenvolvimento
Projeto e Implementação de Segurança
em Intranet
Por que este tema?
Incentivo ao uso da Tecnologia .NET
 Mercado amplo para desenvolvedores
 Visão geral das melhores práticas para

 Arquitetura
de aplicações
 Desenvolvimento
Conceitos chave e facilidades da
tecnologia ASP.NET e .NET Framework
 Apresentar o Kit de estudos disponível
em: http://www.asp.net

Agenda










Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
ASP .NET AJAX
Introdução
O ASP .NET e as aplicações
comerciais



O que é um aplicativo comercial?
O Time Tracker permite aos usuários
gerenciar as horas trabalhadas em
determinado projeto
Permite ao Gerente monitorar a situação
do Projeto



Por Usuário
Por Projeto
Permite ao Administrador genenciar
contas de usuários e projetos
Introdução
O Time Tracker e as aplicações
comerciais


Ilustra as melhores práticas de desenvolvimento de
Intranet
Serve como modelo para outros aplicações
corporativas
Introdução
O que é ASP .NET

“ASP.NET é um framework web desenvolvido e
comercializado pela Microsoft para permitir o
desenvolvimento de sites dinâmicos, aplicações web
e web services.”
Quem usa esta Tecnologia?
o
o
o
Hotmail
Microsoft (Msdn, Blogs, etc)
Orkut (beta)
Introdução
O que não é ASP .NET

ASP .NET não é ASP Clássico
ASP .NET X ASP 3.0
o
o
o
o
o
Desempenho e escalabilidade
Confiabilidade
Implantação fácil
Produtividade do desenvolvedor
Suporte para múltiplas linguagens (C#, VB, J#, etc)
Agenda









Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
O Plano
Decisões em uma Aplicação Intranet



Ênfase na manutenção, não na
performance (Web Forms X MVC)
Aproveitamento de informações da
organização
Separação clara entre as
lógicas/responsabilidades das camadas

Permitir a reutilização de código por outras
aplicações
Agenda









Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
A Arquitetura
Arquitetura em 3 camadas
Agenda









Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
Camada de Acesso a Dados
(DAO)

O que se entende por camada DAO?

DAO - é um padrão para persistência de
dados que permite separar regras de
negócio das regras de acesso a banco
de dados.
Mapear objetos e executar comandos
SQL

Camada de Acesso a Dados
ADO .NET e Stored Procedures





Por que utilizar ADO .NET e SPs?
Permitem a separação entre o Banco de
Dados e a camada DAO
Ganho de Performance (SPs são Précompiladas)
Segurança Adicional (Parâmetros
fortemente tipados, Permissão em SP
não em Tabela)
Alteração sem modificar o Acesso aos
Dados (Atualização de Modelo)
Camada de Acesso a Dados
DaaB - Simplificando o acesso ao BD

Uso de Data Access Application Blocks
(DAAB) – componente que otimiza a
codificação de acesso a dados, encapsulando os
comando executados contra o banco de dados


Padrão de Desenvolvimento
Segurança (Abertura e Fechamento
Conexão)
Camada de Acesso a Dados
DaaB - Simplificando o acesso ao BD
Principal vantagem do Uso de DaaB
 Reduçao do custo de codificação
DataSet ds =
SqlHelper.ExecuteDataSet(connStrin
g,CommandType.StoredProcedure,
“ListAllProjects”);
Agenda









Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
Camada de Negócio
Código específico da Aplicação

Implementa como a Empresa realiza seu
negócio
Camada de Negócio
Código específico da Aplicação

O que se entende por camada de
Negócio?

Camada de Negócio – Camada
responsável por centralizar o processo
de negócio da empresa. Nela estão as
regras de como uma empresa realiza
suas vendas, compras, etc.
Camada de Negócio
Código específico da Aplicação





Separação entre UI (Apresentação) e
Código de Acesso a Dados
Facilita reutilização de Código
Funcionalidades disponíveis por meio
de Web services / WCF (Middle-Tier /
Service Bus)
Implementação de Segurança
Classes que armazenam informações
retornadas do Banco de Dados
Agenda










Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
ASP .NET AJAX
Camada de Apresentação
Introdução

O que se entende por camada de
Apresentação?

Camada de Apresentação - Esta
camada interage diretamente com o
usuário, é através dela que são feitas as
requisições. (GUI – Graphical User
Interface)
Camada de Apresentação
Introdução



Interface com o Usuário
Comunicação direta com a camada de
Negócio
Separação do Acesso a Dados e
camada de Negócio

Possibilita múltiplas interfaces utilizarem o
código das outras camadas
Camada de Apresentação
User Controls(Controles
Personalizados)

Abas, exemplos de User Controls
Camada de Apresentação
Controles Prontos – Ex: DataGrid
com Edição

Exemplo de Código:

<asp:TemplateColumn runat=“server” />
<EditItemTemplate>
<asp:DropDownList … />
</EditItemTemplate>
</asp:TemplateColumn>
Agenda










Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
ASP .NET AJAX
Segurança
Autenticação


Forms authentication
Microsoft® Windows® authentication



Integração nativa e transparente com
Active Directory (AD)
NT Security Authorization Manager (SAM)
Alterações no Web.config
<system.web>
<authentication mode="Windows"/>
</system.web>
Agenda










Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
ASP .NET AJAX
Mobile
Time Tracker suporta dispositivos
Móveis



Usuários podem visualizar, adicionar ou
atualizar registros normalmente
Mobile Internet Toolkit (MMIT)
Request.Browser.IsMobileDevice
Agenda










Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
ASP .NET AJAX
Globalization (Globalização)
Usando a classe CultureInfo



Configurações de Cultura variam de
acordo com a configuração do
Navegador.
Não se baseia em região de IP.
O método Application_BeginRequest no
Global.asax faz esta verificação:
if (Request.UserLanguages != null)
Thread.CurrentThread.CurrentCulture =
CultureInfo.CreateSpecificCulture(
Request.UserLanguages[0]);
else
Thread.CurrentThread.CurrentCulture =
new CultureInfo(“en-us”);
Thread.CurrentThread.CurrentUICulture =
Thread.CurrentThread.CurrentCulture;
Agenda










Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
ASP .NET AJAX
O que é AJAX



AJAX = Asynchronous JavaScript and
XML
AJAX NÃO é uma nova linguagem de
programação, mas um novo modo de
utilizar os padrões existentes
(JAVASCRIPT,XML,JSON,CSS…)
Permite se comunicar com o Servidor
WEB (GET, POST) de forma assíncrona
– sem recarregar a página
Sites que usam AJAX

Projeto Google Suggest
Sites que usam AJAX

Hotmail
Exemplo de Código - JS

Método convencional
O que ganho com ASP .NET AJAX
Pré-Requisitos para utilizar:



Conhecer JAVASCRIPT?
Compreender como funciona uma
requisição HTTP?
Entender o XHR (XML HTTP REQUEST)?
O que o ASP .NET proporciona
 Suporte TRANSPARENTE a AJAX
Exemplo de Código – ASP
.NET AJAX

Controle para conteúdo dinâmico

E o JAVASCRIPT?
Exemplo prático
Criando meu:




Primeiro Web Form
Primeira Camada de Negocio
Primeira Camada DAO
Primeira Entidade Modelo
Conceitos envolvidos:
 ASP .NET Web Forms
 ADO .NET, DaaB e SPs
Tópicos Abordados










Introdução
O plano
Arquitetura
Camada de Acesso a Dados
Camada de Negócio
Camada de Apresentação
Segurança
Mobile
Globalization (Globalização)
ASP .NET AJAX
Dúvidas???
Para mais informações…


Contato Pessoal

[email protected]

www.dericferreira.blogspot.com
MSDN Web site at


msdn.microsoft.com
Official ASP.NET Web site at

www.asp.net
Obrigado!
© 2010 Microsoft Corporation. All rights reserved.
This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Microsoft, MSDN, Visual Studio, Windows, Visual Basic, Active Directory, Microsoft Press, JScript, and Visual C# are either registered
trademarks or trademarks of Microsoft Corporation in the United States and/or other countries. The names of actual companies and
products mentioned herein may be the trademarks of their respective owners.