Filozofia DDD a Microservices

Štvrtok 20.09.2018 o 18:00

Event Venue v Campus0100, Binarium

Na úvodnom stretnutí si zladíme spoločný pohľad na kvalitu dizajnu, na postupy a technológie. Dohodneme sa na spoločných témach, ktoré nás zaujímajú, a ktorým sa chceme venovať. Určite máš aj ty skúsenosti, o ktoré sa vieš podeliť. A ak nie, tak si zase môžeš vypočuť skúsenosti ostrieľanejších kolegov z fachu.

Videá jednotlivých prednášok

O čom sa hovorilo

Návrh architektúry veľkých softvérových riešení naráža na niekoľko zásadných komplikácií: komplikovanosť domény, technologická komplexita, náročnosť procesu vývoja softvéru a neustály proces zmien. Vývojárske tímy sa snažia zvládnuť tieto komplikácie rôznymi taktikami, nástrojmi, knižnicami a prístupmi.

Snaha zvládnuť komplikovanosť domény viedla k vytvoreniu tzv. „Domain Driven Designu“.  Autor tejto myšlienky – Eric Evans – ju podrobne popísal vo svojej knihe „Domain-Driven Design: Tackling Complexity in the Heart of Software“. Základná filozofia je veľmi jednoduchá: vývoj softvéru by mal mať ambíciu udržať spoločný jazyk. Pojmy, ktoré používa doménový expert, musí v rovnakom význame a rovnakým spôsobom používať aj každý člen vývojárskeho tímu: od analytika cez architekta, programátora až po testera. Na to, aby programátor používal rovnaké pojmy ako doménový expert, musia tieto pojmy nájsť svoj obraz priamo v zdrojovom kóde. Eric Evans vyjadruje v knihe presvedčenie, že objektový model domény dokáže vo väčšine prípadov ideálne zachytiť pojmy tak, ako v doméne skutočne existujú.

Ukazuje sa, že kľúčový pojem z DDD – „Bounded Context“ – je dôležitým výstavbovým prvkom modernej architektúry v štýle Microservices. Vytváranie služieb vyžaduje, aby navrhované moduly boli čo najviac kohézne. Nevhodné spájanie a najmä rozdeľovanie služieb, ktoré nerešpektuje hranice vytýčené Bounded Contextom, vedie k postupnému rozkladu a zlyhaniu architektúry využívajúcej microservices.

Domain Driven Design sa výborne dopĺňa aj s ďalšími modernými prístupmi k tvorbe softvéru ako je agilný vývoj, test driven development, dizajn patterny a funkcionálne programovanie.

Témy

#

Solution architect v PosAm

Miroslav Rúčka

Téma: Architektúra Microservices
Stiahni prezentáciu

Porozprávam o vlastných skúsenostiach s vývojom aplikácie založenej na architektúre Microservices. Vysvetlím, čo nás k tomu viedlo, aké sme mali očakávania a v čom sa naplnili a v čom nie. Popíšem komplikácie, s ktorými sme sa pri vývoji stretávali a na ktoré by sme si už nabudúce dali pozor.

#

Solution architect v PosAm

Zdeno Jašek

Téma: Filozofia domain driven designu
Stiahni prezentáciu

Vysvetlím základné pojmy DDD: „Bounded Context“ a „Ubiquitous language“. Prečo sú tieto pojmy kľúčové v uvažovaní o dizajne a ako súvisia s architektúrou Microservices. Budem hovoriť o svojich osobných skúsenostiach – ako som ignorovaním Bounded Contextu dospel k nevhodnému dizajnu aplikácie a aké dôsledky to malo na udržiavateľnosť systému. A ako sa princípy všadeprítomného jazyka porušujú a ako prispievajú k… čítať viac

Event Venue v Campus0100, Binarium

Ako sa tam dostať

Lat: 48.1556603, Lng: 17.07284949999996
Binarium, Staré Grunty, Karlova Ves, Slovakia