encontro de arquitetos belo horizonte -...
TRANSCRIPT
![Page 1: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/1.jpg)
Encontro de ArquitetosBelo Horizonte
Data: 10 de Novembro de 2009
![Page 2: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/2.jpg)
Agenda
Sessão 1: Arquitetura Web na plataforma Microsoft –Conceitos e Tendências
Waldemir Cambiucci - Arquiteto de SoluçõesHora: 14:30 h – 16:00 hBlog: http://blogs.msdn.com/wcamb
Coffee BreakHora: 16:00 h – 16:30 h
Sessão 2: Arquitetura Web na plataforma Microsoft –Tecnologias e Recomendações
Luciano Condé – Arquiteto de SoluçõesHora: 16:30 h – 18:00 h Blog: http://blogs.msdn.com/conde/
![Page 3: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/3.jpg)
Sessão 1: Arquitetura Web na plataforma Microsoft – Conceitos e Tendências
Waldemir CambiucciArquiteto de SoluçõesMicrosoft
twitter.com/wcambblogs.msdn.com/wcamb
![Page 4: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/4.jpg)
Objetivo da Sessão
Posicionar os recursos do mundo Web dentroda visão Software + Serviços.
Criar um vocabulário comum em torno das principais tecnologias para aplicações Web naplataforma Microsoft.
![Page 5: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/5.jpg)
Visão Web segundo umaarquitetura Software + Serviços
![Page 6: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/6.jpg)
Web 1.0
Server-sidecomputation
Client-siderendering
Static HTML
![Page 7: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/7.jpg)
Web 1.0
7
Server-sidecomputation
Client-siderendering
Static HTMLDynamic HTML
Client-sidecomputation
→ Web 2.0 → RIA…
![Page 8: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/8.jpg)
Visão Software + Serviços
PC
WEB
PHONE
Corporativo Nuvem
![Page 9: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/9.jpg)
Forças do Software + Serviços
Web 2.0 e Redes Sociais
Aplicações RIA
Soluções LOB SaaS
Orientação a Serviços
Cloud Computing
![Page 10: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/10.jpg)
Arquitetura Software + Serviçosa internet além da Web
Principais componentes:Software Cliente
Software Aplicativo
Serviços de Infraestrutura
Fundamentos da Arquitetura
![Page 11: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/11.jpg)
Fundamentos da Arquitetura
Físico, dedicadoServiço único em hardware dedicado
Físico, compartilhadoVários serviços em hardware dedicado
Físico, HPCHardware físico suportando cenário HPC
Virtual, únicoInstância única de imagem virtual
Virtual, compartilhadoInstância múltipla de imagem virtual
![Page 12: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/12.jpg)
Serviços de Infraestrutura
Identidade e acessoBaseada em diretórios, roles, declarações (CBA)
Sistema de mensagensBarramento de serviços, Ponto a Ponto (P2P)
ArmazenamentoTradicional, Relacional, Não-estruturado
WorkflowBaseado em eventos, Alto Desempenho
![Page 13: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/13.jpg)
Software Aplicativo
Colaboração Pesquisa, Social, Conteúdo
Monetização Transação, Licenciamento, Publicidade, Assinatura
Composição Composição de serviços, LOB, regras de negócio
Business Intelligence Painel(Dashboards), Relatórios, Mining
AplicativoLógica de negócio, entidades, workflows,
processos
![Page 14: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/14.jpg)
Software Cliente
Cliente Web Web Browser, Conteúdo Rico
Cliente MóvelBaseado em Web, Conteúdo Rico, Office,
SMS/IM, Voz
Cliente PCOffice, SmartClient, Desktop, Gadgets,
Mensagens instantâneas
Cliente Embarcado (Embedded)Dispositivos dedicados, consoles
![Page 15: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/15.jpg)
Arquitetura Software + Serviços
Software Aplicativo
Software Cliente
Cliente PC
Browser
Acesso Programático
RSS REST Web Services VoiceXML
Apresentação Web
Static Dynamic RIA Streaming
Aplicação
Business Logic (Worker Role)Presentation (Web Role)
SMTP SMSSOAP
Office Client Gadgets IM
Cliente Mobile
Speech SMS/IM Browser Office Client
Embedded
Devices Consoles
Fundamentos
Serviços de Infraestrutura
Identity & AccessMessagingStorage Workflow
Async Queue/Bus Peer to PeerBlob Event Based Worker BasedRelationalFile
Computação
Physical, Dedicated Physical, Shared Virtual, Single Virtual, Scalable
Authentication Authorization
On Premises Hoster Cloud
Table
![Page 16: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/16.jpg)
Arquitetura Software + ServiçosUm site Web dinâmico on-premise (infraestrutura local)
Software Aplicativo
Software Cliente
Cliente PC
Browser
Acesso Programático
RSS REST Web Services VoiceXML
Apresentação Web
Static Dynamic RIA Streaming
Aplicação
Business Logic (Worker Role)Presentation (Web Role)
SMTP SMSSOAP
Office Client Gadgets IM
Cliente Mobile
Speech SMS/IM Browser Office Client
Embedded
Devices Consoles
Fundamentos
Serviços de Infraestrutura
Identity & AccessMessagingStorage Workflow
Async Queue/Bus Peer to PeerBlob Event Based Worker BasedRelationalFile
Computação
Physical, Dedicated Physical, Shared Virtual, Single Virtual, Scalable
Authentication Authorization
On Premises Hoster Cloud
Table
![Page 17: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/17.jpg)
Arquitetura Software + ServiçosUm site Web dinâmico na nuvem
Software Aplicativo
Software Cliente
Cliente PC
Browser
Acesso Programático
RSS REST Web Services VoiceXML
Apresentação Web
Static Dynamic RIA Streaming
Aplicação
Business Logic (Worker Role)Presentation (Web Role)
SMTP SMSSOAP
Office Client Gadgets IM
Cliente Mobile
Speech SMS/IM Browser Office Client
Embedded
Devices Consoles
Fundamentos
Serviços de Infraestrutura
Identity & AccessMessagingStorage Workflow
Async Queue/Bus Peer to PeerBlob Event Based Worker BasedRelationalFile
Computação
Physical, Dedicated Physical, Shared Virtual, Single Virtual, Scalable
Authentication Authorization
On Premises Hoster Cloud
Table
![Page 18: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/18.jpg)
Arquitetura Software + ServiçosUma solução SaaS baseada na nuvem
Software Aplicativo
Software Cliente
Cliente PC
Browser
Acesso Programático
RSS REST Web Services VoiceXML
Apresentação Web
Static Dynamic RIA Streaming
Aplicação
Business Logic (Worker Role)Presentation (Web Role)
SMTP SMSSOAP
Office Client Gadgets IM
Cliente Mobile
Speech SMS/IM Browser Office Client
Embedded
Devices Consoles
Fundamentos
Serviços de Infraestrutura
Identity & AccessMessagingStorage Workflow
Async Queue/Bus Peer to PeerBlob Event Based Worker BasedRelationalFile
Computação
Physical, Dedicated Physical, Shared Virtual, Single Virtual, Scalable
Authentication Authorization
On Premises Hoster Cloud
Table
![Page 19: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/19.jpg)
Visão Software + Serviços
A Internet além da Web:Colaboração e Redes Sociais (Web 2.0)
Diferentes dispositivos
Orientação a serviços
Software como serviços
Diferentes protocolos e formatos de dados
Combinação de infraestruturas (poder da escolha)On-premise, hosted, cloud computing
![Page 20: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/20.jpg)
Combinação de arquiteturas
App Arch Guide 2.0
Tipos de Aplicações Estilos de Arquitetura
Componentes de Arquitetura
patterns & practices: App Arch Guide 2.0
http://www.codeplex.com/AppArch
![Page 21: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/21.jpg)
Visão Web segundo as tecnologias disponíveis
ASP.NET, Silverlight, ASP.NET
MVC, ASP.NET AJAX, RIA, etc…
![Page 22: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/22.jpg)
Arquitetura Software + ServiçosComponentes Web
Software Aplicativo
Software Cliente
Cliente PC
Browser
Acesso Programático
RSS REST Web Services VoiceXML
Apresentação Web
Static Dynamic RIA Streaming
Aplicação
Business Logic (Worker Role)Presentation (Web Role)
SMTP SMSSOAP
Office Client Gadgets IM
Cliente Mobile
Speech SMS/IM Browser Office Client
Embedded
Devices Consoles
Fundamentos
Serviços de Infraestrutura
Identity & AccessMessagingStorage Workflow
Async Queue/Bus Peer to PeerBlob Event Based Worker BasedRelationalFile
Computação
Physical, Dedicated Physical, Shared Virtual, Single Virtual, Scalable
Authentication Authorization
On Premises Hoster Cloud
Table
![Page 23: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/23.jpg)
Tecnologias Web na plataforma Microsoft
Software Cliente (Browser, PC, Mobile, Dispositivos, Serviços/Bus)
ASP.NETWebForms
Silverlight WPFASP.NET
MVCWindows
LiveWeb Roles
ASP.NET AJAX
Dynamic Data
Interface de Serviços
Windows Communication
Foundation (WCF)
ADO.NET Data Services
.NET RIA Services
Serviços de Plataforma
.NET Framework
ASP.NET Services
SharePointSearch Server
Live Services
.NET Services
Capacidades de Infraestrutura
Windows Server, IIS, WAS, SQL ServerWindows Azure, Azure Storage, SQL Azure Database,
Live Services, .NET Services
![Page 24: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/24.jpg)
Aplicações Web com ASP.NET e HTML
ASP.NET Web Forms
ASP.NET AJAX
ASP.NET MVC, etc.
![Page 25: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/25.jpg)
Aplicações ASP.NET
ASP.NET suporta vários tipos de aplicações WEB
ASP.NET
WebForms
ASP.NET
AJAX
ASP.NET
MVC
ASP.NET
Dynamic Data
![Page 26: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/26.jpg)
ASP.NET WebForms
São basicamente soluções 2-Tier, envolvendo diversas interações com o servidor.
Web ApplicationBrowser
DB
Serviços
Outras Aplicações
Camada de
Acesso a
Dados
Lógica da
Aplicação
Serviços
HTMLLógica de
Apresentação
![Page 27: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/27.jpg)
ASP.NET WebForms
Sessão do Usuário
PáginaWeb
Modelo de Dados do Usuário
PáginaWeb
PáginaWeb
PáginaFinal
Encerrar
Iniciar
BrowserServidor
Camada de
Acesso a
Dados
Lógica da
Aplicação
Serviços
Lógica de
Apresentação
![Page 28: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/28.jpg)
ASP.NET WebForms
As páginas são criadas no servidor e enviadas para o browser a cada POSTBACK.
Pontos Fortes: Grande compatibilidade com inúmeros browsers (HTML)
Facilidade de desenvolvimento e suporte RAD – RapidApplication Development (drag and drop)
Compatibilidade e integração com aplicações legadas
Pontos Fracos:Responsividade: o usuário precisa aguardar o postback de cada página para poder interagir;
Performance: toda a página precisa ser criada para cada interação no lado do servidor;
![Page 29: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/29.jpg)
ASP.NET AJAXAsynchronous JavaScript And XML
Modelo de programação para aplicações Web ricas, baseado em JavaScript executado no browser, com interações assíncronas com o servidor e tratamento de eventos no cliente.
Web ApplicationBrowser
DB
Serviços
Outras Aplicações
Camada de
Acesso a
Dados
Lógica da
Aplicação
Serviços
HTML
Lógica de
ApresentaçãoLógica de
Apresentação
Renderização com o poderde computação no cliente
![Page 30: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/30.jpg)
ASP.NET AJAX
Sessão do Usuário
AplicaçãoCliente
Modelo de Dados do Usuário
Página Final
Encerrar
Iniciar
BrowserServidor
Camada de
Acesso a
Dados
Lógica da
Aplicação
Serviços
Lógica de
ApresentaçãoParte do
Modelo de Dados do Usuário
Requisições
de dados
Lógica de
Apresentação
![Page 31: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/31.jpg)
ASP.NET AJAX
![Page 32: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/32.jpg)
ASP.NET AJAX Server-Side
Renderização feita no servidor!As páginas são criadas no servidor e enviadas (parcialmente) por requisições AJAX em HTML.
Requisição inicial: HTML
HTMLForm POST
![Page 33: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/33.jpg)
ASP.NET AJAX Client-Side
Renderização feita no cliente!Menor roundtrip entre o cliente e o servidor
Menor bandwidth
Maior responsividade
HTML + JSON
JSONJSON
![Page 34: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/34.jpg)
ASP.NET AJAX
Pontos Fortes:Aplicações com menor tempo de resposta
Interfaces mais ricas, próximas ao desktop
Deployment simplificado em relação ao ambiente desktop
Compatibilidade com inúmeros browsersIE, Mozilla FireFox, Safari (Mac OS), Opera, Konqueror
Maior interação com o servidorDados são carregados sob demanda, sem onerar o carregamento inicial da página
Utilização mais eficiente de bandaSomente dados necessários são trafegados
![Page 35: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/35.jpg)
ASP.NET AJAX
Pontos Fracos:Grande número de decisões sobre a arquitetura da aplicação
Componentes client-side ou server-side?
Qual a granularidade das interações entre cliente e servidor?
Quando passar dados e quando passar conteúdo?
Como dividir o modelo em camadas?
Quando usar XML e quando usar JSON?
Patterns para paginação, ordenação, filtro, etc.
Necessidade de maior nível de capacitaçãoJavaScript, DHTML, Usabilidade, Protocolos, Modelos de Objetos, Padrões W3C, ECMA, etc.
![Page 36: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/36.jpg)
jQueryCriado por John Resig (Open Source, 2006)
Suportado na plataforma MicrosoftIncluído no Visual Studio 2008 e 2010
19KB JQuery JavaScript library
Pontos Fortes:Total integração com ASP.NET AJAX e ASP.NET MVC.
Síntaxe Javascript facilitada (seletores mais simples)
Suporte IE6+, FF2.0+, Safari 3.0+, Opera 9+, Chrome 1.0+
Pontos Fracos:Depende de plugins para animações mais complexas
Complexidade para rotinas AJAX mais pesadas
![Page 37: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/37.jpg)
ASP.NET AJAX Control Toolkit
2⁰ lugar em download de projetos no CodePlex.
Oferece controles:
Server-Side e Extenders
Client-Side e Behaviors
Disponível como Client-Only Library: AjaxControlToolkit-ScriptFilesOnly.zip
Source - May 2009 Release
Ref.: http://ajax.asp.net/ajaxtoolkit/
![Page 38: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/38.jpg)
ASP.NET MVCModel View Controller Pattern
Controller
View
Model
Request 1
Response
![Page 39: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/39.jpg)
URL RoutingBrowser ModelController View
Get / Post
Invoke ActionGet Data
Lookup View
Render
Html
Lookup Controller
ASP.NET MVCModel View Controller
![Page 40: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/40.jpg)
ASP.NET MVCModel View Controller
Oferece uma clara separação entre navegação, lógica e renderização de tela.
Separation of Concerns
Motivações para o uso de MVC:Maior controle sobre o HTML gerado.
Maior controle sobre a manutenção de estado.
Maior suporte a testes e TDD – Test DrivenDevelopment.
Maior aderência ao uso de boas práticas de desenvolvimento.
![Page 41: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/41.jpg)
ASP.NET MVCModel View Controller
Pontos Fortes:Permite uma maior testabilidade e suporte ao TDD
Testes facilitados
Total controle sobre código HTML e JavaScript
Páginas menores (sem ViewState)
Recurso de Routing já disponível no .Net 3.5
Maior integração com frameworks JavascriptSuporte integrado ao jQuery (jQuery Intellisense)
Orientação para o uso de boas práticas
![Page 42: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/42.jpg)
ASP.NET MVCModel View Controller
Pontos Fracos:Não compatível com o modelo RAD – RapidApplication Development
Sem o suporte ao drag and drop de controles visuais
Mais difícil de integrar com o Web Designer
O desenvolvedor precisa conhecer HTML, JavaScript, CSS, HTTP, XML
Exige uma maior capacitação do time de desenvolvimento.
![Page 43: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/43.jpg)
Aplicações Web com RIA
Silverlight 3.0
Silverlight Toolkit
.NET RIA Services
![Page 44: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/44.jpg)
O que é uma aplicação RIA?
Rich Internet ApplicationUm cruzamento entre uma aplicação baseada em brower (web) e uma aplicação desktop tradicional
Melhores aspectos do mundo Web (browser)• Deployment facilitado• Sem instalação no cliente• Versionamento instantâneo• Navegação via browser, etc.
Melhores aspectos do mundo Desktop (local)• Processamento local• Cenários desconetados• Interface rica, etc.Melhores aspectos
de comunicação
![Page 45: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/45.jpg)
Aplicação Silverlight / RIA
RIA evita as interações do modelo Web, usando uma lógica de negócio no lado do cliente.
Web ApplicationBrowser Rich Internet Application
DB
Serviços
Outras Aplicações
Camada de
Acesso a
Dados
Lógica da
Aplicação
Serviços
HTMLLógica de
ApresentaçãoNetwork
Serviços
![Page 46: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/46.jpg)
Visão do .NET RIA Services
Simplificar o desenvolvimento RIA
N-tier é difícil e não trivial/natural.
Fornecer a mesma produtividade do estiloASP.NET/RAD para o desenvolvimento RIA
Foco em cenários fim-a-fim e soluções.
Criar uma visão unificada da aplicação RIA
Lógica no cliente e no servidor, através de um middleware de operações.
Aproveitar os recursos do Silverlight para a construção de aplicações RIA
![Page 47: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/47.jpg)
.NET RIA Services
Middleware para operações de uma
aplicação RIA
.NET RIA Services Samples
Ref.: http://code.msdn.microsoft.com/RiaServices
![Page 48: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/48.jpg)
.NET RIA Services
Um pattern escalável para múltiplas interfaces e fontes de dados.
Lógica da
Aplicação
Databases
ADO.NET,
ORMs (LTS, EF, …)
CLR Lists/Objects
Repository
(nHibernate, …)
Services
REST/SOAP
(Azure, …)
XML,
JSON,
Binary
.NET Clients
Silverlight, WPF
Standards Clients
JavaScript
Server Rendering
HTML, SEO,
Printing, …
Services
WCF
Código de
Teste
Unitário
![Page 49: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/49.jpg)
.NET RIA Services
Arquivo gerado
automaticamente para o
proxy no lado do cliente
Solução no lado do
servidor, com o
DomainService e o
EDMX Model
Solução no lado do
cliente, com o proxy
para acesso às regras
de negócio exportadasDeployment facilitado
da aplicação RIA
![Page 50: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/50.jpg)
.NET RIA Services
DomainContext gerado
automaticamente pelo .NET
RIA Services
![Page 51: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/51.jpg)
.NET RIA Services
Pontos Fortes:Middleware completo para a construção de aplicações RIA com Silvelight 3.0.
Facilidade no tráfego de dados via DomainServices e Entidades (paginação, ordenação, filtros, etc).
Geração automática do proxy cliente para acesso àsoperações do lado do servidor.
Pattern extensível, atendendo diversos tipos de interfaces clientes e fontes de dados no servidor.
Pontos Fracos:Ainda em CTP
Primeira carga da aplicação deve ser avaliada (download)
Cuidados na customização do proxy geradoautomaticamente para o cliente.
![Page 52: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/52.jpg)
Aplicações Web com o ambiente Windows Azure
Web Roles
Worker Roles
Queues, Blobs, Tables
Soluções SaaS e MapReducing
![Page 53: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/53.jpg)
O que é a nuvem?
Datacenters com alta disponibilidade, escalabilidade e armazenamento ilimitado, acessível via Web.
![Page 54: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/54.jpg)
LiveConsumidor &
SOHO
OnlineDe pequenas a
grandes empresas
Variedade de serviços online
Plataforma de Serviços AzureServiços e
Ferramentas
para
Desenvolvedores
![Page 55: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/55.jpg)
O que é o Windows Azure?
Controle da Malha de Servidores
![Page 56: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/56.jpg)
CONTROLE E GERENCIAMENTO AUTOMATIZADO
Fabric: A Coleção dos
Servidores8 VMs por servidor
Cada VM roda um Hypervisor
Windows Server 2008 customizado
Fabric Controller é
responsável pelo
gerenciamentoVocê diz o que fazer— ele trata
do como fazer
Faz o scale up, scale down,
update ou roll back da aplicação
para uma versão prévia de forma
automática
Services Management no Windows Azure
![Page 57: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/57.jpg)
Aplicações sobre o Windows Azure
Web Role e Worker Role interagindo via Queues e Tables.Internet
StorageTables
LB
Blobs
Worker Service
Worker Service
Worker Service
Web Site(ASPX, ASMX, WCF)Web Site
(ASPX, ASMX, WCF)Web Site(ASPX, WCF)
Queue
Windows Azure Datacenter
![Page 58: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/58.jpg)
Web Role / Windows Azure
Pontos Fortes: Cenário de soluções de alta escalabilidade, com provisionamento dinâmico.
Suporte Web Role para todos os recursos ASP.NETWeb Forms, MVC, Silverlight, jQuery, AJAX, SOAP, REST.
Pontos Fracos: Hosting apenas no ambiente da nuvem (Azure).
Atenção para a composição de custos na aplicação.
Integração com API’s de interoperabilidade, como o Simple Cloud (PHP API).
![Page 59: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/59.jpg)
Web Role no Windows Azure
Projeto em Staging com diversas roles
Projeto emprodução com uma
única instânciaWeb Role
Clique aqui para publicar a aplicação em produção.
![Page 60: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/60.jpg)
Um mapa de decisão entre tecnologias…
Proposta para pensar…
![Page 61: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/61.jpg)
Mapa de decisão Web…
Os números são ilustrações apenasFaça suas decisões, de acordo com seus cenários
![Page 62: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/62.jpg)
Mapa de decisão Web…
Produtividade no desenvolvimento
Manutenção
Customização
Desempenho
Curva de Aprendizagem
Paginação, Filtros, Extensões
Efeitos Visuais, Animação, etc.
Testabilidade
Facilidade de depuração
Modelo de segurança …
Suporte a cenários off-line
Modelo de cache integrado
Respeito a padrões Web
Controle sobre o HTML gerado
ASP.NET WebForms
ASP.NET AJAX Server-Side
ASP.NET AJAX Client-Side
ASP.NET MVC
ASP.NET Dynamic Data
Silverlight 3.0
PRISM 2.0
![Page 63: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/63.jpg)
![Page 64: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/64.jpg)
Conclusões
A visão Software + Serviços envolve a Internet além da Web…
Para a escolha da tecnologia certa devemosconsiderar questões como:
Reusabilidade, Confiabilidade, Extensibilidade
Manutenabilidade, Segurança, Testabilidade,
Diminuição da complexidade geral do sistema, etc.
Assuntos relacionados que não vimos hoje:Composite Application Guidance for WPF & Silverlight
Aplicações Web sobre SharePoint Server
Doloto (otimização sobre AJAX), WebSiteSpark, etc.
![Page 65: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/65.jpg)
Referências
ASP.NET WebForms 4.0
http://www.asp.net/learn/whitepapers/aspnet40
ASP.NET MVC
http://www.asp.net/mvc/
ASP.NET AJAX
http://www.asp.net/ajax/
jQuery
http://jquery.com/
.NET RIA Services
http://code.msdn.microsoft.com/RiaServices
Windows Azure
http://www.microsoft.com/azure/default.mspx
![Page 66: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/66.jpg)
Referências (cont.)
Application Architecture Guide 2.0
http://www.codeplex.com/AppArchGuide
Web Services Security Guidance
http://www.codeplex.com/WCFSecurityGuide
Composite Application Guidance for WPF & Silverlight
http://www.codeplex.com/CompositeWPF
Performance Testing Guidance for Web Applications
http://www.codeplex.com/PerfTestingGuide
Silverlight Toolkit
http://www.codeplex.com/Silverlight
ASP.NET AJAX Control Toolkit
http://ajax.asp.net/ajaxtoolkit/
![Page 67: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/67.jpg)
Perguntas e Respostas.
![Page 68: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/68.jpg)
![Page 69: Encontro de Arquitetos Belo Horizonte - api.ning.comapi.ning.com/files/tavtj1dOhTAdpRmuPvniMDul0C7I5rLZwkBR4TRBeDDI2hZ... · principais tecnologias para aplicações Web na plataforma](https://reader031.vdocuments.pub/reader031/viewer/2022031310/5c0157b309d3f279018c804a/html5/thumbnails/69.jpg)
© 2008 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS,
IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.