37

RIA Services de A à Z

Embed Size (px)

DESCRIPTION

RIA Services de A à Z. Audrey PETIT MCNEXT [email protected] MVP Client App Dev. Nicolas CLERC CEO/CTO QuidMind [email protected] Microsoft Regional Director. MCNEXTStand D7. - PowerPoint PPT Presentation

Citation preview

Page 1: RIA Services de A à Z
Page 2: RIA Services de A à Z

2

RIA Services de A à ZNicolas CLERC

CEO/CTO QuidMind [email protected]

Microsoft Regional Director

Audrey PETITMCNEXT

[email protected] Client App Dev

Page 3: RIA Services de A à Z

3

MCNEXT Stand D7Filiale du groupe MOZZAIK, MCNEXT est une société de conseil et services informatiques dédiée aux technologies MICROSOFT. Savoir-faire autour de 4 pôles, tous pilotéspar des experts reconnus

100 collaborateursPrésent à Paris et Genève

Accompagnement global de nos clients :Conseil fonctionnelArchitecture techniqueAccompagnement méthodologiqueGraphisme/ergonomie (Web Agency)Réalisation (forfait/régie)TMAFormation

.NetBizTalkBISharePoint

Page 4: RIA Services de A à Z

4

Nicolas CLERC [email protected]

Architecte logiciel et expert technique reconnu par Microsoft, les Microsoft Regional Director ont pour rôle de vous accompagner à

la mise en œuvre des technologies et outils Microsoft, dans le cadre de migrations applicatives, de démarrages de projets ou de

prototypages, aussi bien au niveau stratégique et décisionnaire qu’au sein de vos équipes de production.

Regional Director depuis 10ans et créateur de la société d’expertise logicielle QuidMind, Nicolas CLERC est formateur

officiel au sein du programme Microsoft Metro (Windows Azure, Silverlight,

Unified Communication, …).

www.quidmind.com www.theregion.com

Azure

Windows Phone 7

WPFSensor & MultiTouch

Innovation

R & DSilverlight

RIA ServicesWCF

AppFabric

Architecture

CoachingAccompagnement

stratégiqueVSTO

SOA & architecture distribuéeVeille technologique

Confidentialité Sécurité

Page 5: RIA Services de A à Z

5

Agenda• Entity Framework 4• Domain Service• Domain Context• Data Validation• Les Outils de développements• Migration vers le Cloud

Page 6: RIA Services de A à Z

6

Contoso Sales

Page 7: RIA Services de A à Z

7

Architecture ContosoSales

SQL

Page 8: RIA Services de A à Z

8

Entity Framework 4• Framework de Mapping Objet Relationnel

• Une base un modèle EDMX• Une table une classe (Entity)• Une colonne une propriété• Une procédure stockée une méthode

• Différents modes de conception• Generated Model : génération du modèle

EDMX à partir de la base de données• Model First : génération de la base de

données à partir du modèle EDMX• Code first : création des entités par codage

Page 9: RIA Services de A à Z

9

Architecture ContosoSales

SQLModele EDMX

Entity Framework

Page 10: RIA Services de A à Z

10

DémoGénération du modèle ContosoModel

Page 11: RIA Services de A à Z

11

Domain Service

• Fichier côté serveur• Généré à partir de la liaison avec l’edmx• Contient toutes les méthodes CRUD générées

automatiquement liées aux entités de l’edmx• Génération des metadatas (en option)

Page 12: RIA Services de A à Z

12

Architecture ContosoSales

SQLModele EDMX

.Net 3.5 / 4

Domain Service

RIA ServicesEntity

Framework

Page 13: RIA Services de A à Z

13

DémoGénération du Domain Service

Page 14: RIA Services de A à Z

14

Domain Context• Fichier côté client• Généré lors de la compilation du Domain Service• Dossier Generated_Code• Permet d’accéder aux méthodes du Domain

Service

Page 15: RIA Services de A à Z

15

Domain Context : Linq2DC• Utilisation de Linq pour affiner ses recherches• Linq interroge le Domain Context

• Exemple :

from d in myContext.StoreContactswhere d.StoreID == ((Store)listStore.SelectedItem).StoreIDselect d;

Page 16: RIA Services de A à Z

16

CRUD• Côté serveur : Génération des méthodes par le Domain

Service

public IQueryable<Store> GetStore(){        return this.ObjectContext.Store;}

• Côté client : Appel de ses méthodes via le Domain Context

myContext.Load(myContext.GetStoreQuery());

Page 17: RIA Services de A à Z

17

Architecture ContosoSales

SQLModele EDMX

Domain Service

Domain Context

.Net 3.5 / 4Silverlight 3 / 4

Code généré

RIA ServicesEntity

Framework

Page 18: RIA Services de A à Z

18

DémoUtilisation du Domain Context et de Linq2DC avec une application Maître / Détails

Page 19: RIA Services de A à Z

19

Sécurité• Authentification

• [RequiresAuthentication] • [RequiresRole("Administrator")]

• HTTPS• [EnableClientAccess(RequiresSecureEndpoint =

true)]

Page 20: RIA Services de A à Z

20

Data Validation• RIA Services est architecturé autour d’un modèle de

données• Application orientée saisie et manipulation de

données Les données saisies doivent être vérifiées et validées

• Lors de la saisie • ergonomie, • correction

• Dans le DomainService• sécurité, • Intégrité,• ouverture

• Intérêt à capitaliser et réutiliser le code et les directives de validation de données

Page 21: RIA Services de A à Z

21

Data Validation• Solution proposée RIA Services

• Définition des règles de validation par l’intermédiaire de meta-donnée (Attribut .Net)• Validation Attribut : [Length], [Size], …

• Partage du code source entre le DomainService et le DomainContext lors de la compilation• Shared code (.shared.cs )

• Contrôles de saisie intégrés avec la validation de données• TextBox, DataForm, …

• Extensible• Création et partage d’objet métier, d’attributs

de validation personnalisés, …

Page 22: RIA Services de A à Z

22

Architecture ContosoSales

SQLModele EDMX

Domain Service

Domain ContextApplication

Silverlight

Data Validation,code partagé

.Net 3.5 / 4Silverlight 3 / 4

Code généré

RIA ServicesEntity

Framework

Validation

Page 23: RIA Services de A à Z

23

DémoValidation de donnéesCode Partagé

Page 24: RIA Services de A à Z

24

Outils de développement• Template de projet incluant WCF RIA Services :

• Silverlight Business Application

• WCF RIA Services embarqué dans des outils• Visual Studio LightSwitch (beta 1)

Page 25: RIA Services de A à Z

25

DémoSilverlight Business ApplicationVisual Studio LightSwitch

Page 26: RIA Services de A à Z

26

Migration vers le Cloud• Azure est la plateforme de « cloud computing »

Microsoft• Basé sur Windows 2008 R2 64bit, Hyper-V,• Framework .NET , WCF, …• SQL Serveur 2008, …

Packaged Software

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

Runtime

Votre

resp

onsa

bilit

é

Infrastructure(as a Service)

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

RuntimeGéré par le fournisseur

Votre

resp

onsa

bilit

é

Platform(as a Service)

Géré par le fournisseur

Votre

re

spon

sabi

lité

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Software(as a Service)

Géré par le fournisseur

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Page 27: RIA Services de A à Z

27

Localisation des datacenters

Amérique du Nord Europe Asie - Pacifique

S. Central – U.S.

W. Europe N. Central – U.S.

N. Europe

S.E. Asia

E. Asia

Page 28: RIA Services de A à Z

28

• Basé sur le cœur SQL Server 2008 R2 mais avec quelques différences : administration logique vs. administration physique

• Non supporté :• Common Language Runtime (CLR)• Database file placement• Database mirroring• Distributed queries• Distributed transactions• Filegroup management• Global temporary tables• SQL Server configuration options• SQL Server Service Broker• System tables• Trace Flags

http://msdn.microsoft.com/en-us/library/ee336250.aspxhttp://msdn.microsoft.com/en-us/library/ee336281.aspx

Page 29: RIA Services de A à Z

29

Migration vers SQL Azure• Fonctionnalité DDL limité

• Le script SQL de création de base n’est pas portable directement, il faut l’épurer

• SSIS et DataMigration Wizard non fonctionnel avec SQL Azure• Absence de certain procédure stockée dans SQL

Azure• Solutions :

• Script SQL, outils spécifiques de migration• http://sqlazuremw.codeplex.com/ migration

bidirectionnelle

Page 30: RIA Services de A à Z

30

DémoMigration de la base vers SQL Azure

Page 31: RIA Services de A à Z

31

• Plateforme d’hébergement d’application• Configuration des hébergements par « Rôle »• API spécifique pour une intégration fine• Déploiement via un portail spécifique (Silverlight)• SDK Windows Azure nécessaire

Page 32: RIA Services de A à Z

32

Migration vers Windows Azure• Mettre à jour la chaine de connexion du model EDMX• Si utilisation de l’authentification ASP.Net

• Migrer la base ASPNET_db vers SQL Azure• http://support.microsoft.com/kb/2006191/en-us

• Modifier le web.config pour que votre authentification utilise la nouvelle chaine de connexion (et donc la base SQLAzure)

• Windows Azure ne contient pas les assemblies RIA Services• Modifier les références *.DomainServices.*

• CopyLocal=True

Page 33: RIA Services de A à Z

33

Migration vers Windows Azure• Ajouter un projet de type « Cloud\Windows Azure Project »

dans votre solution• Ajouter un « Web Rôle Project in Solution »

• Sélectionner le projet Web• Si EnableDiagnostic est coché dans les propriétés du

Role, modifier la chaine configuration pour pointer vers un stockage Azure.

• Ajouter un RoleEntryPoint dans votre application• Référéncer « Microsoft.WindowsAzure.ServiceRuntime »• Nouvelle classe WebRole : RoleEntryPoint• Surcharger OnStart()

• Déployer votre application

Page 34: RIA Services de A à Z

34

DémoHosting de l’application dans Azure

Page 35: RIA Services de A à Z

35

Résumé• Entity Framework 4

• Mapping objet/relationnel, SQL Server, extensible

• Domain Service• Domain Context• Data Validation

• Attribut, Client et Serveur, extensible• Les Outils de développements

• Visual Studio, LightSwitch• Migration vers le Cloud

• Windows Azure, SQL Azure

Page 36: RIA Services de A à Z

47

MSDN et TechNet : l’essentiel des ressources techniques à portée de clic

http://technet.com http://msdn.com

Portail administration et infrastructure pour informaticiens

Portail de ressources technique pour développeurs

Page 37: RIA Services de A à Z