Top Banner
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
31

Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

Dec 03, 2018

Download

Documents

lydung
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

1

Uma introdução sobre arquitetura RIA – Rich Internet Applications

Waldemir CambiucciArquiteto de SoluçõesMicrosoft Brasil

twitter.com/wcambblogs.msdn.com/wcamb

Page 2: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

2

Agenda

Arquitetura RIA

Visão do .NET RIA Services

Camadas do .NET RIA Services

Conclusões

Recursos

Publicação: Outubro/2009

Architecture in a Box

Page 3: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

3

Objetivos da Sessão

Apresentar uma introdução sobre arquiteturaRIA – Rich Internet Application.

Apresentar alguns recursos do novo middleware .NET RIA Services, paraaplicações RIA.

Page 4: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

4

Estilos e Tipos de Arquitetura

App Arch Guide 2.0

Tipos de Aplicações Estilos de Arquitetura

Componentes de Arquitetura

RIA

patterns & practices: App Arch Guide 2.0http://www.codeplex.com/AppArch

Page 5: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

5

Arquitetura RIA

Segundo o Application Architecture Guide 2.0 temos a seguintearquitetura de referência RIA:

Page 6: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

6

O que é uma arquitetura 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 7: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

7

Exemplos de interfaces RIA

Page 8: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

8

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.

Page 9: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

9

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.

Page 10: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

10

Aplicação Web tradicional

Aplicações Web são basicamente 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 11: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

11

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.

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 12: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

12

Um middleware para construçãode aplicações RIA.

Page 13: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

13

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

Page 14: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

DB DB

RIA Application com Silverlight

My Code Behind

My XAML

Web Browser Web Server

Isolated Storage

SQLStorage

Silverlight 3.0 Plug-In.NET 3.5 CLR

My ASP.NET ou HTMLPage

My XAML e .NET Assembly(s)

My REST, RSS ou SOAP Service

(1) HTML/JS

(2) XAML/.NET Assembly

(3) POX, RSS, JSON, SOAP

Page 15: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

15

Demo .NET RIA Services

Escolhendo o projeto

Silverlight Navigation

Application

Page 16: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

16

Demo .NET RIA Services

Escolhendo o hosting da

aplicação Silverlight

Application no projeto

ASP.NET Web App.Ativando suporte para

.NET RIA Services

Page 17: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

17

Demo .NET RIA Services

Projeto para o lado

cliente da aplicação RIA

Projeto para o lado

servidor

da aplicação RIA

Page 18: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

18

Demo .NET RIA Services

Interface padrão da aplicação

Silverlight Navigation

Application, com Silverlight 3.0

Page 19: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

19

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.

Page 20: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

20

Camadas do .NET RIA Services

Middleware para operações de uma

aplicação RIA

Page 21: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

21

Demo .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 exportadas

Page 22: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

22

Demo .NET RIA Services

DomainContext gerado

automaticamente pelo .NET

RIA Services

Page 23: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

23

Demo .NET RIA ServicesCriando o contexto para

acessar o middle tier do .NET

RIA Services

Acessando os dados via

DataGrid, para a entidade

Contacts

Page 24: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

Um Pattern escalável

Suporte a múltiplas camadas de apresentação e tecnologias de acesso a 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 25: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

25

Page 26: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

26

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)

Page 27: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

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.

Page 28: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

28

Recursos para o .NET RIA Services

Silverlight 3 Final Releasehttp://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 Previewhttp://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

Page 29: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

29

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

Page 30: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

30

Recursos (cont.)

ArqBR.Groupshttp://arqbr.groups.live.com/

ArqCasts no Channel9/Brasilhttp://channel9.msdn.com/brasil/

ebook Arquitetura de Soluçõeshttp://blogs.msdn.com/wcamb/archive/2009/10/01/ebook-sobre-arquitetura-de-solu-es.aspx

Centro de Arquitetura MSDNhttp://msdn.microsoft.com/pt-br/architecture/default.aspx

Page 31: Uma introdução sobre arquitetura RIA Rich Internet ...download.microsoft.com/download/8/2/8/828313A8-585E-4BD0-90C5... · Apresentar uma introdução sobre arquitetura ... Se a

31

© 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.