Nservicebus lego style by Indu Alagarsamy & John Simons

12
NServiceBus Lego style - John Simons - Indu Alagarsamy

description

Nservicebus lego style by Indu Alagarsamy & John Simons

Transcript of Nservicebus lego style by Indu Alagarsamy & John Simons

Page 1: Nservicebus lego style by Indu Alagarsamy & John Simons

NServiceBus Lego style- John Simons

- Indu Alagarsamy

Page 2: Nservicebus lego style by Indu Alagarsamy & John Simons

A Brief History of Extensibility in NServiceBus

- Message Modules in v2 (removed in v5)- Message Mutators in v3- Unit of Works in v4

Page 3: Nservicebus lego style by Indu Alagarsamy & John Simons

Extensibility awesomeness in v5

- Remove, Add, Replace incoming or outgoing steps

Step A Step B Step C Step D Step E

John Simons
Not sure if we want to say we moving to behaviors
Indu Alagarsamy
Maybe call it the API evolution? I thought it might be a nice way to say that back in the day, we provided some extensibility using MessageModules, then we introduced the Mutators and now we have a much better extensibility model with the pipeline
Page 4: Nservicebus lego style by Indu Alagarsamy & John Simons

The Russian Doll Model“Each doll is encompassed inside another until the smallest one is reached.”

Page 5: Nservicebus lego style by Indu Alagarsamy & John Simons

Extensibility awesomeness in v5

- Intuitive coding API

Now calls the next step in the pipe

Uses IDisposable

John Simons
Not sure if we want to say we moving to behaviors
Indu Alagarsamy
Maybe call it the API evolution? I thought it might be a nice way to say that back in the day, we provided some extensibility using MessageModules, then we introduced the Mutators and now we have a much better extensibility model with the pipeline
Page 6: Nservicebus lego style by Indu Alagarsamy & John Simons

Extensibility awesomeness in v5

- Deterministic order of processing

John Simons
Not sure if we want to say we moving to behaviors
Indu Alagarsamy
Maybe call it the API evolution? I thought it might be a nice way to say that back in the day, we provided some extensibility using MessageModules, then we introduced the Mutators and now we have a much better extensibility model with the pipeline
Page 7: Nservicebus lego style by Indu Alagarsamy & John Simons

The message processing pipeline

What your endpoint does when it receives a messageWhat your endpoint does before it sends a message

John Simons
Show the diagnostics
Page 8: Nservicebus lego style by Indu Alagarsamy & John Simons
Page 9: Nservicebus lego style by Indu Alagarsamy & John Simons
Page 10: Nservicebus lego style by Indu Alagarsamy & John Simons

Demo Time

Page 11: Nservicebus lego style by Indu Alagarsamy & John Simons

In Summary

- How to get the extensibility you are after- NServiceBus API support in version 5.0 to support extensibility- From MessageModules to Pipelines- Steps, Behaviors and Contexts.- Adding and Replacing pipeline steps

Page 12: Nservicebus lego style by Indu Alagarsamy & John Simons

Everything is awesome Thank You

Indu Alagarsamy
Where should we host the code in Github? We should include a link to the Github repo here as well, along with the doco links.