palais descongrèsParis7, 8 et 9février 2012
De A à Z : Choisir une  architecture pour sa  solution applicative  (ARC201)7 février 2012Stéphanie Hertrich              ...
Agenda1.   Le besoin métier2.   L’analyse et le choix des technologies3.   La conception et les choix d’implémentation4.  ...
Ce que la session n’est pas                   http://msdn.microsoft.com/en-                   us/library/ff650706.aspx
Le besoin métier
Le besoin métier  Application Cave à Vins  Téléphone, tablette, Desktop,  multi-plateforme  Cas d’utilisation différents  ...
Contraintes s’ajoutant auCahier des charges  La plus belle app de cave à vins => Priorité à l’UX car  concurrence importan...
L’analyse et le choix destechnologies
La plus belle app de cave à vins Constat UX réussie => bien intégrée et homogène avec l’ergonomie nativement proposée par ...
Desktop : PivotViewer Pourquoi réinventer la roue ?   IHM de manipulation de collection Ex : http://netflixpivot.cloudapp....
Desktop : PivotViewer Disponible     en add-on avec Silverlight 4     directement avec Silverlight 5 Côté serveur     G...
Déclinable facilement sur tout typede device  • Une appli par plate-forme cliente  • Toujours les mêmes données           ...
Un service de donnéesinteropérable :OData                                    Data                                    DAL  ...
OData  Quelques précisions complémentaires au dessus de  REST (~profil): Odata    http://www.odata.org/developers/protoco...
BDD relationnelle ? C’est bon pournous ? Sql/noSql Considération               Sql               noSql Volumétrie         ...
Application publique : Chargeindéterminée   Plateforme Cloud ?   Pourquoi ? !!! Le client est frileux : il ne veut pas êtr...
Utiliser des providers d’identitéexistants(Facebook, Google, LiveID, …) Azure Access Control     Par les APIs de chaque Pa...
Remplissons ce modèle                                       Vues                   Cinématique    Interface               ...
Architecture à ce stade                                                                  Pivot          Silverlight       ...
La conception et les choixd’implémentation
WCF Data Services :OData pour .Net
WCF Data Services :OData pour .Net                       Sql         Sql                      Server      Azure           ...
Windows Azure                                                    WS-Federation                                            ...
Architecture Réversible Besoins   Déploiement des données et services à demeure ou Cloud   Stockage des fichiers d’image à...
Srockage des photos   Sur disque à demeure   Sur les blobs dans Azure Création d’un service qui implémente l’abstraction d...
Upload: cas Windows Azure                client        (1)                   (3)                            (2)    Service...
Upload: cas Windows Server               client        (1)           (2)   Service d’images                     (2)       ...
Access Control Services +Windows Phone + OData                          1 credentials                                 2 to...
Synthèse          Silverlight                                                               Pivot Viewer                  ...
De A à Z : Choisir une  architecture pour sa  solution applicative  (ARC201)7 février 2012Stéphanie Hertrich              ...
Prochain SlideShare
Chargement dans…5
×

De A à Z : Choisir une architecture pour sa solution applicative

551 vues

Publié le

En partant d’un besoin concret qui tient compte des nouveaux usages, nous évaluerons des architectures pouvant servir de squelette à notre solution applicative. Quelles technologies nous aideront à mettre en œuvre au mieux cette solution, et plus généralement, quelles sont les questions à se poser pour bien choisir une architecture et les technologies qui lui seront associées ? Cette session est la première du parcours « De A à Z : Concevoir et développer une solution applicative ». Nous y choisirons les technologies qui seront mises en œuvre dans la solution, tout au long de ce parcours d’une journée. Elle peut être suivie de manière totalement indépendante puisque seul le scénario métier sert de fil rouge dans le parcours.

Publié dans : Technologie
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
551
Sur SlideShare
0
Issues des intégrations
0
Intégrations
1
Actions
Partages
0
Téléchargements
19
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive
  • BenjNous ne traiterons pas tout en 1 h !
  • De A à Z : Choisir une architecture pour sa solution applicative

    1. 1. palais descongrèsParis7, 8 et 9février 2012
    2. 2. De A à Z : Choisir une architecture pour sa solution applicative (ARC201)7 février 2012Stéphanie Hertrich Benjamin Guinebertièreblogs.msdn.com/stephe www.benjguin.comRelation technique développeurs Relation technique architectesMicrosoft France Microsoft France
    3. 3. Agenda1. Le besoin métier2. L’analyse et le choix des technologies3. La conception et les choix d’implémentation4. Conclusion
    4. 4. Ce que la session n’est pas http://msdn.microsoft.com/en- us/library/ff650706.aspx
    5. 5. Le besoin métier
    6. 6. Le besoin métier Application Cave à Vins Téléphone, tablette, Desktop, multi-plateforme Cas d’utilisation différents  L’utilisateur emmène son téléphone au supermarché : aide au choix parmi les bouteilles en rayon par lecture du code-barre  Chez moi sur le poste de travail, je parcours le catalogue complet des vins
    7. 7. Contraintes s’ajoutant auCahier des charges La plus belle app de cave à vins => Priorité à l’UX car concurrence importante sur ce type d’applications qui vise potentiellement tout le monde Déclinable facilement sur tout type de device (phone, tablette, desktop) Appli publique, collaborative, charge variable/indéterminée Identification du propriétaire de la cave : réutiliser son compte FB, Google, Live, …
    8. 8. L’analyse et le choix destechnologies
    9. 9. La plus belle app de cave à vins Constat UX réussie => bien intégrée et homogène avec l’ergonomie nativement proposée par le device Solution Utiliser les contrôles du langage natif Développer en langage natif des principales plateformes Le fallback pourrait être une interface web (PhoneGap)
    10. 10. Desktop : PivotViewer Pourquoi réinventer la roue ? IHM de manipulation de collection Ex : http://netflixpivot.cloudapp.net/
    11. 11. Desktop : PivotViewer Disponible  en add-on avec Silverlight 4  directement avec Silverlight 5 Côté serveur  Génération du contenu statique ou dynamique Côté client  Associer des actions  Personnaliser les couleurs, fond, police …
    12. 12. Déclinable facilement sur tout typede device • Une appli par plate-forme cliente • Toujours les mêmes données Data DAL LAN, WAN, … WP7 Silverlight .Net … Html5 Faciliter l’accès aux données et aux services métiers Services http REST
    13. 13. Un service de donnéesinteropérable :OData Data DAL Réponse = OData Flux XML/JSON LAN, WAN, … Question = URI http WP7 Silverlight .Net … Html5Ex Netflix: les films des années 80 ayant une note > 4 et leur awardhttp://odata.netflix.com/Catalog/Titles?$filter=ReleaseYear le 1989and ReleaseYear ge 1980 and AverageRating gt 4&$expand=Awards
    14. 14. OData Quelques précisions complémentaires au dessus de REST (~profil): Odata  http://www.odata.org/developers/protocols/overview De nombreux SDK pour accélérer la consommation et la production  http://www.odata.org/developers/odata-sdk  Javascript, PHP, Java, ruby, Windows Phone 7, Objective- C, .NET, Silverlight, Joomla, Drupal, MySql, RemObjec ts Data Abstract
    15. 15. BDD relationnelle ? C’est bon pournous ? Sql/noSql Considération Sql noSql Volumétrie Mo -> To Mo -> Po Cas d’utilisation Universel Spécifique Maturité des technologies Au moins 20 ans Beaucoup de solutions très récentes Nature des données Tables Clefs/valeurs Schéma fixe Colonnes Documents Graphes … Montée en charge Non linéaire linéaire Fédérations SQL Azure Complémentarité
    16. 16. Application publique : Chargeindéterminée Plateforme Cloud ? Pourquoi ? !!! Le client est frileux : il ne veut pas être lié au Cloud de manière définitive Inactivité Compute Compute Prévoir une architecture réversible Utilisation Utilisation Utilisation Moyenne Temps Temps Compute Compute Utilisation Moyenne Utilisation Moyenne Temps Temps
    17. 17. Utiliser des providers d’identitéexistants(Facebook, Google, LiveID, …) Azure Access Control Par les APIs de chaque Par Windows fournisseur Services  Gérer les règles au  L’application reconnaît niveau de l’application ACS  Gérer les différents  On configure ACS pour protocoles et formats accepter des de jetons fournisseurs d’identité  Les maintenir
    18. 18. Remplissons ce modèle Vues Cinématique Interface Modèles Utilisateur Accès aux services Interfaces de services Service métier Accès aux données Accès aux services Entrepôt de données Service
    19. 19. Architecture à ce stade Pivot Silverlight Objective-CPages Viewer WP7 iPhone Nav Desktop (Silverlight) Objets Android OData Client métier OData Client OData Client Client OData Client Access Control Services Serveur OData Web/App: Service Windows Server ? ou Windows Azure Données DB
    20. 20. La conception et les choixd’implémentation
    21. 21. WCF Data Services :OData pour .Net
    22. 22. WCF Data Services :OData pour .Net Sql Sql Server Azure Chaine de connexion Entity Framework Serveur WCF Data Services WCF Data WCF Data Client Services Services OData Client Silverlight Silverlight iPhone, … pour WP Desktop
    23. 23. Windows Azure WS-Federation OpenIDAccélérateur Pour Windows Phone mais aussi iOS etAndroid:http://watwp.codeplex.com/https://github.com/microsoft-dpe/wa-toolkit-ios
    24. 24. Architecture Réversible Besoins Déploiement des données et services à demeure ou Cloud Stockage des fichiers d’image à demeure ou sur les blobs Transparent pour les apps clientes Simple mais à prévoir dès le départ pour abstraire - Le choix de la base - Le choix du lieu de stockage des images Comment ? Fichiers de config azure pour chaine de connexion à la BDD Service de stockage des photos renvoyant une simple Uri
    25. 25. Srockage des photos Sur disque à demeure Sur les blobs dans Azure Création d’un service qui implémente l’abstraction du lieu de stockage Pour le client: 1. Appel d’un service intermédiaire Uri GetUriForImage(); 2. PUT de l’image (Stream) sur l’Uri Sécurité par Shared Access Key sur Windows Azure http://nuget.org/packages/Phone.Storage.AccessControl
    26. 26. Upload: cas Windows Azure client (1) (3) (2) Service d’images Blobs (1) GetUriForImage renvoie une Shared Access Signature demandée au service de stockage avec la clef du compte (2) pour (3) PUT directement vers le service de Blobs. L’URI contient l’adresse avec la clef temporaire  Exemple: https://stockageazure.blob.core.windows.net/sample/wines/ChateauSample.jpg ?st=2012-01-20T16%3A33%3A20Z&se=2012-01- 20T17%3A33%3A20Z&sr=c&sp=rw&sig=HgX671MAcaQvwAEB3ITXz5k8zct11 3OR6iW5NpB67uE%3D
    27. 27. Upload: cas Windows Server client (1) (2) Service d’images (2) (1) GetUriForImage renvoie vers le service lui-même NTFS (2) PUT vers le service d’images qui fait suivre le stream vers le dossier NTFS
    28. 28. Access Control Services +Windows Phone + OData 1 credentials 2 token 5 validity 3 http Request ok/not ok with token 4 check token validity 6 Compute results or security 7 OData results or exception security exception OData ServiceNB : Le userId stocké dans le token = id du propriétaire du vin dans la BDD
    29. 29. Synthèse Silverlight Pivot Viewer Objective-C Pages (Silverlight) WP7 iPhone Nav Desktop Objets Android WCF Data OData Client métier WCF Data Client Services Services OData Client Access Control Services Serveur Photo Upload Service WCF Data Services Service File System Blob Client Entity Framework File System Blobs Données SQL Azure Sql Server DB
    30. 30. De A à Z : Choisir une architecture pour sa solution applicative (ARC201)7 février 2012Stéphanie Hertrich Benjamin Guinebertièreblogs.msdn.com/stephe www.benjguin.comRelation technique développeurs Relation technique architectesMicrosoft France Microsoft France

    ×