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.