530 likes | 819 Views
Tout pour devenir un bon architecte. Stéphane GOUDEAU, stephgou@microsoft.com Stève SFARTZ, ssfartz@microsoft.com Architectes en système d’information Microsoft FRANCE. WebCast Live. 1h pour s’initier au design d’architectures Site de commerce électronique
E N D
Tout pour devenir un bon architecte Stéphane GOUDEAU, stephgou@microsoft.com Stève SFARTZ, ssfartz@microsoft.com Architectes en système d’information Microsoft FRANCE
WebCast Live • 1h pour s’initier au design d’architectures • Site de commerce électronique • Un client DinnerNowCompagnie • Une SSII IntegrerViteEtBien • Stève, l’avant-vente • Stéphane, l’architecte • Plus d’informationssurl’architecture • www.microsoft.com/france/msdn/architects
Le projet DinnerNow • Proposer un service en ligne de commande de repasdepuisplusieurs restaurants • Un site Web de saisie de commandes • Le carnet de commandes accessible par les restaurateurs • Un suivi en ligne des commandes clients • Les adresses des plats à réceptionner et à déposer pour les livreurs • Projet de type startup • Inonder le marchéfrançais, puis international • Délaisserrés et forte évolutivité
Client : Saisiedescommandes • Site marchand grand public • Interface intuitive • Commande en 5 clicks • Effectuerunesélection de plats • Multi-restaurants • Recherchelocalisée • Paiement en ligne V2 • Fidélisation des clients
Restaurant : Gestion des commandes • Visualisation du carnet de commande • Etat de chaquecommande • Niveaud’urgence des commandes • Préciserl’avancement des commandes(Emporter / Annuler) • Statistiques • Nombre de commandessur la semaine • Actus de la centrale V2 Synchronisation avec les back-offices des grandeschaînes
Client : Suivi de sa commande • Etatd’avancement de la préparation • Temps réel • Heure de livraison • Adresse de livraison V2 • Historique • Commandes / Plats / Restaurants • Communauté • Notation • Lieuxfavoris
Livreur : Détail des commandes • Détails des livraisons • Lieu de réception • Lieu de livraison V2 • Géo-Localisation • Historique des livraisons
Récapitulons • Client Web Riche (RIA) • Gestion de panier • Sécurité : authentification, paiement en ligne
Récapitulons • Client Web Riche (RIA) • Gestion de panier • Sécurité : authentification, paiement en ligne • Client Windows (RDA, Smart Client) • Géo-localisation • Flux RSS • Bonus: Gestion d’un mode offline
Récapitulons • Client Web Riche (RIA) • Gestion de panier • Sécurité : authentification, paiement en ligne • Client Windows (RDA, Smart Client) • Géo-localisation • Flux RSS • Bonus: Gestion d’un mode offline • Client Riche (RIA ou RDA) • Géo-Localisation • FréquenceRafraichissement Importante • (~ 60s)
Récapitulons • Client Web Riche (RIA) • Gestion de panier • Sécurité : authentification, paiement en ligne • Client Windows (RDA, Smart Client) • Géo-localisation • Flux RSS • Bonus: Gestion d’un mode offline • Client Riche (RIA ou RDA) • Géo-Localisation • FréquenceRafraichissement Importante (~ 60s) • Client Mobile (RMA, Mobile Client) • Géo-Localisation • Connectivité Web
Synthèse des besoins techniques • Application multi-canal • Gestion de workflow • Préparation de la commande – Séquentiel - Algorithmique • Transmission vers les restaurants • Traiter les commandes en parallèle • Gestion des commandes – Automate à états finis • Modification des états : en préparation, annulée, à emporter, livrée • Dimension supervision • Disponibilité technique de bout en bout • Visibilité sur l’activité • Commandes en cours…
Choix d’architecture applicative • SOA – Architecture Orientée Services • Flexibilité des échanges • Web (HTTP), TCP (intranet), MSMQ (Asynchrone) • Garanties de montée en charge • Scalabilité du Web (protocole HTTP) • Supervision • Disponibilité des services • Archiver les échanges de messages • Support du multi-canal • Gestion de la sécurité, de la robustesse, des transactions sur tous les transports
Architecture SOA Sécurité et gestion des identités Supervision et Gouvernance Conception et Développement Consommation Contrôle de l’utilisateur Composition Interaction avec l’utilisateur Présentation (navigation, contrôles) Collaboratif Aggrégation de services Processus Métier Gestion des données Véhiculer les messages Composition Logique Métier transactionnelle Services de connectivité Exposition Systèmesexistants, legacy
Architecture logicielle HTTP Application Web RIA TCP ou MSMQ / SOAP RDA Métier DinnerNowDB RDA Services HTTP SOAP WS-* Moteur de Workflow wfDB RMA Supervision
Les technologies candidates • Commerce Serveur 2007
Les technologies candidates • Commerce Serveur 2007 • Chiffrage en cours par une autre équipe • Une alternative est nécessaire car le produit n’est pas encore référencé chez le client
Business Intelligence Collaboration BusinessProcesses Portal Content Management Search Les technologies candidates • Commerce Serveur 2007 • Office SharePoint Serveur (MOSS) 2007 Windows SharePoint Services“V3”
MOSS 2007 Collaboration BusinessProcesses Office Serveur BI Search CMS Services Systèmes Modèle de site Sécurité Stockage Topologie APIs Management ASP.NET V2 Web Parts | Personnalisation | Master Pages | Framework (Navigation, Sécurité…) Services Base de données Services de Recherche Services de Workflow Système d’exploitation
Les technologies candidates • Commerce Serveur 2007 • Office SharePoint Serveur (MOSS) 2007 • Pas de besoin de gestion de contenus (CMS) • Pas de personnalisation sur V1 • Pas de template pour l’eCommerce
Les technologies candidates • Commerce Serveur 2007 • Office SharePoint Serveur (MOSS) 2007 • Développement spécifique • A partir d’un open source • StarterKit, DotNetNuke • A écarter car ces frameworks sont très orientés Web, nécessité de gérer du multi-canal
Les technologies candidates • Commerce Serveur 2007 • Office SharePoint Serveur (MOSS) 2007 • Développement spécifique • A partir d’un open source • StarterKit, DotNetNuke • A écarter car besoins multi-canal • Spécifique • Architecture applicative • Choix d’implémentation • Frameworks, Application Blocks
Architecture applicative MSDN Pattern & Practices msdn.microsoft.com/practices • Software Factories • Guide de référence • Application Blocks
Smart Client Interface utilisateur Service web Logique métier RDA - Smart Client Server Web Client Deploiement Smart Client Logique métier
ASP.NET Application Pages Affichage Initial UI + Comportement Données UI Behavior (Managed Code) Mise à jour de l’UI + Comportement ou données ASP.NET Atlas Script Framework Page Framework, Server Controls Component/UI Framework, Controls Application Services Client Application Services ASP.NET Ajax Extensions 1.0Modèle de programmation Serveur Browser “Application” Presentation (HTML/CSS)
Données Données ASP.NET Atlas Script Framework Page Framework, Server Controls Component/UI Framework, Controls Application Services Client Application Services ASP.NET Ajax Extensions 1.0Modèle de programmation client ASP.NET Application Browser “Application” Presentation (HTML/CSS) Pages Rendu Initial (UI + Comportement) UI Behavior (Managed Code) “Ajax” Service Proxies UI Behavior (Script) Web Services
HTM,Script, Balisage Atlas ASP.NET Ajax Proxiesde service Atlas ServicesWeb (ASMX/WCF) Bibliothèque de script et composants Microsoft Ajax Contrôles,composants ExtensionsserveurASP.NETAjax Bridge deservicesd'application ModèledecomposantsetinfrastructureUI ContrôlesserveurAtlas ServicesAjax Client Bridge deservicesWeb Bibliothèquedeclassesdebase Librairie Microsoft Ajax InfrastructureserveurAjax Banquelocale Scriptprincipal ASP.NET2.0 Navigateur Intégration Infrast.page,contrôlesserveur Servicesd'application Compat.navigateurs ASP.NET Ajax Extensions 1.0
Windows Mobile 6 SDK • Nouvel Emulateur • Simulation de l’ActiveSync • Add-in Visual Studio
Les gadgets Vista Connexion avec le Web Sidebar qui héberge les gadgets Utilitaires Flux RSS La galerie de gadgets Applications Métier
Message BizTalk Server Moteur de règles métier Port de réception Port d’émission Orchestration Adapta-teur Adap- tateur Serveur Pipeline d’envoi Pipeline de réception Serveur Serveur Stockage persistent des messages
Positionnement BizTalk Serveur BizTalk Server • BizTalk • Un produit • Pour des scénarios B2B, EAI, BPM • Comporte des outils de déploiement, suivi, montée en charge, etc. Accelerators Business Activity Monitor And Admin Tools Design Tools Workflow Orchestration Messaging Transformation • Une prochaine version intègrera WF dans le moteur d’orchestrations. Adapters • Workflow Framework • Une API .Net 3.0 • Scénarios très divers • Permet d’ajouter des fonctionnalités de workflow à des applications existantes. • Livré sans infrastructure d’hébergement : à vous de la créer Visual Studio Designer .NET 3.0 Windows Workflow Foundation
Choix BizTalk Serveur • Bien adapté à DinnerNow • WorkFlow • Supervision • Etat de santé : HATS • Suivi d’activités : BAM • Evolutivité • Nos experts sont occupés • Choix WorkflowFoundation pour le prototype
Workflow Séquentiel Machine à Etats Activités conditionnées par des règles Event State1 Step1 Step1 Rule1 State2 Event L’ordre de traitement est décrit par une structure séquentielle Data Step2 Step2 Rule2 EX: Vérification d’inventaire EX: Validation par manager Les évènements externes conditionnent l’ordre de traitement Les règles et les données conditionnent l’ordre de traitement Différents types de workfow Un ensemble d’activités qui coordonnent les personnes et les processus logiciels... Machine à états Workflow séquentiel
Windows Communication Foundation .NET Remoting ASMX Interopérabilité avec d’autres plateformes Extensibilité Mode binaire Transaction Performance Programmation orientée Message Protocoles WS-* Enterprise Services System.Messaging WSE
Ajout de comportements A A A B B B C C C C B A Client Service Bv Bv Adresse Où? « Binding » Comment? Contrat Quoi? Endpoint
Maquette • Visual Studio 2008 • .Net 3.5 • SQL Express
Choix d’implémentation • User Expérience • Smart Client WPF & Web Client ASP.Net AJAX • Ergonomie Web • Gadget Vista • Innovation • Mobile Client .Net Compact • Support des Services Web • SOA & Workflow • WCF - Windows Communication Foundation • Evolutivité des bindings • WF - WorkflowFoundation • Gestion du cycle de vie et persistance
Choix d’implémentation • Données • Persistance Linq • Flexibilité • Sécurité • Authentification & Autorisation ASP.Net • Brique prête à l’emploi • CardSpace • Souplesse pour l’utilisateur
Choix d’implémentation • Management • WMI - Windows Management Infrastructure • Infrastructure scalable et ouverture de gestion des évènements de managemenrt • MMC SnapIn – Management Console • Evolution possible vers des outils de supervision type System Center • PowerShell • Scripting, Pilotage par les équipes d’exploitation