Upload
mogens-heller-grabe
View
2.403
Download
1
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
er ingen gåde.......
Mogens Heller Grabe
Agenda!• Hvad er dit problem?!• Hvordan kan det løses?!• Rebus!!!Slides!!+ snak!!+ kode!
Hvad er dit problem?!
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(...)
}
Long-lived transactions...!
begin tran!
commit tran!
DoThis()!
DoThat()!
begin tran!
commit tran!
DoThis()!
DoThat()!
commit tran!begin tran!
?!
Async Reliable Messaging!
Messaging!
Reliable!
Async!
Windows FTW!!1!
Hvad er så det der “service bus” for noget?!
Køkultur!
Request/reply!
Publish/subscribe!
Process manager!
NServiceBus!
MassTransitRhino Service Bus!
hmmm...!
Rebus!• Første mål:!– Request/reply + publish/subscribe!– Lavet efter NServiceBus-modellen!– Bedre fejlbeskeder!
~ 400 linjer!!!
Simpel og intuitiv konfigurationshistorie!
Få, velvalgte features!
Ingen doodleware!
Rebus Core kun afhængig af .NET 4 BCL!
Integration m. 3.partslibs via små, fokuserede assemblies!
De bedste fejlbeskeder!
Lav friktion!
Rebus!• Version 0.11.1-alpha!• Ikke længere ~ 400 linjer!
Rebus!• Apache License v. 2!• Kode på GitHub:
http://github.com/mookid8000/Rebus !
Asger Hallas
@asgerhallas
Rasmus Kromann-‐Larsen @rasmuskl
Contributors!
Dig?
Rebus!• install-package rebus –pre!• evt. via!– rebus.castle.windsor!– rebus.structuremap!– rebus.mongodb!– rebus.ravendb!– rebus.log4net!– (...)!
Eksempel!• Lillebitte kommunikation
mlm. 2 processer!
Eksempel!• Et vaskeægte
integrationsscenarie!
Hvad nu?!
Battle-hardening!Distributør!Gateway!
(+ det løse)!
Mogens Heller Grabe!!!!
[email protected]!@mookid8000!
http://mookid.dk/oncode!
Tak for opmærksomheden!!
Evaluering: hAp://bit.ly/cd2012c4
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 !