Upload
lothair-beguin
View
108
Download
0
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
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
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
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
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
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)
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
té
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
té
Platform(as a Service)
Géré
par le
fourn
isseur
Votr
e
resp
onsa
bili
té
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
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
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