środa, 30 marca 2011

Tydzień segregacji

Zbliżający się tydzień to dwie konferencje:
- 4 Developers
- 33rd Degree

Przygotowałem dla Was prezentację na temat Command-query Responsibility Segregation, którą przedstawię na obu konferencjach.


Poniżej wersja alfa.



Prezentacja zgodnie z najnowszymi trendami nie zawiera zbyt wiele tekstu - całość wymaga akompaniamentu paszczowego.

W świecie Javy mamy ostatnio stagnację (frameworki webowe już nie wychodzą co tydzień, a skoro najnowsze wersja Java EE wyszła rok temu to mamy kilka lat spokoju;). Jest to zatem dobry moment na ostrzenie piły - np zastanowienie się nad podstawami.

Ogólne przesłanie prezentacji: wybór narzędzia i podejścia powinien zależeć od klasy problemu.

W świecie Javy mamy z jednej strony platformę korporacyjną, która była pomyślana jako produkt dla klientów (wytwórców oprogramowania) wielkiej skali. Po nasyceniu tego rynku mamy widoczną zmianę strategii marketingowej i atakowanie małych softwarehousów. Z drugiej strony mamy mnogość rozwiązań typu generator jednowarstwowej aplikacji, którymi próbuje się kusić każdego - nawet duże softwarehousy.

W prezentacji przedstawię rozwiązania architektoniczne podpatrzone w świecie .NET. Nie są one specyficzne dla .NET ale w tej społeczności są mocniej rozwijane i dyskutowane niż w naszej.

Warto podkreślić, że koncepcja architektoniczna CqRS została wypracowana w ciągu kilku ostatnich lat przez community. Nie jest to zatem objawienie zesłane przez anonimowych pracowników jakiejś firmy, lecz wynik dyskusji i eksperymentów nad rzeczywistymi problemami. Jest to zatem owoc pracy ludzi żywo zaangażowanych w sprawę - stąd wartość.


Mottem dla mojej prezentacji będzie ewolucja architektury, czyli jej rozbudowa wraz ze wzrostem skali (komplikacji i wielkości) systemu. Wychodzę z założenia, że nie każde podejście może ewoluować.


Dla zainteresowanych prezentacją mam sugestię: warto wcześniej zapoznać się z moją prezentacją na temat Domain Driven Design. Nie jest to konieczne, ale jeżeli to zrobicie, to całość ułoży się w sumie w spójne rozwiązanie.
Link tutaj.



Tydzień segregacji właściwie zostanie wydłużony...

W kolejnym tygodniu Greg Young będzie prowadził otwarty wykład i 3-dniowe szkolenie na temat DDD i CqRS w Krakowie (szczegóły).

Nieczęsto zdarza się możliwość uczenia od mistrza, tak więc polecam:)




//=================================

Jeżeli ktoś ma uwagi/sugestie odnośnie prezentacji (treść, zakres) to piszcie w komentarzach lub na prv.
Będę bardzo wdzięczny za feedback:)

8 komentarzy:

Łukasz "Smok" Rybka pisze...

Miałem w czasie studiów kilkukrotnie (nie)przyjemność bycia na prezentacji, na której to prowadzący korzystał z Prezi. Na początku fajnie i ładnie, ale ma to kilka ogromnych wad. Po pierwsze odciąga w dużym stopniu od tego co mówi prowadzący i słuchacze skupiają się na slajdach. Dla mnie slajdy w trakcie prezentacji/seminarium to tylko dodatek, bez którego prezentacja powinna być równie dobra jak z. Druga wada, jeszcze większa od poprzedniej, to przechodzenie z końca slajdów na początek. Jest to długie i męczące i byłem świadkiem, kiedy nawet wykładowca nie chciał już zadawać więcej pytań odnosząc się do jakiegoś slajdu z drugiego końca prezentacji bo dostawało się istnego oczopląsu :)

Sławek Sobótka pisze...

Dzięki za komentarze - dzięki nim wiadomo na co uważać.

Jest to mija pierwsza duża prezentacja w Prezi, więc dopiero się uczę co działa a co przeszkadza. Przyznam też, że w paru miejscach zastosowałem efekty "wow", które podejrzałem na innych prezentacjach. Nie wnoszą one nic do sprawy, ale są kopią (tak mi się wydaje) w jaja:)

Z prezentowaniem czegoś to nie jest taka prosta sprawa...
Jak mówi stare wiejskie przysłowie: "ludzie som różne, Paaanie"
Jedni słuchają, inni patrzą, jedni szukają treści merytorycznej, inni pozytywnych emocji, itd...
Jest to temat, które poświęcono setki książek, więc nie będę go tutaj rozwijał...
Ale sama formuła konferencji zakłada pewne podejście...

Co do przewijania "slajdów" jeszcze, to oczywiście jest ono niedopuszczalne. Co bardziej wrażliwi mogą zwymiotować;)

W Prezi jest takie narzędzie, które wygląda jak celownik - trzeba się oddalić (domek oddala na max) i celownikiem wskazać interesujący obiekt do przybliżenia.

Ale sama forma slajdów jest wbrew idei Prezi. Wiem, że sam wpadłem w formę slajdów, bo nie mogę się wyzwolić jeszcze z myślenia powerpointem, ale docelowo slajdów nie powinno być:)

Marcin Stachniuk pisze...

To fakt, samo przeklikanie się przez prezentacje zajmuje sporo czasu i przy szybszym tempie może się robić słabo.

Prezentacja trochę wygląda jak przygotowana przez kogoś z marketingu, chcącego sprzedać swój produkt. Prezentacje techniczne powinny być jednak troche inne: bez przesadnej liczby wodotrysków.

Sławek Sobótka pisze...

Z czego wynika przekonanie, że wodotryski w prezentacjach technicznych są niepożądane?

Wiem, że przez lata jesteśmy przyzwyczajani do tego, że zdobywanie wiedzy jest nudne, nieciekawe i że wymaga stukania w głowę czerstwymi, czarno-białym książkami:)

Komercyjna konferencja to na szczęście nie uczelniany wykład, więc można pozwolić sobie na zastosowanie paru technik wzmacniających postrzeganie i uczenie się. Tak po prostu jest łatwiej przyjemniej - a przynajmniej znośniej (mam nadzieję;)

Stąd np. "skalowane optyki" od ogółu do szczegółu, które pozwala przyjrzeć się ogólnej idei a później wskoczyć w głąb.

Prezentacja rzeczywiście może wydawać się marketingowa, ale nie chodzi o wciśnięcie komuś produktu. CqRS nie jest produktem a wolną, otwarta ideą.

Chodzi właśnie o "wciśnięcie" Wam nowego pomysłu pod rozwagę. Czy go zastosuje i w jakim zakresie to już inksza nkszość:)

piotrb pisze...

Najpierw OT: Do celowania w Prezi jest kółeczko myszki (oddala i przybliża).

Odnośnie samej treści, ja chętnie zobaczyłbym przykład użycia, np. implementacje modułu zamówień (w zasadzie całego łańcucha dostaw) i dodatkowo jak w tym momencie wyglada dołożonie np. anulowania. Jako oddzielną prezentację. Bo tak, to może i jestem przekonany, ale tego nie czuję. A może coś takiego już jest.

Sławek Sobótka pisze...

W sieci jest spora ilość przykładowych aplikacji na CqRS (+ ew. DDD).
Przeważająca większość w .NET - no w Javie są "ważniejsze" sprawy;)

Co do ich sensowności to jest jak zwykle różnie - ale jest to temat na tyle świeży, że best practices dopiero się krystalizują. I to jest w sumie fajne, bo można sobie podglądać nowe podejścia i wchłaniać to co ma dla nas wartość:)

mgruca pisze...

http://martinfowler.com/bliki/CQRS.html
Martin Fowler postanowił też napisać o CQRS (BTW może daj kontakt do siebie gdzieś na stronie? :) )

Sławek Sobótka pisze...

Dzięki za link do Fowlera. Mail jest w panelu po prawej w sekcji "O mnie".