NServiceBus, l’”ESB” léger pour tous !

Slides:



Advertisements
Présentations similaires
Présentation des technologies SharePoint 2007
Advertisements

SOA et Services Web Dr. Rim Samia Kaabi 26 mars 2017.
Les technologies d’intégration
Microsoft Office Groove Le contexte Une utilisation des postes de travail en très grande évolution chez les professionnels. Des lieux de travail.
Implémentation de la gestion de réseau dans Windows 2000 et plus
GEF 435 Principes des systèmes dexploitation Communication Interprocessus (CIP) III (Tanenbaum 2.3)
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
Stéphanie CLAPIÉ Antoine RENARD
Nicolas Galliot M2SIR David Raspilaire
Object Management Architecture (OMA)
Cours 5 : Les Web Services et WSDL Mars Version 1.0 -
1 Les technologies XML Cours 1 : Les Web Services et Architectures Orientées Services Fé vrier Version 1.0 -
51 Les technologies XML Cours 7 : Utilisations dXML Janvier Version 1.0 -

simulateur de réseau de machines UML connectées par WiFi mode ad-hoc
Le Workflow et ses outils
Les outils d’intégration continue
FrontCall - 4C Les Centres de Contacts Virtuels
Etude des Technologies du Web services
1 journée, 5 sessions, 1 réalisation.NET Enterprise Realization Day.
7 - EAI Les EAI : Enterprise Application Integration Marché
Les relations clients - serveurs
BitDefender Enterprise Manager. BitDefender Enterprise Manager – protection centralisée pour votre réseau Principales fonctions Fonctions spéciales (WMI)
22 Intéropérabilité Silverlight & PHP Le 8 février 2010 GIACOPINO Cyril Directeur pôle technologie TEQUILARAPIDO.
Tracer la voie de votre environnement vNext Damir Bersinic Conseiller principal en plateformes, Microsoft
J2EE vs .NET Réaliser par : SEIF ENNACER BADRA && CHETOUI RIM.
Comment devenir un bon Architecte ? Épisode 3 – Mes 3 patterns préférés   Frank Guiducci.
Projet CONSULTING SA : GSA ( Gestion du suivi d’activités)
Eric Vernié, Développer une application en couches avec Visual Basic.NET 2005.
Entity Framework 4 Mitsuru FURUTA Relations techniques développeurs
1 journée, 5 sessions, 1 réalisation.NET Enterprise Realization Day.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
ENGIMA.
Plan Définitions et exemples Composants de cluster
5 Les progiciels de gestion et les opportunités associées.
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
Introduction à la plateforme .NET
Enterprise Java Beans 3.0 Cours INF Bases de Données Hiver 2005, groupe 10 Stefan MARTINESCU.
Metro Web Services Ben Yaflah Marouen Dhrif Mohamed Hbib Hajlaoui Nader.
Le web service
Mastère Professionnel Systèmes de Communication et Réseaux
Introduction au Génie Logiciel
Initiation à la conception des systèmes d'informations
05 – Couche 3 - Couche réseau Terme anglais = The Network Layer.
Développement d’application Web.  Internet  WWW  Client/Serveur  HTTP.
Présentation du framework JSF (Java Server Faces) dans le modèle événementiel MVCII
Positionnement : Outil de supervision et d’administration spécialiste Les management packs de l’éditeur et la base de connaissance embarquée Rapidité.
Les différents modèles d’architecture technique
Développement AD Projet A4RIL Année 2011 IDistrict Applications Distribuées 1 / M ARQUEZ Rémédios K UPFERSCHLAEGER Bruno M ULLER Philippe S ENGEL Jérôme.
Infrastructure SOA : Opérer ses services de façon industrielle
L’enseignement de spécialité SLAM
Module 1 : Vue d'ensemble de Microsoft SQL Server
Citrix ® Presentation Server 4.0 : Administration Module 9 : Déploiement d'applications.
21/02/2003DEA DISIC 1 Grid Computing Programming the grid: Distributed Software Components, P2P and Grid Web Services for Scientific Applications Tarak.
Richard KRITTER Flavien LAURENT Université de Paris-Est Marne La Vallée (UPEMLV), Ingénieur.
Web Services 17/01/2009.
Interface de communication pour les réseaux InfiniBand
Club Utilisateurs Salesforce.com France
Architecture Client/Serveur
Groupe France Télécom Projet Cilia : collaboration LIG Adèle – Orange Labs/MAPS/MEP― slide 1 Cilia, un framework de médiation ouvert, léger, multi-personnalités.
1 Applications d’entreprise avec.NET 4.0 et Silverlight 4 David Rousset Mitsuru Furuta
2 Alain METGE SOGETI
1 En cas de problèmes de son avec live meeting, vous pouvez vous connecter via le téléphone : Tel: ID de réunion :
9 février 2010 Enrique Ruiz Mateos Architecte avant-vente Microsoft
Your own guide. « Jeune, dynamique, et en constante évolution, le service est pour nous plus qu’un métier, c’est une passion. » Notre s ciété Notre sav.
BizTalk Server Samedi 14 Mars 2009 Présenté par : CHALLOUF Mahmoud.
Sextant RFS Consultants – Octobre Sextant Le logiciel d’assistance administrative indispensable à toute structure de plus d’une personne. Le premier.
CONNECT EVERYTHING. ACHIEVE ANYTHING. ™ Objectweb Présentation ESB Florent Lefèvre Sonic Software France 4 octobre 2004.
Parquet Geoffrey 3 ARIL EXIA.CESI ARRAS. Présentation du MLD Présentation de la persistance Présentation récapitulatif du projet JSP/SERVLET MVC Cycle.
Architecture J2EE Web Jean-Jacques LE COZ. J2EE Web Container JSP Page Servlet J ava 2 Standard Edition APIs EJB Container EJB JDBCJMS JNDI JTA JavaMail.
Transcription de la présentation:

NServiceBus, l’”ESB” léger pour tous ! Steve Degosserie – 6 Mai 2010 Tout ce que vous avez toujours voulu savoir sur les communications fiables dans un système distribué 

NServiceBus, l’ “ESB” léger pour tous ! DotNetHub – Steve Degosserie 6 mai 2010 NServiceBus, l’ “ESB” léger pour tous !

DotNetHub Prochaines sessions : 16 juin : Mini XP Days Wallonie 2010 24 juin : Microsoft Community Day 2010 Introduction to NServiceBus (English)

Agenda Présentation de NServiceBus Concepts & Briques de base Processus hôte Modèles de messaging Messaging fiable Processus longs Intégrations Outils

Steve Degosserie Fondateur de DotNetHub  Freelance Software Architect – Yoot Expertise : Framework & API Design, ORM, IOC, AOP Focus actuel: Domain-Driven Design (DDD) Distributed System Design (SOA / EDA) Functional & Concurrent Programming (F#) Domain-Specific Languages (DSL) Blog : http://yoot.be Twitter : @stiiifff ORM : Nhibernate Framework & API Design : Design Patterns, Inversion of Control contains (Caste Windsor), SOLID, AOP

Agenda Présentation de NServiceBus Concepts & Briques de base Types d’hébergements Modèles de messaging Messaging fiable Processus longs Intégrations Outils

Intro – Historique & Roadmap Udi Dahan – The Software Simplist Blog : http://www.udidahan.com Twitter : @udidahan Créateur de NServiceBus, expert mondial en SOA Version 2.0 : Mars 2010 Host générique Facile à configurer Extensible Futur : Version 2.1 Support d’autres technos de queuing que MSMQ Amélioration du Timeout Manager

Intro – NServiceBus, c’est quoi ? Un Bus de services d'entreprise (“Enterprise Service Bus”) Open Source Gratuit Léger Fiable Sécurisé Haute-performance … permettant de développer des systèmes distribués. “Messaging” => Communication basée sur des messages, asynchrones NServiceBus is a communication framework

Intro – ESB ?! Et un “Enterprise Service Bus”, késako ? Type d’architecture ? Un produit ? Ensemble de technologies ? Une couche d’abstraction permettant l’implémentation d’architectures de type SOA. Les définitions d’”ESBB” varie, et le terme est malheureusement surchargé. Les vendeurs essaient bien évidemment chacun de vendre leur dernier produit en y associant les derniers termes à la mode. C’est en effet dans l’implémentation de systèmes distribués basé sur une architecture de type SOA qu’un ESB trouve son utilité principale. On peut utiliser un ESB comme simple abstraction de la couche de communication mais ce n’est pas le but premier.

Intro – Hello DotNetHub - WCF Communication synchrone  nombreux problèmes potentiels: Serveur down  erreur / message perdu  On réessaie plus tard ! Timeouts Couplage Temps de réponse Fiabilité Configuration Mise en évidence des problèmes liés aux communications de type synchrone Formes de couplage: Afférent (Français ?) Efferent (Français ?) Temporel Spatial Plate-forme WCF a été designé d’abord par rapport à des protocoles de type RPC (TCP / Remoting, HTTP / Web Services, …). Le support de MSMQ n’a été rajouté que plus tard (dixit Udi Dahan), et le design n’est donc pas pensé pour du One-Way Messaging … Même s’il y a un semblant de One-Way Messaging dans WCF, il y a pas mal de problèmes liés à celui-ci. Le support des extensions WS-* part le binding WsHttp2007 WCF (Reliable Messaging, Transactions) ne rend pas la communication plus “fiable”, au contraire !!!

Intro – Hello DotNetHub - NSB Communication asynchrone uni-directionnelle (“One-way Messaging”) Messages persistents (par ex. MSMQ) Opérations transactionnelles sur les messages stockés Erreur  message reste dans la queue Faible couplage  Communication “fiable” -> Rend le système plus résistant dans son ensemble

Agenda Présentation de NServiceBus Concepts & Briques de base Modèles de messaging Messaging fiable Processus longs Intégrations Outils

Concepts – Bus Infrastructure transportant les messages. IBus Sécurisable “Bus logique” “Fluent” Config Le bus est en fait une abstraction  il est réparti sur N machines physiques. De plus, au niveau implémentation, le Bus est séparé de la partie Transport (MSMQ, Azure). La configuration se fait grâce à une API “Fluent” (aisée). Types de sérialization supportés: - XML Binaire Le design distribué par nature de NServiceBus est propice au “Scale-out”  on rajoute des serveurs sur lesquels on déploie l’application pour pouvoir servir plus de clients. Expose différents modèles de Messaging: - One-way - Request / Response - Publish / Subscribe

Concepts – Messages Unité de base pour tout type d’information qui transite sur le Bus. Typage fort “Marker interface” IMessage Implémentation Classe Interface Typage  les messages sont typés ! Ils transportent une sémantique … il ne s’agit pas d’information quelconque ! Contraster l’implémentation class vs interface Versioning No logic in messages Il existe des extension methods pour facilement travailler avec des interface-based messages.

Concepts – Message Handlers Composant qui traite des messages d’un ou plusieurs types. IMessageHandler<T> IHandleMessages<T> “Injectables” Zero config Transactionnel Transactionnel -> Dépend du type de messages / de la technologie de transport utilisée Pas besoind de créer explicitement un TransactionScope !

Concepts – Transport Abstraction de la technologie de transfert de messages (ITransport). MSMQ par défaut Windows Azure en développement Autres à venir

Agenda Présentation de NServiceBus Concepts & Briques de base Processus hôte Modèles de messaging Messaging fiable Processus longs Intégrations Outils

Hosting – Self-Hosting Diverses possibilités d’hébergement: Console Service Windows Application WinForms / WPF Application Web ASP.NET Config 100% manuelle

Hosting – Generic Host NServiceBus.Host.exe : Processus hôte générique Console ou Service Windows Configurations types: Client / Server Publisher Auto install: MSMQ / MSDTC / Performance Counters Perf. Counters -> not automatic, only on request, must pass a flag to the host

Hosting – Profiles Support des Profils de configuration Lite Integration Production Custom Profil de config : réglages pour le logging, la sécurité, la persistence, … pour un environement d’exécution de l’application Lite : In Memory saga persister Integration : SQLite saga persister Production : Database saga persister (Nhibernate)

Agenda Présentation de NServiceBus Concepts & Briques de base Processus hôte Modèles de messaging Messaging fiable Processus longs Intégrations Outils

Messaging – 11 idées reçues 11 idées reçues sur les systèmes distribués Le réseau est fiable Les temps de latence restent constants La bande passante est suffisante Le réseau est sécurisé La topologie du réseau est figée L’Administrateur saura quoi faire

Messaging – 11 idées reçues 11 idées reçues sur les systèmes distribués Le coût des communications réseau reste négligeable Le réseau est homogène Le système est atomique / monolithique Le système est fini / figé La logique métier peut et doit être centralisée

Messaging – Msg à sens unique Message à sens unique: “One way” / “Fire & Forget” Client envoie un msg, et continue à travailler Messages identifiables par un Id Asynchrone a.k.a. “One way” / “Fire & Forget”

Messaging – Msg à sens unique L’utilisation de messages à sens unique évitent les problèmes de couplage Technologique : XML Temporel : Messages asynchrones Afférent / Efferent : Contrats Spatial : Configuration Spatial : Configuration  Mapping Type de Message / Destinataire logique

Messaging – Addresse de retour Chaque message contient l’adresse de son émetteur. Permet au destinataire de: Répondre  Ne pas devoir au préalable connaître l’adresse de l’émetteur du message reçu A l’émetteur de spécifier une adresse de retour alternative (“Reply-to”)

Messaging – Pub / Sub Producteur / Consommateur

Agenda Présentation de NServiceBus Concepts & Briques de base Processus hôte Modèles de messaging Messaging fiable Processus longs Intégrations Outils

Messaging fiable

Agenda Présentation de NServiceBus Concepts & Briques de base Processus hôte Modèles de messaging Messaging fiable Processus longs Intégrations Outils

Processus longs Appelés “Sagas”

Agenda Présentation de NServiceBus Concepts & Briques de base Processus hôte Modèles de messaging Messaging fiable Processus longs Intégrations Outils

Intégrations

Agenda Présentation de NServiceBus Concepts & Briques de base Processus hôte Modèles de messaging Messaging fiable Processus longs Intégrations Outils

Outils

NServiceBus “One more thing …”

EDA = SOA 2.0 NServiceBus est l’outil idéal pour l’apprentissage et la mise en pratique d’une architecture de type événementielle sur la plate-forme .Net Event-Driven Architecture (EDA) = SOA 2.0 Evénéments au lieu d’opérations Chorégraphie au lieu d’orchestration Couplage faible / Systèmes distribués

NServiceBus Questions ? 

DotNetHub Merci et à bientôt !