All aboard the Service Bus

Robert Basic (15.Feb.2018 at 18:15, 30 min)
Talk at ZgPHP meetup #78 2018/02 (English - US)

Rating: 4 of 5

We deal with complicated and complex applications on a daily basis, codebases that are filled with classes that do too many things. One design pattern that can help us with this is CQRS, Command Query Responsibility Seggregation. The idea behind CQRS is to split our models in two - the Command for writing, and the Query for reading. Applying CQRS can lead us to a more maintainable code, code that follows the SOLID principles more closely.

At the heart of CQRS lies the Service Bus - a transport mechanism responsible for dispatching our command, event, and query messages to their destinations.

This talk will give an overview of the CQRS pattern and take a closer look at the different types of service buses - command, event, and query ones. Main takeaway will be practical information on why, when, and how to use them, with emphasis on their differences. We'll also take a look at some of the PHP libraries out there that help us work with service buses like Prooph Service Bus, Simple Bus, Tactician, to name a few.

Who are you?

Claim talk

Talk claims have been moved to the new Joind.in site.

Please login to the new site to claim your talk

Want to comment on this talk? Log in or create a new account or comment anonymously

Write a comment

 
Please note: you are not logged in and will be posting anonymously!
= four minus three

Comments

Rating: 4 of 5

16.Feb.2018 at 14:22 by Miro Svrtan (128 comments) via Web2 LIVE

Only times I noticed Robert being nervous was when he had short brakes telling us he was nervous :) , it's so nice to see you confident on the outside just need to work on the inner confidence.

Pace was good, neither slow nor fast, slides were just right.

I have few small suggestions for the code on the slides:
- put suffixes to class names (instead of UpdatePriceAction call it UpdatePriceActionController, UpdateProductPriceCommand instead of UpdateProductPrice so it would be more clear to the audience what class represents)
- use Money instead of doubles for price hints (or at least integers) so people avoid floating point round-off errors
- I would not suggest using Entities in commands, as handler could change the values inside and controller/service sending the command would be aware of it -> they reference same instance

Rating: 4 of 5

17.Feb.2018 at 20:46 by konrad_126 (8 comments) via Web2 LIVE

Nice talk. Maybe . the intro part could be shorten a bit in favor of the "meat" of the talk though.

© Joind.in 2018