Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Cas Pratique Du Mode DéConnecté De Silverlight

3,590 views

Published on

Published in: Technology
  • DOWNLOAD THAT BOOKS/FILE INTO AVAILABLE FORMAT - (Unlimited) ......................................................................................................................... ......................................................................................................................... Download FULL PDF EBOOK here { http://bit.ly/2m6jJ5M } ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... accessibility Books Library allowing access to top content, including thousands of title from favorite author, plus the ability to read or download a huge selection of books for your pc or smartphone within minutes Christian, Classics, Comics, Contemporary, Cookbooks, Art, Biography, Business, Chick Lit, Children's, Manga, Memoir, Music, Science, Science Fiction, Self Help, History, Horror, Humor And Comedy, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance,
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

Cas Pratique Du Mode DéConnecté De Silverlight

  1. 1.
  2. 2. Caspratique du mode déconnecté de Silverlight<br />Mohammed ZiedNemili<br />http://www.zied.fr<br />Arnaud Auroux<br />http://blogs.codes-sources.com/thadeus<br />
  3. 3. Tél : 01 46 08 78 50 <br />E-mail : contact@winwise.com Site web : www.winwise.com<br />1ère société d’expertise spécialisée sur les nouvelles technologies Microsoft<br />90 consultants experts certifiés sur les dernières technologies Microsoft , plusieurs MVP et 1 RegionalDirector<br />4 centres de compétences pour réaliser vos projets à forte valeur ajoutée :<br />Travail collaboratif <br />Business Intelligence & Data Management<br />Architecture et Cycle de vie des applications <br />Interfaces Utilisateurs et « Smart Clients »<br />1er centre de formation en France sur les technologies .Net et la BI<br />La solidité financière du groupe ALTEN<br />Pour tout renseignement : Stand N°C13, espace Communications Unifiées et Collaboration<br />
  4. 4. Sommaire<br />Silverlight<br />Couplage : problème et solution<br />Application occasionnellement connectées<br />Out Of Browser<br />Unity<br />Synchronisation des données : le SyncFramework<br />
  5. 5. Silverlight<br />RIA : Rich Internet Application<br />Application riche déployée sur le Web dans un contexte sécurisé.<br />Application offrant une grande expérience utilisateur : <br />Interactivité avec l’utilisateur<br />Utilisation de médias (audio/vidéo)<br />Animations/Transformations<br />…<br />
  6. 6. Silverlight<br />Plug-in multi-navigateurs<br />Multi-plateformes<br />Basésur.Net<br />Développement de RIA<br />
  7. 7. Silverlight<br />Applications métier à très fort potentiel, complexe mais …<br />
  8. 8. Couplage : le problème<br />Code spaghetti<br />Business Class 1<br />Data Access Class 1<br />Business Class 2<br />Data Access Class 2<br />Business Class 3<br />Data Access Class 1<br />
  9. 9. Couplage : le problème<br />Applications monolithique<br />Difficilement maintenable<br />Difficile à faire évoluer<br />Non réutilisable<br />Difficilement testable<br />Régressions<br />
  10. 10. Couplage : Vers la bonne solution<br />
  11. 11. Couplage : Vers la bonne solution<br />Métier<br />Accès aux données<br />Interface utilisateur<br />Interface utilisateur<br />Métier<br />DataAccess Interfaces<br />DataAccessimplementation<br />
  12. 12. Couplage : Vers la bonne solution<br />Métier<br />Accès aux données<br />Interface utilisateur<br />Interface utilisateur<br />Métier<br />DataAccess Interfaces<br />Factories<br />DataAccessimplementation<br />
  13. 13. Couplage : la solution<br />Injection de dépendances<br />ou<br />« Principe d'Holywood »<br />
  14. 14. Couplage : la solution<br />Classe I<br />Classe A<br />Dépend de<br />Classe J<br />Classe I<br />Classe A<br />injectés dans<br />Classe J<br />
  15. 15. Couplage : la solution<br />Métier<br />Accès aux données<br />Interface utilisateur<br />Interface utilisateur<br />Métier<br />DataAccess Interfaces<br />Injection de dépendances<br />Résolution de dépendances<br />DataAccessimplementation<br />Container IoC<br />
  16. 16. Couplage : la solution<br />Réutilisabilité<br />Maintenabilité<br />Souplesse d’architecture<br />Développement plus agile<br />Permet de charger une implémentation en fonction du contexte<br />
  17. 17. Cas pratique du mode déconnecté de Silverlight<br />Gestion de clients<br />Nous allons illustrer le découplage au sein des applications à travers un cas pratique : une application fonctionnant en mode online / offline<br />
  18. 18. Cas pratique : Gestion de clients<br />Application Silverlight occasionnellement connectée<br />Isolated Storage pour le stockage en local<br />Out Of Browser pour télécharger l’application en local<br />Syncframework pour synchroniser les données distantes<br />Unity pour l’injection de dépendances<br />
  19. 19. Cas pratique : Gestion de clients<br />Service<br />010011111010100010101000110101101011100110101010110100<br />DataStore<br />Application connectée.<br />Appel d’un Web Service pour la lecture et l’écriture de données.<br />
  20. 20. Cas pratique : Gestion de clients<br />Client data<br />Service data<br />Service<br />010011111110011010101011010<br />010011111110011010101011010<br />ViewModel<br />Entité logique permettant de faire le lien entre les données et le rendu visuel.<br />Application déconnectée.<br />LeViewModel utilise l’Isolatedstorage.<br />
  21. 21. Cas pratique : Gestion de clients<br />Service<br />010011111110011010101011010<br />010011111110011010101011010<br />Synchronisation des données offline et online.<br />
  22. 22. Démonstration 1<br />Mode connecté<br />
  23. 23. Les applications occasionnellement connectées<br />Destinées à des utilisateurs nomades.<br />L’application peut fonctionner aussi bien en mode online qu’en mode offline.<br />Téléchargement de l’application et des données en local.<br />L’isolatedstorage est mis à contribution.<br />
  24. 24. Silverlight Out Of Browser<br />Le XAP ainsi que des métadonnées sont stockés localement .<br />L’application est accessible en mode connecté et déconnecté.<br />L’application peut-être notifiée du changement d’état du réseau.<br />Le quota pour le stockage isolé passe de 1 à 25 Mo.<br />http://www.slapp.net<br />SlApp<br />
  25. 25. Démonstration 2<br />Mode déconnecté<br />
  26. 26. Unity<br />
  27. 27. Unity<br />Propose un container d’injection de dépendances.<br />Supporte l’injection de dépendances par constructeur, par setteur ou encore par appel de méthodes.<br />Résout les dépendances récursivement.<br />Les dépendances peuvent être déclarées par code ou via un fichier XML.<br />
  28. 28. Exemples Unity<br />IUnityContainercontainer = new UnityContainer();<br />// Map l'interface IMainViewModel à l'implémentation MainViewModel.<br />container.RegisterType<IMainViewModel, MainViewModel>();<br />// La même chose en mode "Singleton"<br />container.RegisterType<IMainViewModel, MainViewModel>(new ContainerControlledLifetimeManager());<br />// La même chose avec "une instance par thread" :<br />container.RegisterType<IMainViewModel, MainViewModel>(new PerThreadLifetimeManager());<br />// Spécifie comment notre Object doit être construit<br />// (ici en spécifiant un context de test):<br />container.RegisterType<Object, IObject>(new InjectionConstructor(new TestContext()));<br />
  29. 29. Démonstration 3<br />Utilisation de Unity<br />
  30. 30. Silverlight Out Of Browser<br />SlApp<br />Réseau<br />010011111010100010101000110101101011100110101010110100<br />Isolatedstorage<br />En mode déconnecté :<br />Modifications de l’entrepôt de données local.<br />Modifications de l’entrepôt de données distant.<br />… de façon désynchronisée.<br />
  31. 31. Sync Framework<br />Plateforme de synchronisation.<br />Permet l’itinérance, le partage et l’accès en mode déconnecté des données.<br />Fournit un modèle extensible qui permet d’intégrer plusieurs sources de données dans un écosystème de synchronisation.<br />Fonctionne sur un système de fournisseurs de synchronisation qui fournit la logique de synchronisation pour un type précis d’entrepôt de données.<br />Plusieurs fournisseurs sont fournis en standard (File system, Azure, etc.).<br />
  32. 32. Sync Framework<br />Votre Application<br />Orchestrateur de synchronisation<br />delta<br />delta<br />Sync Provider<br />Sync Provider<br />Données<br />Données<br />Détection des changements<br />Détection des changements<br />
  33. 33. Sync Framework<br />Aujourd’hui pas de version Silverlight du Sync Framework (2010 ?)<br />Pas de tracking de certaines modifications.<br />Silverlight ne peut pas compter sur un autre participant pour maintenir à jour ses métadonnées.<br />Une image de l’entrepôt de données est enregistrée avant d’être renvoyée au client<br />WebService<br />Le client Silverlight gère lui-même le tracking de certaines modifications<br />DataStore<br />
  34. 34. Démonstration 4<br />Synchronisation des données<br />
  35. 35. Conclusion<br />Silverlight tends vers un aspect client « lourd / léger » combinant ainsi le meilleur des 2 mondes.<br />Les outils sont là pour le développement d'applications de très grandes envergures.<br />Recommandons l’utilisation de l’IoC au quotidien.<br />A partir d’une certaine complexité, l’IoCs’impose.<br />A la portée de tout le monde.<br />
  36. 36. Merci de votre attention<br />Questions ?<br />

×