Microsoft Regional Director RIA Services de A à Z Nicolas CLERC CEO/CTO QuidMind nclerc@quidmind.com Microsoft Regional Director Audrey PETIT MCNEXT apetit@mcnext.com MVP Client App Dev
MCNEXT Stand D7 .Net BI BizTalk SharePoint Filiale 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és par des experts reconnus 100 collaborateurs Présent à Paris et Genève Accompagnement global de nos clients : Conseil fonctionnel Architecture technique Accompagnement méthodologique Graphisme/ergonomie (Web Agency) Réalisation (forfait/régie) TMA Formation
Nicolas CLERC nclerc@quidmind.com 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 Silverlight Coaching R & D Accompagnement stratégique Azure Sensor & MultiTouch WPF AppFabric RIA Services VSTO Windows Phone 7 WCF Innovation Architecture SOA & architecture distribuée Confidentialité Veille technologique Sécurité
Agenda Entity Framework 4 Domain Service Domain Context Data Validation Les Outils de développements Migration vers le Cloud
Contoso Sales
Architecture ContosoSales SQL
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
Architecture ContosoSales Modele EDMX Entity Framework SQL
Génération du modèle ContosoModel Démo Génération du modèle ContosoModel
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)
Architecture ContosoSales .Net 3.5 / 4 Domain Service RIA Services Modele EDMX SQL Entity Framework
Génération du Domain Service Démo Génération du Domain Service
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
Domain Context : Linq2DC Utilisation de Linq pour affiner ses recherches Linq interroge le Domain Context Exemple : from d in myContext.StoreContacts where d.StoreID == ((Store)listStore.SelectedItem).StoreID select d;
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());
Architecture ContosoSales .Net 3.5 / 4 Silverlight 3 / 4 Domain Context Domain Service Modele EDMX SQL Code généré Entity Framework RIA Services
Démo Utilisation du Domain Context et de Linq2DC avec une application Maître / Détails
Sécurité Authentification [RequiresAuthentication] [RequiresRole("Administrator")] HTTPS [EnableClientAccess(RequiresSecureEndpoint = true)]
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
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, …
Architecture ContosoSales .Net 3.5 / 4 Silverlight 3 / 4 Application Silverlight Domain Context Domain Service Modele EDMX SQL Validation Data Validation, code partagé Code généré Entity Framework RIA Services
Validation de données Code Partagé Démo Validation de données Code Partagé
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)
Silverlight Business Application Visual Studio LightSwitch Démo Silverlight Business Application Visual Studio LightSwitch
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 responsabilité Infrastructure (as a Service) Storage Servers Networking O/S Middleware Virtualization Data Applications Runtime Géré par le fournisseur Votre responsabilité Platform (as a Service) Géré par le fournisseur Votre responsabilité 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
Localisation des datacenters Amérique du Nord Europe Asie - Pacifique N. Europe N. Central – U.S. W. Europe S. Central – U.S. E. Asia S.E. Asia
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.aspx http://msdn.microsoft.com/en-us/library/ee336281.aspx
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
Migration de la base vers SQL Azure Démo Migration de la base vers SQL Azure
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
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
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
Hosting de l’application dans Azure Démo Hosting de l’application dans Azure
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
Architecture ContosoSales .Net 3.5 / 4 Silverlight 3 / 4 Application Silverlight Domain Context Domain Service Modele EDMX SQL Validation Data Validation, code partagé Code généré Entity Framework RIA Services
Titre de la diapositive Texte niveau 1 Texte niveau 2 Texte niveau 3 Texte niveau 4 Texte niveau 5
Titre de la diapositive Titre du bloc 1 Texte sans puce Texte avec puce Titre du bloc 2 Texte sans puce Texte avec puce
Vidéo Titre de la vidéo date
Démo Titre de la démo
Annonce Titre de l’annonce
Couleurs Palette de couleurs à utiliser Liens : http://www.microsoft.com (#fce62f RVB 252 230 47) #fce62f RVB 252 230 47 #35ddfd RVB 53 212 253 #ff4e00 RVB 255 78 0 #fc2feb RVB 252 47 235 #5afd35 RVB 90 253 53 #ffffff RVB 255 255 255 #000000 RVB 0 0 0 #999999 RVB 153 153 153 #dddddd RVB 221 221 221 #0f53a0 RVB 15 83 160 #5b12b5 RVB 91 18 181 #ffa71c RVB 255 167 28 Pour fond blanc : Puces :
Titre de la diapositive (code) Fond blanc pour slide de code
Tableau Titre du tableau Colonne 1 Colonne 2 Colonne 3 Colonne 4
Graphique date
Camembert
MSDN et TechNet : l’essentiel des ressources techniques à portée de clic Portail administration et infrastructure pour informaticiens Portail de ressources technique pour développeurs http://technet.com http://msdn.com