O documento apresenta uma introdução sobre arquitetura RIA usando o .NET RIA Services. Discute os conceitos de arquitetura RIA, apresenta as camadas do .NET RIA Services e conclui demonstrando como ele facilita a construção de aplicações RIA unificando a lógica do cliente e servidor.
1. Uma introdução sobre arquitetura RIA – Rich Internet Applications Waldemir Cambiucci Arquiteto de Soluções Microsoft Brasil twitter.com/wcamb blogs.msdn.com/wcamb
2. Agenda Arquitetura RIA Visão do .NET RIA Services Camadas do .NET RIA Services Conclusões Recursos Publicação: Outubro/2009
3. Objetivos da Sessão Apresentarumaintroduçãosobrearquitetura RIA – Rich Internet Application. Apresentaralgunsrecursos do novo middleware .NET RIA Services, paraaplicações RIA.
4. Estilos e Tipos de Arquitetura patterns & practices: App Arch Guide 2.0 http://www.codeplex.com/AppArch Tipos de Aplicações Estilos de Arquitetura RIA Componentes de Arquitetura App Arch Guide 2.0
5. Arquitetura RIA Segundo o Application Architecture Guide 2.0 temos a seguintearquitetura de referência RIA:
6.
7. Sem instalação no cliente
8. Versionamento instantâneo
9.
10. Cenários desconetados
11. Interface rica, etc.Melhores aspectos de comunicação
13. Principais características RIA Roda sobre um browser web, não exigindo instalação da aplicação. Roda localmente, num ambiente isolado de segurança chamado sandbox. Atualização instantânea da aplicação. Beta constante do Web 2.0 Os usuários podem usar a aplicação RIA a partir de qualquer computador com uma conexão internet. Disponível para múltiplas plataformas.
14. Principais características RIA Interface com tempo de resposta mais rápido, sem necessidade de “refreshes”. Comportamento comum a UI’s, como drag & drop e tratamento online e offline. Suporte para cenários com usuários parcialmente conectados. Solução interessante para cálculo e operações no cliente, por exemplo: Simuladores, calculadoras, motores de análise, etc.
15. Aplicação Web tradicional Aplicações Web são basicamente 2-Tier, envolvendo diversas interações com o servidor. Serviços Browser Web Application Lógica de Apresentação Camada de Acesso a Dados Lógica da Aplicação HTML DB Serviços Outras Aplicações
16. Aplicação LOB/RIA n-tier RIA evita as interações do modelo Web, usando uma lógica de negócio no lado do cliente. Serviços Rich Internet Application Browser Web Application Lógica de Apresentação Camada de Acesso a Dados Lógica da Aplicação HTML Network DB Serviços Serviços Outras Aplicações
18. Visão do .NET RIA Services Simplificar o desenvolvimento RIA N-tier é difícil e não trivial/natural. Fornecer a mesma produtividade do estilo ASP.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
19. RIA Application com Silverlight Web Browser Web Server (1) HTML/JS Silverlight 3.0 Plug-In .NET 3.5 CLR My ASP.NET ou HTMLPage (2) XAML/.NET Assembly My XAML My XAML e .NET Assembly(s) (3) POX, RSS, JSON, SOAP My Code Behind My REST, RSS ou SOAP Service DB DB Isolated Storage SQL Storage
20. Demo .NET RIA Services Escolhendo o projeto Silverlight Navigation Application
21. Demo .NET RIA Services Escolhendo o hosting da aplicação Silverlight Application no projeto ASP.NET Web App. Ativando suporte para .NET RIA Services
22. Demo .NET RIA Services Projeto para o lado cliente da aplicação RIA Projeto para o lado servidorda aplicação RIA
23. Demo .NET RIA Services Interface padrão da aplicação Silverlight Navigation Application, com Silverlight 3.0
24. Camadas do .NET RIA Services Uma aplicação LOB utiliza dados que cruzam as camadas da aplicação. Podemos criar operações básicas de Create, Read, Update e Delete (CRUD) ou acessar os dados via operações específicas de domínio (GetReport, SetActivities, GetCustomer, etc.). No ambiente Web, essas operações são feitas através de um middleware confiável. Um middleware entre cliente e servidor envolve proxies e operações conhecidas.
25. Camadas do .NET RIA Services Middleware para operações de uma aplicação RIA
26. Demo .NET RIA Services Solução no lado do cliente, com o proxy para acesso às regras de negócio exportadas Arquivo gerado automaticamente para o proxy no lado do cliente Solução no lado do servidor, com o DomainService e o EDMXModel
28. Demo .NET RIA Services Criando o contexto para acessar o middle tier do .NET RIA Services Acessando os dados via DataGrid, para a entidade Contacts
29. Um Pattern escalável Suporte a múltiplas camadas de apresentação e tecnologias de acesso a dados. Databases ADO.NET, ORMs (LTS, EF, …) .NET Clients Silverlight, WPF Standards Clients JavaScript Lógica da Aplicação CLR Lists/Objects Repository (nHibernate, …) Server Rendering HTML, SEO, Printing, … XML,JSON, Binary Services REST/SOAP (Azure, …) Services WCF Código de Teste Unitário
31. Conclusões .NET RIA Services oferece um framework interessante para a construção de aplicações RIA, resolvendo alguns desafios comuns. Operações CRUD Unificação da lógica cliente/servidor Geração de um middleware para transferência de dados CTP do .NET RIA Services já publicados: Preview de Maio (trabalhando com Silverlight 3.0 Beta) e Preview de Julho (trabalhando com Silverlight 3.0 Final)
32. Perguntas importantes... O projeto exige alta interatividade com o usuário e execução a partir do browser? Aplicações RIA oferecem grande interatividade via internet. É uma aplicação inteligente ou apenas um display de imagens e animações? Quanto mais interação e comunicação com a retaguarda, maior a vantagem no uso de RIA Services com Silverlight O ambiente de retaguarda é .NET? Fácil integração com serviços via WCF/REST e modelos EF Se a aplicação for desktop no enterprise, usar WPF Avaliar os recursos adicionais de uma interface rica (Smartclient) no desktop, usando WPF.
33. Recursospara o .NET RIA Services Silverlight 3 Final Release http://www.microsoft.com/silverlight/get-started/install/default.aspx Microsoft® Silverlight™ 3 Tools for Visual Studio 2008 SP1 http://www.microsoft.com/downloads/details.aspx?familyid=9442b0f2-7465-417a-88f3-5e7b5409e9dd&displaylang=en Microsoft .NET RIA Services July 2009 Preview http://www.microsoft.com/downloads/details.aspx?FamilyID=76bb3a07-3846-4564-b0c3-27972bcaabce&displaylang=en#filelist .NET RIA Services Walkthrough Sample http://code.msdn.microsoft.com/RiaServices/Release/ProjectReleases.aspx?ReleaseId=2387 Microsoft Silverlight 3 Offline Documentation http://www.microsoft.com/downloads/details.aspx?familyid=0A9773A7-C854-41FA-B73D-535ABFB73BAF&displaylang=en
34. Recursos (cont.) RiaServicesOverviewPreview.pdf http://www.microsoft.com/downloads/info.aspx?na=40&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=76bb3a07-3846-4564-b0c3-27972bcaabce&u=http%3a%2f%2fgo.microsoft.com%2ffwlink%2f%3fLinkID%3d144687 Posts sobre .NET RIA Services no Blog: http://blogs.msdn.com/wcamb/archive/tags/.NET+RIA+Services/default.aspx
35. Recursos (cont.) ArqBR.Groups http://arqbr.groups.live.com/ ArqCasts no Channel9/Brasil http://channel9.msdn.com/brasil/ ebookArquitetura de Soluções http://blogs.msdn.com/wcamb/archive/2009/10/01/ebook-sobre-arquitetura-de-solu-es.aspx Centro de Arquitetura MSDN http://msdn.microsoft.com/pt-br/architecture/default.aspx