37

2 RIA Services de A à Z Nicolas CLERC CEO/CTO QuidMind [email protected] Microsoft Regional Director Audrey PETIT MCNEXT [email protected] MVP Client

Embed Size (px)

Citation preview

2

RIA Services de A à Z

Nicolas CLERCCEO/CTO QuidMind [email protected]

Microsoft Regional Director

Audrey PETITMCNEXT

[email protected] Client App Dev

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

.Net

BizTalkBI

SharePoint

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é

5

Agenda

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

6

Contoso Sales

7

Architecture ContosoSales

SQL

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

9

Architecture ContosoSales

SQLModele EDMX

Entity Framework

10

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

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)

12

Architecture ContosoSales

SQLModele EDMX

.Net 3.5 / 4

Domain Service

RIA ServicesEntity

Framework

13

DémoGénération du Domain Service

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

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;

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());

17

Architecture ContosoSales

SQLModele EDMX

Domain Service

Domain Context

.Net 3.5 / 4Silverlight 3 / 4

Code généré

RIA ServicesEntity

Framework

18

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

19

Sécurité

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

• HTTPS• [EnableClientAccess(RequiresSecureEndpoint =

true)]

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

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, …

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

23

DémoValidation de donnéesCode Partagé

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)

25

DémoSilverlight Business ApplicationVisual Studio LightSwitch

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

Votr

e r

esp

onsa

bili

Infrastructure(as a Service)

Storage

Servers

Networking

O/S

Middleware

Virtualization

Data

Applications

RuntimeG

éré

par le

fo

urn

isseur

Votr

e r

esp

onsa

bili

Platform(as a Service)

Géré

par le

fourn

isseur

Votr

e

resp

onsa

bili

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

Software(as a Service)

Géré

par le

fourn

isseur

Storage

Servers

Networking

O/S

Middleware

Virtualization

Applications

Runtime

Data

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

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

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

30

DémoMigration de la base vers SQL Azure

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

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

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

34

DémoHosting de l’application dans Azure

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

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