50
er ingen gåde....... Mogens Heller Grabe

Rebus er ingen gåde

Embed Size (px)

DESCRIPTION

Nu hvor NServiceBus er blevet til et kapitalistisk projekt, og det dermed er blevet forbundet med økonomiske overvejelser og andet besvær at benytte det, så er der plads til en ny open source hippie-bus i din enterprise: Rebus.Rebus startede som et personligt research-projekt, hvor jeg forsøgte at få overblik over hvad det egentlig er man betaler for med NServiceBus. Siden er Rebus blevet lidt mere seriøs, og den binder nu produktionssystemer sammen adskillige steder i verden.Rebus' filosofi er at den skal være simpel – simpel at komme i gang med, og simpel at bruge. Og så skal den have de sødeste og mest hjælpsomme fejlbeskeder.Denne præsentation vil snakke lidt om distribuerede systemer og messaging, og så vil vi kigge på filosofien bag Rebus samt eksempler på hvordan man kommer i gang.

Citation preview

Page 1: Rebus er ingen gåde

er  ingen  gåde.......  

Mogens  Heller  Grabe  

Page 2: Rebus er ingen gåde

Agenda!•  Hvad er dit problem?!•  Hvordan kan det løses?!•  Rebus!!!Slides!!+ snak!!+ kode!

Page 3: Rebus er ingen gåde

Mogens Heller Grabe!!!!

[email protected]!@mookid8000!

http://mookid.dk/oncode!

Page 4: Rebus er ingen gåde

Hvad er dit problem?!

Page 5: Rebus er ingen gåde

For eksempel:!public class Køb : FinansielTransaktion {

public void Bogfør() { // (....) foreach(var d in Pantebrev.Debitorer) { d.TilmeldTilCprMatch(); d.InhentKreditstatus(); } foreach(var k in Pantebrev.Kauti(...)

}

Page 6: Rebus er ingen gåde

Long-lived transactions...!

Page 7: Rebus er ingen gåde

begin tran!

commit tran!

DoThis()!

DoThat()!

Page 8: Rebus er ingen gåde

begin tran!

commit tran!

DoThis()!

DoThat()!

commit tran!begin tran!

?!

Page 9: Rebus er ingen gåde

Async Reliable Messaging!

Page 10: Rebus er ingen gåde

Messaging!

Page 11: Rebus er ingen gåde

Reliable!

Page 12: Rebus er ingen gåde

Async!

Page 13: Rebus er ingen gåde
Page 14: Rebus er ingen gåde

Windows FTW!!1!

Page 15: Rebus er ingen gåde

Hvad er så det der “service bus” for noget?!

Page 16: Rebus er ingen gåde
Page 17: Rebus er ingen gåde
Page 18: Rebus er ingen gåde

Køkultur!

Page 19: Rebus er ingen gåde

Request/reply!

Page 20: Rebus er ingen gåde

Publish/subscribe!

Page 21: Rebus er ingen gåde

Process manager!

Page 22: Rebus er ingen gåde

NServiceBus!

Page 23: Rebus er ingen gåde

MassTransitRhino Service Bus!

Page 24: Rebus er ingen gåde

hmmm...!

Page 25: Rebus er ingen gåde

Rebus!•  Første mål:!– Request/reply + publish/subscribe!– Lavet efter NServiceBus-modellen!– Bedre fejlbeskeder!

Page 26: Rebus er ingen gåde

~ 400 linjer!!!

Page 27: Rebus er ingen gåde

Simpel og intuitiv konfigurationshistorie!

Page 28: Rebus er ingen gåde

Få, velvalgte features!

Page 29: Rebus er ingen gåde

Ingen doodleware!

Page 30: Rebus er ingen gåde

Rebus Core kun afhængig af .NET 4 BCL!

Page 31: Rebus er ingen gåde

Integration m. 3.partslibs via små, fokuserede assemblies!

Page 32: Rebus er ingen gåde

De bedste fejlbeskeder!

Page 33: Rebus er ingen gåde

Lav friktion!

Page 34: Rebus er ingen gåde

Rebus!•  Version 0.11.1-alpha!•  Ikke længere ~ 400 linjer!

Page 35: Rebus er ingen gåde

Rebus!•  Apache License v. 2!•  Kode på GitHub:

http://github.com/mookid8000/Rebus !

Page 36: Rebus er ingen gåde

Asger  Hallas  

@asgerhallas  

Rasmus  Kromann-­‐Larsen  @rasmuskl  

Contributors!

Dig?  

Page 37: Rebus er ingen gåde

Rebus!•  install-package rebus –pre!•  evt. via!– rebus.castle.windsor!– rebus.structuremap!– rebus.mongodb!– rebus.ravendb!– rebus.log4net!–  (...)!

Page 38: Rebus er ingen gåde

Eksempel!•  Lillebitte kommunikation

mlm. 2 processer!

Page 39: Rebus er ingen gåde

Eksempel!•  Et vaskeægte

integrationsscenarie!

Page 40: Rebus er ingen gåde
Page 41: Rebus er ingen gåde
Page 42: Rebus er ingen gåde
Page 43: Rebus er ingen gåde
Page 44: Rebus er ingen gåde
Page 45: Rebus er ingen gåde
Page 46: Rebus er ingen gåde

Hvad nu?!

Battle-hardening!Distributør!Gateway!

(+ det løse)!

Page 47: Rebus er ingen gåde
Page 48: Rebus er ingen gåde

Mogens Heller Grabe!!!!

[email protected]!@mookid8000!

http://mookid.dk/oncode!

Tak for opmærksomheden!!

Page 49: Rebus er ingen gåde

Evaluering:  hAp://bit.ly/cd2012c4  

Page 50: Rebus er ingen gåde

Image credits!•  Lyserød pistol: http://www.desantisholster.com/desantis-blog/girl-meets-gun !•  Plastikkæder: http://www.stanchionwholesaler.com/products/chain/mc_000 !•  Trollface: http://www.thebuzzmedia.com/troll-face-high-resolution/ !•  Eat SOAP: http://narwhaler.com/img/b7/h/eat-soap-b7HC4R.jpg !•  Just soap:

http://kinlane-productions.s3.amazonaws.com/api-evangelist/soap.gif !