1 / 38

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

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é . DotNetHub. Prochaines sessions : 16 juin : Mini XP Days Wallonie 2010

duard
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. NServiceBus, l’”ESB” léger pour tous ! Steve Degosserie– 6 Mai 2010 Tout cequevousaveztoujoursvoulu savoir sur les communications fiablesdans un systèmedistribué

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

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

  4. 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

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

  6. Intro – Historique & Roadmap UdiDahan – 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’autrestechnos de queuing que MSMQ • Amélioration du Timeout Manager

  7. 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èmesdistribués.

  8. Intro – ESB ?! Et un “Enterprise Service Bus”, késako ? • Type d’architecture ? • Un produit ? • Ensemble de technologies ? Unecouched’abstractionpermettantl’implémentationd’architectures de type SOA.

  9. Intro – Hello DotNetHub - WCF Communication synchrone nombreuxproblèmespotentiels: • Serveur down  erreur / message perdu  On réessaie plus tard ! • Timeouts • Couplage • Temps de réponse • Fiabilité • Configuration

  10. Intro – Hello DotNetHub - NSB Communication asynchroneuni-directionnelle (“One-way Messaging”) • Messages persistents (par ex. MSMQ) • Opérationstransactionnellessur les messages stockés • Erreur message restedans la queue • Faiblecouplage  Communication “fiable”

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

  12. Concepts – Bus Infrastructure transportant les messages. • IBus • Sécurisable • “Bus logique” • “Fluent” Config

  13. Concepts – Messages Unité de base pour tout type d’information qui transitesur le Bus. • Typage fort • “Marker interface” IMessage • Implémentation • Classe • Interface

  14. Concepts – Message Handlers Composant qui traite des messages d’un ouplusieurs types. • IMessageHandler<T> • IHandleMessages<T> • “Injectables” • Zero config • Transactionnel

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

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

  17. Hosting – Self-Hosting Diversespossibilitésd’hébergement: • Console • Service Windows • Application WinForms / WPF • Application Web ASP.NET Config 100% manuelle

  18. Hosting – Generic Host NServiceBus.Host.exe : Processushôtegénérique • Console ou Service Windows • Configurations types: • Client / Server • Publisher • Auto install: • MSMQ / MSDTC / Performance Counters

  19. Hosting – Profiles Support des Profilsde configuration • Lite • Integration • Production • Custom

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

  21. Messaging – 11 idéesreçues 11 idéesreçuessur les systèmesdistribués • Le réseauestfiable • Les temps de latencerestent constants • La bandepassanteestsuffisante • Le réseauestsécurisé • La topologie du réseauestfigée • L’Administrateursaura quoi faire

  22. Messaging – 11 idéesreçues 11 idéesreçuessur les systèmesdistribués • Le coût des communications réseaurestenégligeable • Le réseauesthomogène • Le systèmeestatomique / monolithique • Le systèmeestfini / figé • La logique métier peut et doitêtrecentralisée

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

  24. 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

  25. Messaging – Addresse de retour Chaque message contientl’adresse de son émetteur. Permet au destinataire de: • Répondre • Ne pas devoir au préalableconnaîtrel’adresse de l’émetteur du message reçu • A l’émetteur de spécifieruneadresse de retour alternative (“Reply-to”)

  26. Messaging – Pub / Sub Producteur / Consommateur

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

  28. Messaging fiable

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

  30. Processus longs Appelés “Sagas”

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

  32. Intégrations

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

  34. Outils

  35. NServiceBus “One more thing …”

  36. EDA = SOA 2.0 NServiceBusestl’outilidéal pour l’apprentissage et la mise en pratiqued’une architecture de type événementiellesur 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 • Couplagefaible/ Systèmesdistribués

  37. NServiceBus Questions ? 

  38. DotNetHub Merci et à bientôt !

More Related