370 likes | 459 Views
RIA Services de A à Z. Audrey PETIT MCNEXT apetit@mcnext.com MVP Client App Dev. Nicolas CLERC CEO/CTO QuidMind nclerc@quidmind.com Microsoft Regional Director. MCNEXT Stand D7.
E N D
RIA Services de A à Z Audrey PETIT MCNEXT apetit@mcnext.com MVP Client App Dev Nicolas CLERC CEO/CTOQuidMind nclerc@quidmind.com Microsoft RegionalDirector
MCNEXT Stand D7 • 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 RegionalDirectoront 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. RegionalDirectordepuis 10ans et créateur de la société d’expertise logicielle QuidMind, Nicolas CLERCest formateur officiel au sein du programme Microsoft Metro (Windows Azure, Silverlight, Unified Communication, …). www.theregion.com www.quidmind.com Coaching Silverlight R & D Accompagnement stratégique Azure Sensor & MultiTouch WPF AppFabric RIA Services VSTO Windows Phone 7 WCF Architecture Innovation SOA & architecture distribuée Confidentialité Sécurité Veille technologique
Agenda • Entity Framework 4 • Domain Service • Domain Context • Data Validation • Les Outils de développements • Migration vers le Cloud
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 SQL EntityFramework
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 Modele EDMX SQL EntityFramework RIA Services
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.StoreContactswhered.StoreID == ((Store)listStore.SelectedItem).StoreIDselect 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é EntityFramework RIA Services
Démo Utilisation du Domain Context et de Linq2DCavec 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 DomainContextlors de la compilation • Shared code (.shared.cs ) • Contrôles de saisieintégrés avec la validation de données • TextBox, DataForm, … • Extensible • Création et partaged’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é EntityFramework RIA Services
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)
Démo Silverlight Business Application Visual Studio LightSwitch
Migration vers le Cloud • Azure est la plateforme de « cloudcomputing » Microsoft • Basé sur Windows 2008 R2 64bit, Hyper-V, • Framework .NET , WCF, … • SQL Serveur 2008, … Infrastructure (as a Service) Platform (as a Service) Packaged Software Software (as a Service) Votreresponsabilité Applications Applications Applications Applications Votreresponsabilité Data Data Data Data Votreresponsabilité Runtime Runtime Runtime Runtime Géré par le fournisseur Middleware Middleware Middleware Middleware Géré par le fournisseur O/S O/S O/S O/S Virtualization Virtualization Virtualization Virtualization Géré par le fournisseur Servers Servers Servers Servers Storage Storage Storage Storage Networking Networking Networking Networking
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 LanguageRuntime (CLR) • Database file placement • Databasemirroring • Distributedqueries • 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 DataMigrationWizard 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
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 classeWebRole : RoleEntryPoint • Surcharger OnStart() • Déployer votre application
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
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