Distribuerede systemer og messaging med Rebus. AANUG Developer Conference 2013 28. september 2013

Relaterede dokumenter
Handler du med råvarer, finansielle produkter og valuta?

edrift - Installationsvejledning edrift i version NET Open Source

NEMT OG EFFEKTIVT - Ejendomsadministration

SQL - Login, Role, Schema og User

APPLIKATIONSARKITEKTUR ERP INFRASTRUKTUR. EG Copyright

APEX i Praksis Martin B. Nielsen. Navn. MBNDATA Emne

Apoweb Det nye og forbedrede Apoweb. Udarbejdet af IT-afdelingen Oktober 2015

SYSTEMDOKUMENTATION AF POC

SAP R/3. Henrik Kroos

BOULEVARDEN 19E 7100 VEJLE LERSØ PARKALLE KØBENHAVN Ø TLF Unik Bolig 4 Opdateringskontrol 4.7.0

Agenda. Exchange 2010 Client Access Server arkitektur. Outlook Web App (OWA) Office Outlook Outlook Mobile (EAS) Outlook Voice Access (OVA)

FairSSL Fair priser fair support

Brug af Archive-funktion i SportIdent (baseret på version 10.3 af SI-programmerne)

Indholdsfortegnelse resultat- & kritikprogrammet.

De 5 elementer i SEO. Sådan hænger det sammen. E-guide Af Jette Heine RelationME.dk

FairSSL Fair priser fair support

DAXIF# - Delegate Automated Xrm Installation Framework. Delegate A/S

Integration mellem OpenBizBox og E conomic

Microservices. Hvad er det og hvordan kommer du i gang?

FairSSL Fair priser fair support

Vejledning Installation af SonWin Server CustomerService Flows

Installation og Drift. Aplanner for Windows Systemer Version

Opdatering af ISOWARE til version 6.1.0

Tænk ud af boksen med Microsoft Dynamics NAV og kig på Microsoft Dynamics NAV 2016

KURSER INDENFOR SOA, WEB SERVICES OG SEMANTIC WEB

Visual Studio Team System. Team Build en grundpille i søgen efter it-projektproduktivitet?

Vejledning til at ligge billeder ind på Jerslev gruppes hjemmeside.

Optimér din forretning med Master Data Management til Microsoft Dynamics AX

FIP INFORMATIK C/B IT A

Integrationen Mamut Stellar- og Mamut ServiceSuite. Vejledning version 2.0

Installation af Elektronisk APV på flere PC er

Installation og Drift. Aplanner for Windows Systemer Version 8.15

Microsoft Dynamics CRM 2013

Opsætning af Outlook til Hosted Exchange 2007

2. Systemarkitektur... 2

Google Apps. Lær at oprette, organisere, dele og slette dokumenter. Udarbejdet af PLC, version 2013!!!!!!! Side 1 af 9

En teknisk introduktion til NemHandel

TeamShare 3.0 Forbedringer til TeamShare Office

EG Data Inform. Byggebasen. WCF og webservices. Jens Karsø

OpenTele Server Performance Test Rapport

Anvend dine SAS -programmer som SAS Stored Processes

Exchange-/Google-kalender integration

Hvad er SkyDrive Pro og hvordan bruges det?

Partner session 1. Mamut One Temadag. 12. & 13. august Antonio Bibovski

Brug af Uniconta APP. Før brug skal App en Downloades og Integrationen skal sættes op i Uniconta. Ved opstart logges ind med dit Uniconta Login

Fold mulighederne ud med Microsoft Dynamics AX. Stærkere forretning med apps og mobile løsninger

IT-løsning til trælaster NAV. Timber

EG One giver en hånd med under hele byggeriet

Software Assurance (SA)

NYT. Få en ny Formular i PakIT Helt gratis

Denne rapport er skrevet af:

Unik Bolig 4 Opdateringskontrol 4.2.0

Guide til kravspecifikation

Moderne SAS-programmering på webben med SAS Studio. Georg Morsing SAS Institute

Journalmodulet er udviklet specifikt til psykologer med stor fokus på sikkerhed. Journalen indeholder bl.a.:

Hvervning og. motivation

Stregkodescanning i Winfinans fungerer ud fra filosofien om at det skal virke på alle stregkodescannere med en webbrowser direkte ind i Winfinans.

EasyIQ ConnectAnywhere Release note

Installation af DATABOKS online backup manager

Nintex Workflow UK/DK

Sydfyns Intranet A/S Fåborgvej 64 Svendborg 5700 fax tlf web

My Shop. Funktioner, oversigt: Kom i gang: Online shop system

Xdont version X / Fysioterapeuter Rev:

NOX Security Whitepaper

Opsætning af Outlook til Hosted Exchange 2003

MailSMS Brugervejledning

IT-drift konferencen Big Data know. act. grow.

KVIKGUIDE TIL OPRETTELSE AF SALGSFAKTURA NAVISION 5.3

Dual boot. af Windows 7 og Linux Mint. Af Thomas Bødtcher-Hansen

Vejledning til brug af FirstClass

Denne vejledning beskriver, hvordan du installerer Næsgaard Mark fra Internettet.

Denne vejledning er optimeret til Windows XP, men kan også bruges til de andre Windows styresystemer.

Vejledning til opsætning af mail

Brugervejledning til E-conomic integration. Version 1.4

Installationsguide IBM Tivoli Storage Manager for Databases Data Protection for Microsoft SQL Server

Vejledning til oprettelse af fritekstfakturaer, mv.

Document Capture til Microsoft Dynamics NAV. Quick Guide til RTC version 3.50

Opsætning af forbindelse til Danmarks Statistik

Transkript:

Distribuerede systemer og messaging med Rebus AANUG Developer Conference 2013 28. september 2013

Mogens Heller Grabe mhg@d60.dk http://mookid.dk/oncode @mookid8000

Hvad? Hvad er dit problem? Mød Rebus Eksempler Afslutning Mere afslutning (g33k bonus)

Hvordan? Slides Snak 4 demoer Bonus

Hvad er dit problem?

Stort system størrelse

Integration med eksterne parter (hallå? er der nogen?)

Kompleks logik Ting, som får ting til at ske......der får ting til at ske......der får ting til at ske......og så går der noget tid......og så sker der noget mere! (kender I det?)

Opsummering af problemer Monolit Integration Koordinering

Løsningen: Messaging (og med "løsningen" mener jeg "EN løsning")

Messaging via durable, asynchronous køer

Windows FTW!!1

Mød Rebus

"Service bus"?

"Hippie bus"?

Seriøst - hvad er det? Messaging library Et lag ovenpå MSMQ En enkelt.net 4 DLL Flere DLL'er hvis du vil have RabbitMQ Azure Service Bus RavenDB MongoDB Castle Windsor StructureMap Unity Autofac Ninject Log4net NLog...

Motivation Jeg kan godt lide NServiceBus Men jeg kan ikke bruge NServiceBus alle de steder, hvor jeg har lyst Nogle gange har jeg kæmpet lidt med NServiceBus Ville gerne bruge MassTransit Ville fork'e NServiceBus da den var Apache V2

Filosofi Gratis Nem

Meta 3700 linjer C# 4 Koden er på GitHub: https://github.com/mookid8000/rebus Har bidrag fra 11 udviklere ud over mig Man får fat i Rebus via NuGet http://nuget.org/packages?q=rebus Aktuelle version: 0.39.0 Har flyttet penge rundt siden 0.14-alpha Har styret kraftværker siden 0.17-alpha

Godt at vide Beskeder er POCOs Hver service/endpoint/proces har sin egen input-kø Hver beskedtype ejes af 1 logisk service

Demo 0

Eksempler De 3 problemer, jeg snakkede om 1. System, der er ved at blive for stort 2. Integration med eksterne parter 3. Kompleks logik med koordinering og timing

1. problem System, der er ved at bliver for stort Resumé: Vi er ved at bygge en trading-platform, hvor traderne i "front office" slår handler med modparter og bogfører disse, mens administrativt personale i "back office" sikrer at modparterne bliver opkrævet.

Stikord ubiquitous language bounded context distributed domain-driven design

Demo 1 Adskil i separate Trading og Billing systemer

2. problem Integration med ekstern part Resumé: Når nye handler laves, skal "middle office" godkende disse - f.eks. afhængig af modpartens kreditstatus... Kreditstatus kan hentes ved at forespørge på SOAP-servicen "CreditAssessment", hvilket gøres i vores Confirmations-service.

Stikord asynchronous reliable automatic retries

Demo 2 Web service-forspørgsel via messaging-facade

3. problem Kompleks koordinering og timing Billing skal fakturere kunden, men denne proces kan optimeres ved at sende 1 stor samlet faktura såfremt kreditstatus ellers er OK. Derfor, når handler laves, vil Billing afvente dommen fra Confirmations for at afgøre hvilke faktureringsstrategi der skal benyttes. For at undgå at "glemme" at sende fakturaer i tilfælde af at noget glipper, vil vi gerne gøre noget hvis faktureringsprocessen ikke er overstået inden for 10 sekunder.

Stikord process manager timeouts compensating actions

Demo 3 Kompleks logik, koordinering, timing

Ting, jeg ikke har vist Kan også bruge RabbitMQ, Azure Service Bus og SQL Server som transports Kan gemme subscriptions og sagaer i SQL Server, RavenDB og MongoDB Kan aktivere handlers med Castle Windsor, StructureMap, Autofac, Ninject og Unity Kan logge med NLog og Log4Net Kan sende beskeder i batches Kan lave handler pipeline re-ordering Kan lave polymorfisk dispatch Kan kryptere message bodies

Hvad så nu? 1.0 Central monitorering HTTP gateway Flere transports (e.g. Apache ActiveMQ) Distributør?

Litteratur

Vil du læse mere? Tjek Udi Dahan, Greg Young, Dan North og Rinad Abdullin

Mere afslutning Correlation IDs

Mere afslutning Autentificering vha. polymorfisk dispatch og pipeline reordering

Mere afslutning Transports

Mere afslutning Kryptering/komprimering

Tak fordi I lyttede!...og en stor tak til Hakim for at have lavet det fantastiske reveal.js Mogens Heller Grabe mhg@d60.dk @mookid8000 http://mookid.dk/oncode