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

Contenu connexe

Tendances

Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsPetit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsOCTO Technology
 
Building Entreprise App With Spring Portfolio
Building Entreprise App With Spring PortfolioBuilding Entreprise App With Spring Portfolio
Building Entreprise App With Spring Portfoliomaknihamdi
 
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...CERTyou Formation
 
Du JavaScript propre ? Challenge accepted!
Du JavaScript propre ? Challenge accepted!Du JavaScript propre ? Challenge accepted!
Du JavaScript propre ? Challenge accepted!OCTO Technology
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications JavaAntoine Rey
 
J2eeintro
J2eeintroJ2eeintro
J2eeintromedbmb
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeMicrosoft
 

Tendances (13)

Support de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec SpringSupport de Cours JSF2 Première partie Intégration avec Spring
Support de Cours JSF2 Première partie Intégration avec Spring
 
Silverlight
SilverlightSilverlight
Silverlight
 
Pattern MVVM avec MVVM Light Toolkit
Pattern MVVM avec MVVM Light ToolkitPattern MVVM avec MVVM Light Toolkit
Pattern MVVM avec MVVM Light Toolkit
 
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIsPetit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
Petit déjeuner OCTO Technology - Nouvelles Architectures Web Front-End et APIs
 
Modele mvc
Modele mvcModele mvc
Modele mvc
 
Building Entreprise App With Spring Portfolio
Building Entreprise App With Spring PortfolioBuilding Entreprise App With Spring Portfolio
Building Entreprise App With Spring Portfolio
 
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
M10262 formation-developper-des-applications-windows-avec-microsoft-visual-st...
 
Du JavaScript propre ? Challenge accepted!
Du JavaScript propre ? Challenge accepted!Du JavaScript propre ? Challenge accepted!
Du JavaScript propre ? Challenge accepted!
 
Workshop spring session 2 - La persistance au sein des applications Java
Workshop spring   session 2 - La persistance au sein des applications JavaWorkshop spring   session 2 - La persistance au sein des applications Java
Workshop spring session 2 - La persistance au sein des applications Java
 
Tuto spring
Tuto springTuto spring
Tuto spring
 
J2eeintro
J2eeintroJ2eeintro
J2eeintro
 
Cours wpf avancé
Cours wpf avancéCours wpf avancé
Cours wpf avancé
 
De A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicativeDe A à Z : Choisir une architecture pour sa solution applicative
De A à Z : Choisir une architecture pour sa solution applicative
 

En vedette

Mariage entre géomatique et intelligence d'affaires : les bases par l'exemple
Mariage entre géomatique et intelligence d'affaires : les bases par l'exempleMariage entre géomatique et intelligence d'affaires : les bases par l'exemple
Mariage entre géomatique et intelligence d'affaires : les bases par l'exempleACSG Section Montréal
 
Medias Presentation
Medias PresentationMedias Presentation
Medias Presentationguest707d38
 
Palmarès 2012 des cartes de voeux numériques d'entreprise
Palmarès 2012 des cartes de voeux numériques d'entreprisePalmarès 2012 des cartes de voeux numériques d'entreprise
Palmarès 2012 des cartes de voeux numériques d'entrepriseMarketing PME
 
Le service de vidéo numérique du Ministère des Transports
Le service de vidéo numérique du Ministère des TransportsLe service de vidéo numérique du Ministère des Transports
Le service de vidéo numérique du Ministère des TransportsACSG Section Montréal
 
Caminando+por+eguisheim
Caminando+por+eguisheimCaminando+por+eguisheim
Caminando+por+eguisheimruixcp
 
GéoConnexions III (2010-2015) : Développer des stratégies géospatiales pour p...
GéoConnexions III (2010-2015) : Développer des stratégies géospatiales pour p...GéoConnexions III (2010-2015) : Développer des stratégies géospatiales pour p...
GéoConnexions III (2010-2015) : Développer des stratégies géospatiales pour p...ACSG Section Montréal
 
Cultura deportiva-en-el-deporte-extremo
Cultura deportiva-en-el-deporte-extremoCultura deportiva-en-el-deporte-extremo
Cultura deportiva-en-el-deporte-extremojonathanaltf5
 
Equipo de ciencias final
Equipo de ciencias finalEquipo de ciencias final
Equipo de ciencias finalDe Ana
 
Entorno de trabajo de power point,,alejandra lara suñiga
Entorno de trabajo de power point,,alejandra lara suñigaEntorno de trabajo de power point,,alejandra lara suñiga
Entorno de trabajo de power point,,alejandra lara suñigaalejandralara1996
 
Les APP, le renouveau pédagogique
Les APP, le renouveau pédagogiqueLes APP, le renouveau pédagogique
Les APP, le renouveau pédagogiqueFFFOD
 
Inferir significado fr fl
Inferir significado fr flInferir significado fr fl
Inferir significado fr flSandy-66
 
Triangle De Presignalisation
Triangle De PresignalisationTriangle De Presignalisation
Triangle De Presignalisationguestfd46f0
 
Presentation Crystal Finance
Presentation Crystal FinancePresentation Crystal Finance
Presentation Crystal FinanceKHASKI
 
Visita feria mercoequip 2015
Visita feria mercoequip 2015Visita feria mercoequip 2015
Visita feria mercoequip 2015MARIA JOSE ALLUE
 
Des données géographiques et un logiciel libre et gratuit pour l'autonomie de...
Des données géographiques et un logiciel libre et gratuit pour l'autonomie de...Des données géographiques et un logiciel libre et gratuit pour l'autonomie de...
Des données géographiques et un logiciel libre et gratuit pour l'autonomie de...ACSG Section Montréal
 
Gestion et planification géomatique au Canadien National
Gestion et planification géomatique au Canadien NationalGestion et planification géomatique au Canadien National
Gestion et planification géomatique au Canadien NationalACSG Section Montréal
 

En vedette (20)

Mariage entre géomatique et intelligence d'affaires : les bases par l'exemple
Mariage entre géomatique et intelligence d'affaires : les bases par l'exempleMariage entre géomatique et intelligence d'affaires : les bases par l'exemple
Mariage entre géomatique et intelligence d'affaires : les bases par l'exemple
 
Medias Presentation
Medias PresentationMedias Presentation
Medias Presentation
 
Palmarès 2012 des cartes de voeux numériques d'entreprise
Palmarès 2012 des cartes de voeux numériques d'entreprisePalmarès 2012 des cartes de voeux numériques d'entreprise
Palmarès 2012 des cartes de voeux numériques d'entreprise
 
Le service de vidéo numérique du Ministère des Transports
Le service de vidéo numérique du Ministère des TransportsLe service de vidéo numérique du Ministère des Transports
Le service de vidéo numérique du Ministère des Transports
 
Caminando+por+eguisheim
Caminando+por+eguisheimCaminando+por+eguisheim
Caminando+por+eguisheim
 
Difusion ausma
Difusion ausmaDifusion ausma
Difusion ausma
 
GéoConnexions III (2010-2015) : Développer des stratégies géospatiales pour p...
GéoConnexions III (2010-2015) : Développer des stratégies géospatiales pour p...GéoConnexions III (2010-2015) : Développer des stratégies géospatiales pour p...
GéoConnexions III (2010-2015) : Développer des stratégies géospatiales pour p...
 
Cultura deportiva-en-el-deporte-extremo
Cultura deportiva-en-el-deporte-extremoCultura deportiva-en-el-deporte-extremo
Cultura deportiva-en-el-deporte-extremo
 
Equipo de ciencias final
Equipo de ciencias finalEquipo de ciencias final
Equipo de ciencias final
 
Entorno de trabajo de power point,,alejandra lara suñiga
Entorno de trabajo de power point,,alejandra lara suñigaEntorno de trabajo de power point,,alejandra lara suñiga
Entorno de trabajo de power point,,alejandra lara suñiga
 
Les APP, le renouveau pédagogique
Les APP, le renouveau pédagogiqueLes APP, le renouveau pédagogique
Les APP, le renouveau pédagogique
 
Examen Unidad 5
Examen Unidad 5Examen Unidad 5
Examen Unidad 5
 
Inferir significado fr fl
Inferir significado fr flInferir significado fr fl
Inferir significado fr fl
 
Triangle De Presignalisation
Triangle De PresignalisationTriangle De Presignalisation
Triangle De Presignalisation
 
Presentation Crystal Finance
Presentation Crystal FinancePresentation Crystal Finance
Presentation Crystal Finance
 
Visita feria mercoequip 2015
Visita feria mercoequip 2015Visita feria mercoequip 2015
Visita feria mercoequip 2015
 
Workshop Simulation en pédagogie immersive
Workshop Simulation en pédagogie immersiveWorkshop Simulation en pédagogie immersive
Workshop Simulation en pédagogie immersive
 
test
testtest
test
 
Des données géographiques et un logiciel libre et gratuit pour l'autonomie de...
Des données géographiques et un logiciel libre et gratuit pour l'autonomie de...Des données géographiques et un logiciel libre et gratuit pour l'autonomie de...
Des données géographiques et un logiciel libre et gratuit pour l'autonomie de...
 
Gestion et planification géomatique au Canadien National
Gestion et planification géomatique au Canadien NationalGestion et planification géomatique au Canadien National
Gestion et planification géomatique au Canadien National
 

Similaire à Cas Pratique Du Mode DéConnecté De Silverlight

Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flexdavid deraedt
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiENSET, Université Hassan II Casablanca
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à ZMicrosoft
 
Windows phone 7 sync application sur Azure, création d'application offline re...
Windows phone 7 sync application sur Azure, création d'application offline re...Windows phone 7 sync application sur Azure, création d'application offline re...
Windows phone 7 sync application sur Azure, création d'application offline re...Microsoft Décideurs IT
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...vlabatut
 
Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1Mohamed Ouederni
 
Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1realtn
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: AngularHabib Ayad
 
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...Microsoft Ideas
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESSOAT
 
TechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureTechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureThomas Conté
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à zArnaud Auroux
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Frédéric Queudret
 
Informatique Mobile et synchronisation
Informatique Mobile et synchronisationInformatique Mobile et synchronisation
Informatique Mobile et synchronisationSébastien Letélié
 
Cyjspweb formation-web-jsp-servlets-developper-des-applications-web-mvc2-avec...
Cyjspweb formation-web-jsp-servlets-developper-des-applications-web-mvc2-avec...Cyjspweb formation-web-jsp-servlets-developper-des-applications-web-mvc2-avec...
Cyjspweb formation-web-jsp-servlets-developper-des-applications-web-mvc2-avec...CERTyou Formation
 
Passez à la dématérialisation 3.0 avec la capture mobile en temps réel
Passez à la dématérialisation 3.0 avec la capture mobile en temps réelPassez à la dématérialisation 3.0 avec la capture mobile en temps réel
Passez à la dématérialisation 3.0 avec la capture mobile en temps réelSollan France
 

Similaire à Cas Pratique Du Mode DéConnecté De Silverlight (20)

Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
Fondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application FlexFondamentaux d'architecture d'une application Flex
Fondamentaux d'architecture d'une application Flex
 
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfiJava entreprise edition et industrialisation du génie logiciel par m.youssfi
Java entreprise edition et industrialisation du génie logiciel par m.youssfi
 
MVVM de A à Z
MVVM de A à ZMVVM de A à Z
MVVM de A à Z
 
Windows phone 7 sync application sur Azure, création d'application offline re...
Windows phone 7 sync application sur Azure, création d'application offline re...Windows phone 7 sync application sur Azure, création d'application offline re...
Windows phone 7 sync application sur Azure, création d'application offline re...
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
Techdays 2012 : Mise en place d'une démarche ALM avec Visual Studio pour Wind...
 
[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker[Tuto] Big datatrack : Web Tracker
[Tuto] Big datatrack : Web Tracker
 
Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1
 
Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1Presentation certification 70-536 atelier 1
Presentation certification 70-536 atelier 1
 
Partie 2: Angular
Partie 2: AngularPartie 2: Angular
Partie 2: Angular
 
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...Déploiment des tablettes et gestion du parc informatique dans les établisseme...
Déploiment des tablettes et gestion du parc informatique dans les établisseme...
 
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUESARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
ARCHITECTURE MICROSERVICE : TOUR D’HORIZON DU CONCEPT ET BONNES PRATIQUES
 
TechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows AzureTechDays 2010 (CLO202) : Introduction à Windows Azure
TechDays 2010 (CLO202) : Introduction à Windows Azure
 
Tech days 2012 mvvm de a à z
Tech days 2012   mvvm de a à zTech days 2012   mvvm de a à z
Tech days 2012 mvvm de a à z
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009
 
Prezentare ASP.Net.pptx
Prezentare ASP.Net.pptxPrezentare ASP.Net.pptx
Prezentare ASP.Net.pptx
 
Informatique Mobile et synchronisation
Informatique Mobile et synchronisationInformatique Mobile et synchronisation
Informatique Mobile et synchronisation
 
Cyjspweb formation-web-jsp-servlets-developper-des-applications-web-mvc2-avec...
Cyjspweb formation-web-jsp-servlets-developper-des-applications-web-mvc2-avec...Cyjspweb formation-web-jsp-servlets-developper-des-applications-web-mvc2-avec...
Cyjspweb formation-web-jsp-servlets-developper-des-applications-web-mvc2-avec...
 
Passez à la dématérialisation 3.0 avec la capture mobile en temps réel
Passez à la dématérialisation 3.0 avec la capture mobile en temps réelPassez à la dématérialisation 3.0 avec la capture mobile en temps réel
Passez à la dématérialisation 3.0 avec la capture mobile en temps réel
 

Plus de Arnaud Auroux

Conférence windows phone 7
Conférence windows phone 7Conférence windows phone 7
Conférence windows phone 7Arnaud Auroux
 
Visual studio online
Visual studio onlineVisual studio online
Visual studio onlineArnaud Auroux
 
Accéder aux données avec le windows runtime
Accéder aux données avec le windows runtimeAccéder aux données avec le windows runtime
Accéder aux données avec le windows runtimeArnaud Auroux
 
Développement d'un composant win rt
Développement d'un composant win rtDéveloppement d'un composant win rt
Développement d'un composant win rtArnaud Auroux
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Arnaud Auroux
 
Industrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria servicesIndustrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria servicesArnaud Auroux
 
Les tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet coreLes tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet coreArnaud Auroux
 

Plus de Arnaud Auroux (7)

Conférence windows phone 7
Conférence windows phone 7Conférence windows phone 7
Conférence windows phone 7
 
Visual studio online
Visual studio onlineVisual studio online
Visual studio online
 
Accéder aux données avec le windows runtime
Accéder aux données avec le windows runtimeAccéder aux données avec le windows runtime
Accéder aux données avec le windows runtime
 
Développement d'un composant win rt
Développement d'un composant win rtDéveloppement d'un composant win rt
Développement d'un composant win rt
 
Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8Réutilisation de code entre windows 8 et windows phone 8
Réutilisation de code entre windows 8 et windows phone 8
 
Industrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria servicesIndustrialiser le développement avec silverlight 4 et wcf ria services
Industrialiser le développement avec silverlight 4 et wcf ria services
 
Les tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet coreLes tests comportementaux avec aspnet core
Les tests comportementaux avec aspnet core
 

Cas Pratique Du Mode DéConnecté De Silverlight

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

Notes de l'éditeur

  1. Démonstration de l’application dans l’état avec ajout de nouveaux utilisateurs
  2. Création du ViewModel offline + écriture de code pour la sérialization dans l’IS
  3. Ajout du resolver avec système d’injection de dépendances.