SlideShare une entreprise Scribd logo

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

Microsoft
Microsoft

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.

1  sur  30
Télécharger pour lire hors ligne
palais des
congrès
Paris




7, 8 et 9
février 2012
De A à Z : Choisir une
  architecture pour sa
  solution applicative
  (ARC201)
7 février 2012

Stéphanie Hertrich                Benjamin Guinebertière
blogs.msdn.com/stephe             www.benjguin.com
Relation technique développeurs   Relation technique architectes
Microsoft France                  Microsoft France
Agenda

1.   Le besoin métier
2.   L’analyse et le choix des technologies
3.   La conception et les choix d’implémentation
4.   Conclusion
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
    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

Recommandé

Présentation de WCF
Présentation de WCFPrésentation de WCF
Présentation de WCFRomain Coste
 
Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Quoi de neuf dans ASP.NET MVC 4
Quoi de neuf dans ASP.NET MVC 4Microsoft
 
M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4M20486 formation-developper-des-applications-web-asp-net-mvc-4
M20486 formation-developper-des-applications-web-asp-net-mvc-4CERTyou Formation
 
Microservices avec Spring Cloud
Microservices avec Spring CloudMicroservices avec Spring Cloud
Microservices avec Spring CloudFlorian Beaufumé
 
Architecture mvc
Architecture mvcArchitecture mvc
Architecture mvcMadridal
 
Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Asp.net Présentation de L'application "Organizer"
Asp.net Présentation de L'application "Organizer"Nazih Heni
 
Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Asp.net Tutorials de L'application "Organizer"
Asp.net Tutorials de L'application "Organizer"Nazih Heni
 

Contenu connexe

Tendances

Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeOuadie LAHDIOUI
 
Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the futureOuadie LAHDIOUI
 
20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyon20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyonClement Bouillier
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSRenaud Dumont
 
Angluars js
Angluars jsAngluars js
Angluars jsRYMAA
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSOAT
 
Multitenancy avec JPA ou Hibernate
Multitenancy avec JPA ou HibernateMultitenancy avec JPA ou Hibernate
Multitenancy avec JPA ou HibernateFlorian Beaufumé
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6Microsoft
 
MVVM par Karim PIerre Maalej
MVVM par Karim PIerre MaalejMVVM par Karim PIerre Maalej
MVVM par Karim PIerre MaalejCocoaHeads France
 
Windows azure media services : Plateforme VOD
Windows azure media services : Plateforme VODWindows azure media services : Plateforme VOD
Windows azure media services : Plateforme VODMicrosoft Technet France
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido SOAT
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftLeTesteur
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetupAspectize
 
Nuxeo Tech Talk AngularJS
Nuxeo Tech Talk AngularJSNuxeo Tech Talk AngularJS
Nuxeo Tech Talk AngularJSNuxeo
 
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 20167 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016Sébastien Le Marchand
 
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...Worteks
 

Tendances (20)

Front end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitéeFront end, une île qui mérite d'être visitée
Front end, une île qui mérite d'être visitée
 
Hello AngularJS - Back to the future
Hello AngularJS - Back to the futureHello AngularJS - Back to the future
Hello AngularJS - Back to the future
 
20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyon20140227 - injection de dépendances - mug lyon
20140227 - injection de dépendances - mug lyon
 
ASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJSASP.NET MVC, Web API & KnockoutJS
ASP.NET MVC, Web API & KnockoutJS
 
Angluars js
Angluars jsAngluars js
Angluars js
 
Java Server Faces - Beyond
Java Server Faces - BeyondJava Server Faces - Beyond
Java Server Faces - Beyond
 
Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0Initiation à ASP.NET 4.0
Initiation à ASP.NET 4.0
 
Soirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVCSoirée 3T Soat - Asp.net MVC
Soirée 3T Soat - Asp.net MVC
 
Multitenancy avec JPA ou Hibernate
Multitenancy avec JPA ou HibernateMultitenancy avec JPA ou Hibernate
Multitenancy avec JPA ou Hibernate
 
ASP.NET MVC 6
ASP.NET MVC 6ASP.NET MVC 6
ASP.NET MVC 6
 
MVVM par Karim PIerre Maalej
MVVM par Karim PIerre MaalejMVVM par Karim PIerre Maalej
MVVM par Karim PIerre Maalej
 
WPF MVVM
WPF MVVMWPF MVVM
WPF MVVM
 
Windows azure media services : Plateforme VOD
Windows azure media services : Plateforme VODWindows azure media services : Plateforme VOD
Windows azure media services : Plateforme VOD
 
Starter Kits
Starter KitsStarter Kits
Starter Kits
 
Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido Angular JS - Paterne Gaye-Guingnido
Angular JS - Paterne Gaye-Guingnido
 
Développer et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoftDévelopper et déployer WordPress en environnement microsoft
Développer et déployer WordPress en environnement microsoft
 
Aspectize meetup
Aspectize meetupAspectize meetup
Aspectize meetup
 
Nuxeo Tech Talk AngularJS
Nuxeo Tech Talk AngularJSNuxeo Tech Talk AngularJS
Nuxeo Tech Talk AngularJS
 
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 20167 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
7 plugins de la communauté à ne pas manquer ! - Liferay France Symposium 2016
 
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
[RedHat Forum 2019] REX - COMMENT MONTER UNE OFFRE DE CLOUD EN MARQUE BLANCHE...
 

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

Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureMicrosoft
 
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...Microsoft Technet France
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services PlatformGregory Renard
 
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en ODataDe A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en ODataMicrosoft
 
Comment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureComment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureMicrosoft Technet France
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasMicrosoft
 
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introductionMoez Re
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinThierry Buisson
 
Introduction à DotNetNuke
Introduction à DotNetNukeIntroduction à DotNetNuke
Introduction à DotNetNukeMicrosoft
 
DotNetNuke aux TechDays 2012
DotNetNuke aux TechDays 2012DotNetNuke aux TechDays 2012
DotNetNuke aux TechDays 2012Cyril P
 
Open Data Ready ! Libérez vos données avec OData et le Cloud
Open Data Ready ! Libérez vos données avec OData et le CloudOpen Data Ready ! Libérez vos données avec OData et le Cloud
Open Data Ready ! Libérez vos données avec OData et le CloudMicrosoft
 
Introduction à Samsung bada
Introduction à Samsung badaIntroduction à Samsung bada
Introduction à Samsung badaBeMyApp
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Microsoft
 
Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08actualblog
 
Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Microsoft
 

Similaire à De A à Z : Choisir une architecture pour sa solution applicative (20)

Développez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows AzureDéveloppez votre application Facebook avec Windows Azure
Développez votre application Facebook avec Windows Azure
 
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
System Center 2012 | Administrez vos clouds privé et public Windows Azure ave...
 
Azure Services Platform
Azure Services PlatformAzure Services Platform
Azure Services Platform
 
Azure Mesh Et Surface
Azure Mesh Et SurfaceAzure Mesh Et Surface
Azure Mesh Et Surface
 
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en ODataDe A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
De A à Z: Accès aux données avec Entity Framework 4.2 et publication en OData
 
Comment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows AzureComment intégrer une application ASP.NET dans Windows Azure
Comment intégrer une application ASP.NET dans Windows Azure
 
Java dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de JonasJava dans Windows Azure: l'exemple de Jonas
Java dans Windows Azure: l'exemple de Jonas
 
Chap1 p1-introduction
Chap1 p1-introductionChap1 p1-introduction
Chap1 p1-introduction
 
Architecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et XamarinArchitecturez vos applications mobiles avec Azure et Xamarin
Architecturez vos applications mobiles avec Azure et Xamarin
 
Introduction à DotNetNuke
Introduction à DotNetNukeIntroduction à DotNetNuke
Introduction à DotNetNuke
 
DotNetNuke aux TechDays 2012
DotNetNuke aux TechDays 2012DotNetNuke aux TechDays 2012
DotNetNuke aux TechDays 2012
 
Framework .net overview
Framework .net overviewFramework .net overview
Framework .net overview
 
Open Data Ready ! Libérez vos données avec OData et le Cloud
Open Data Ready ! Libérez vos données avec OData et le CloudOpen Data Ready ! Libérez vos données avec OData et le Cloud
Open Data Ready ! Libérez vos données avec OData et le Cloud
 
Cours architecture
Cours architectureCours architecture
Cours architecture
 
Introduction à Samsung bada
Introduction à Samsung badaIntroduction à Samsung bada
Introduction à Samsung bada
 
Google App Engine
Google App EngineGoogle App Engine
Google App Engine
 
Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.Réutilisation de code entre Windows 8 et Windows Phone 8.
Réutilisation de code entre Windows 8 et Windows Phone 8.
 
Le Cloud pour l'Education
Le Cloud pour l'EducationLe Cloud pour l'Education
Le Cloud pour l'Education
 
Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08Microsoft - Solution Virtualisation Windows Server 08
Microsoft - Solution Virtualisation Windows Server 08
 
Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5Analyse et optimisation des performances des applications Windows Phone 7.5
Analyse et optimisation des performances des applications Windows Phone 7.5
 

Plus de Microsoft

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuMicrosoft
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaSMicrosoft
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileMicrosoft
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Microsoft
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Microsoft
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Microsoft
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à ZMicrosoft
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Microsoft
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Microsoft
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsMicrosoft
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Microsoft
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryMicrosoft
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Microsoft
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Microsoft
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Microsoft
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET CoreMicrosoft
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Microsoft
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Microsoft
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursMicrosoft
 

Plus de Microsoft (20)

Uwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieuUwp + Xamarin : Du nouveau en terre du milieu
Uwp + Xamarin : Du nouveau en terre du milieu
 
La Blockchain pas à PaaS
La Blockchain pas à PaaSLa Blockchain pas à PaaS
La Blockchain pas à PaaS
 
Tester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobileTester, Monitorer et Déployer son application mobile
Tester, Monitorer et Déployer son application mobile
 
Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo Windows 10, un an après – Nouveautés & Démo
Windows 10, un an après – Nouveautés & Démo
 
Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.Prenez votre pied avec les bots et cognitive services.
Prenez votre pied avec les bots et cognitive services.
 
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
Office 365 Dev PnP & PowerShell : exploitez enfin le potentiel de votre écosy...
 
Créer un bot de A à Z
Créer un bot de A à ZCréer un bot de A à Z
Créer un bot de A à Z
 
Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?Microsoft Composition, pierre angulaire de vos applications ?
Microsoft Composition, pierre angulaire de vos applications ?
 
Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016Les nouveautés SQL Server 2016
Les nouveautés SQL Server 2016
 
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
Conteneurs Linux ou Windows : quelles approches pour des IT agiles ?
 
Administration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs AnalyticsAdministration et supervision depuis le Cloud avec Azure Logs Analytics
Administration et supervision depuis le Cloud avec Azure Logs Analytics
 
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
Retour d'expérience de projets Azure IoT "large scale" (MicroServices, portag...
 
Plan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site RecoveryPlan de Reprise d'Activité avec Azure Site Recovery
Plan de Reprise d'Activité avec Azure Site Recovery
 
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
Modélisation, déploiement et gestion des infrastructures Cloud : outils et bo...
 
Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.Transformation de la représentation : De la VR à la RA, aller & retour.
Transformation de la représentation : De la VR à la RA, aller & retour.
 
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
Quelles architectures pour vos applications Cloud, de la VM au conteneur : ça...
 
Introduction à ASP.NET Core
Introduction à ASP.NET CoreIntroduction à ASP.NET Core
Introduction à ASP.NET Core
 
Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?Open Source et Microsoft Azure, rêve ou réalité ?
Open Source et Microsoft Azure, rêve ou réalité ?
 
Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...Comment développer sur la console Xbox One avec une application Universal Win...
Comment développer sur la console Xbox One avec une application Universal Win...
 
Azure Service Fabric pour les développeurs
Azure Service Fabric pour les développeursAzure Service Fabric pour les développeurs
Azure Service Fabric pour les développeurs
 

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

  • 1. palais des congrès Paris 7, 8 et 9 février 2012
  • 2. De A à Z : Choisir une architecture pour sa solution applicative (ARC201) 7 février 2012 Stéphanie Hertrich Benjamin Guinebertière blogs.msdn.com/stephe www.benjguin.com Relation technique développeurs Relation technique architectes Microsoft France Microsoft France
  • 3. Agenda 1. Le besoin métier 2. L’analyse et le choix des technologies 3. La conception et les choix d’implémentation 4. Conclusion
  • 4. Ce que la session n’est pas http://msdn.microsoft.com/en- us/library/ff650706.aspx
  • 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. Contraintes s’ajoutant au Cahier 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. L’analyse et le choix des technologies
  • 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. Desktop : PivotViewer Pourquoi réinventer la roue ? IHM de manipulation de collection Ex : http://netflixpivot.cloudapp.net/
  • 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. Déclinable facilement sur tout type de 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. Un service de données interopérable :OData Data DAL Réponse = OData Flux XML/JSON LAN, WAN, … Question = URI http WP7 Silverlight .Net … Html5 Ex Netflix: les films des années 80 ayant une note > 4 et leur award http://odata.netflix.com/Catalog/Titles?$filter=ReleaseYear le 1989 and ReleaseYear ge 1980 and AverageRating gt 4&$expand=Awards
  • 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. BDD relationnelle ? C’est bon pour nous ? 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. Application publique : Charge indé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. 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. 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. 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. La conception et les choix d’implémentation
  • 21. WCF Data Services : OData pour .Net
  • 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. Windows Azure WS-Federation OpenID Accélérateur Pour Windows Phone mais aussi iOS et Android: http://watwp.codeplex.com/ https://github.com/microsoft-dpe/wa-toolkit-ios
  • 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. 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. 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. 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. 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 Service NB : Le userId stocké dans le token = id du propriétaire du vin dans la BDD
  • 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. De A à Z : Choisir une architecture pour sa solution applicative (ARC201) 7 février 2012 Stéphanie Hertrich Benjamin Guinebertière blogs.msdn.com/stephe www.benjguin.com Relation technique développeurs Relation technique architectes Microsoft France Microsoft France

Notes de l'éditeur

  1. BenjNous ne traiterons pas tout en 1 h !