fbpx
devstyle.pl - Blog dla każdego programisty
devstyle.pl - Blog dla każdego programisty
5 minut

DevTalk#14 – CQRS with Udi Dahan


13.04.2015

udi-dahanPost po polsku poniżej / Polish version below


14th episode of DevTalk is a special one. First of all: this is the first episode in english! Second: my guest is a well-known, widely respected expert, the one and only Udi Dahan!

Udi is a creator of NServiceBus and founder of Particular Software. His thoughs about software architecture and best development practices – that often define the “industry standards” – can be found on a fascinating blog. Udi is one of the best-known speakers worldwide. He also offers advanced technical courses. Follow him on Twitter: @UdiDahan.

We talk about CQRS – Command Query Responsibility Segregation. Udi – together with Greg Young – was one of the first promoters and teachers of this approach to building complex software systems. BUT we do not discuss various CQRS implementation details. This conversation focuses on something that is often ignored by developers: what should we do to meet end users’ needs, not always putting our own desire to implement the “newest and shiniest” at the top of our priority list? And how can CQRS help us with that?


Odcinek 14 jest kolejnym odcinkiem wyjątkowym. Po pierwsze: bo to pierwszy odcinek po angielsku! A po drugie: bo mój gość to szanowany na całym świecie, znany wszem i wobec, niewymagający przedstawienia: the one and only Udi Dahan! Gdyby pół roku temu ktoś powiedział mi, że DevTalk wyjdzie poza granice Polski, i to od razu z Gościem tego kalibru, to bym się tylko w czoło popukał. A tu proszę…

Udi to twórca NServiceBusa – projektu, którego sukces spowodował założenie firmy Particular Software. Swoimi myślami odnośnie architektury oraz najlepszych praktyk programistycznych, definiującymi niejednokrotnie postrzeganie wielu zagadnień na całym świecie, dzieli się na fascynującym blogu. Jest jednym z najbardziej rozpoznawalnych prelegentów na największych światowych konferencjach. Prowadzi również szkolenia. Na Twitterze: @UdiDahan.

Tematem odcinka jest CQRS – Command Query Responsibility Segregation. Udi – wraz z Gregiem Youngiem – był jednym z pierwszych promotorów i nauczycieli tego podejścia do tworzenia oprogramowania. Nie wchodzimy jednak w szczegóły implementacyjne – w tym spotkaniu szkoda na to czasu! Ten temat pewnie jeszcze się pojawi w DevTalku w czysto technicznym kontekście, jednak z Udim rozmawiam z trochę ogólniejszej perspektywy. Udi tłumaczy dlaczego technologie i wzorce często nie są najważniejsze i na interesującym przykładzie pokazuje, jak wymagania biznesowe oraz modelowanie pomagają rozwiązać najtrudniejsze problemy. Programiści słysząc CQRS myślą od razu o klasach, szynach, cache itd, bardzo często pomijając kluczowy krok: refleksję nad źródłem i naturą rozwiązywanego problemu. Słuchając tego odcinka każdy dev zastanowi się pewnie: czy przypadkiem ja nie ignoruję faktycznych potrzeb użytkowników?

Bardzo zachęcam do posłuchania, bo taka okazja nie zdarza się co dzień.

Ten odcinek ma partnera specjalnego: firmę JIT Solutions z Gdyni. Gdybyście chcieli sprawdzić w praktyce jak m.in. NServiceBus jest wykorzystywany w dużym rozproszonym projekcie to macie okazję dołączyć do ich zespołu. Szczegóły znajdziecie na pracuj.pl lub bezpośrednio w tym PDF.

JIT_solutions

Konkurs: po raz drugi (wcześniej w odcinku o DDD) do rozdania mam “Implementing Domain-Driven Design” Vaughna Vernona. Poza anteną wprost spytałem Udiego jaką jedną książkę poleciłby programistom, a on wskazał na tę konkretną pozycję. Właśnie ją zatem wyślę do autora jednego z komentarzy pod tym postem. Jak zwykle apeluję: piszcie swoje uwagi! Zarówno do odcinka, jak i samej idei “importowania” gości z zagranicy :). Mi się pomysł podoba – i ciekawą znajomość można nawiązać, i po angielsku pogadać, i nowych słuchaczy przyciągnąć. Co Wy na to?



Montaż odcinka: Krzysztof Śmigiel.
Ważne adresy:

Linki:


Muzyka wykorzystana w intro:
“Misuse” Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0
http://creativecommons.org/licenses/by/3.0/

Nie przegap kolejnych postów!

Dołącz do ponad 9000 programistów w devstyle newsletter!

Tym samym wyrażasz zgodę na otrzymanie informacji marketingowych z devstyle.pl (doh...). Powered by ConvertKit
Notify of
trackback

CQRS with Udi Dahan

Dziękujemy za dodanie artykułu – Trackback z dotnetomaniak.pl

Jacek Malaca
Jacek Malaca

Pomysł na odcinek i na gościa świetny :) Temat pasuje zresztą do ostatnich dyskusji na temat CQRS jakie miałem ze znajomymi, teraz pewnie wrócimy do rozmowy.

Grzegorz Kotfis
Grzegorz Kotfis

Czuje, że idea wspólnego spotkania wyszła już po konferencji get.net w Gdańsku ;)

Marek Zet

Temat w dechę. Akurat jestem na etapie projektowania zestawu serwisów, za pomocą którego nasz system będzie mógł wymieniać dane z systemami ERP (na razie SAP i MS Dynamics) oraz udostępniać część logiki biznesowej na zewnątrz – dla innych serwisów lub klientów i niektóre elementy tego rozwiązania zamierzam zrealizować właśnie w oparciu o CQRS i być może mikro serwisy :)

Kacper
Kacper

W ogólę fajny pomysł z tymi devtalkami:) szukałem czegoś takiego kiedyś, ostatnio chciałem się zagłębić w CQRS więc wierzę, że to będzie dobry czas:)

Hav
Hav

Dzisiejszy odcinek DevTalk wygrał rywalizację z DotNetRocks. A skoro już jesteśmy w temacie DotNetRocks, to może by tak, któryś z przyszłych odcinków spróbować zrobić z Carlem Franklinem? To by było coś.

mi--ch--al
mi--ch--al

Szacunek wielki z ten odcinek!
Czyli…można używać wszystkich TDDDDDBDD i innych xDD a i tak na produkcji jeden niepozorny transakcyjny select+update może “wywrócić” system ;)))
ale przecież “u mnie działa” -> 1 user -> none collaborative domain
i na testach też działało -> 5 user’ów -> small collaborative domain
więc dlaczego na produkcji nie działa ? -> 10…00 user’ów -> very high collaborative domain
;)))

Olo
Olo

Wow :) od razu przełączyłem się na odsłuch jak tylko zdałem sobie sprawę, że jest po angielsku. Trafiony – zaimplementowany :)

Paweł
Paweł

Świetny odcinek! Miło posłuchać przemyśleń na temat nieco bardziej zaawansowanych problemów. Myślę, że problem high-contention spowodował osiwienie niejednej programistycznej głowy z powodu braku sprawdzonych recept, więc ukłony dla devtalk za szerzenie wiedzy w tego rodzaju tematach. Takiego contentu brakuje, takiego contentu nam trzeba. Przyjemność słuchania. Dzięki :) Łyżka dziegciu w beczce miodu: myślę że ktoś nowy w temacie CQRS może poczuć się zagubiony po odsłuchaniu tego odcinka. Brak omawiania szczegółów implementacyjnych – OK, ale brak nieco dłuższego rozwinięcia pojęcia CQRS może takiego zieleńszego słuchacza zostawić z połaciami wątpliwości. A jeśli chodzi o kwestie organizacyjne to mam wątpliwości co do początkowej… Read more »

Jarek
Jarek

Bardzo dobry odcinek. Devtalk rozwija się świetnie, myślę że czas powoli zastanowić się nad współprowadzącym :).

Łukasz

Zagraniczni goście tak, ale zdecydowanie z umiarem, bo “zagraniczniaków” mogę posłuchać sobie na co dzień gdzie indziej, ot choćby to: http://www.se-radio.net/2015/01/episode-218-udi-dahan-on-cqrs-command-query-responsibility-segregation/ Miło natomiast poznawać właśne podwórko i dowiedzieć sobie kto i co tam fajnego sobie kroi. Niemniej jednak odcinek zacny :)

Marcin
Marcin

Odcinek jak najbardziej na czasie, właśnie zacząłem rozpoznanie tematu od książki CQRS Journey* . Jak to zwykle bywa, na początku wiele tematów nie jest wcale tak oczywista. Za to każda kolejna porcja wiedzy przybliża do zrozumienia zagadnienia. Ostatnio ciężko myślałem nad tym, gdzie, jak i kiedy zastosować to podejście. No i proszę, usłyszałem całkiem sensowną podpowiedź: Niekoniecznie cała aplikacja musi wzorzec CQRS wykorzystywać, można z powodzeniem to podejście zastosować tylko do części funkcjonalności. … i tak, wiem, że to oczywiste, ale dopiero wtedy kiedy się o tym wie ;-) I jeszcze nawiążę do Twojego pytania o wciągnięcie “business peoples”, do… Read more »

Kamil
Kamil

Super odcinek, jeden z kilku, które skłoniły mnie do zainteresowania się zagadnieniem :)

Szymon
Szymon

Super odcinek, świetny gość i temat. Bardzo podobało mi się to co powiedział Udi, aby CQRS traktować jako podejście, a nie tylko jako wzorzec! Myślę, że bardzo dobrze, że poszliście w rozmowie w tą stronę, zamiast omawiania CQRS jako wzorca. O tym można sobie przeczytać w mądrej literaturze albo internetach. ;) Domena, która pojawiała się w przykładach jest mi bliska i mam dzięki trochę świeższe spojrzenie na projekt, przy którym pracuję. Dzięki!

Moja książka

Facebook

Zobacz również