Slide 1

Slide 1 text

CLOUD EVENT-DRIVEN ARCHITECTURES WITH SPRING BOOT AND SPRING CLOUD JakubPilimon

Slide 2

Slide 2 text

WHOAMI SPRING DEVELOPER ADVOCATE AT PIVOTAL Blogger, Programmer and Speaker Loves to tackle complex enterprises with: Domain-Driven Design, Test-Driven Development and Spring tools. Being a microservice freak, architecture is his main area of interest too. Also, here is his DZone MVB awarded blog: pillopl.github.io Co-founder of #dddbyexamples initiative: github.com/ddd-by-examples JakubPilimon

Slide 3

Slide 3 text

LIVE CODING AGENDA ‣ DDD AND MICROSERVICES WITH SPRING BOOT ‣ OOP MODELING WITH TDD ‣ EVENT SOURCING ‣ EVENT-DRIVEN ARCHITECTURE (SPRING CLOUD STREAM) ‣ DEPLOYING TO CLOUD (PCF) JakubPilimon

Slide 4

Slide 4 text

EVENTS JakubPilimon

Slide 5

Slide 5 text

EVENTS AND CAUSES JakubPilimon

Slide 6

Slide 6 text

INVARIANTS JakubPilimon

Slide 7

Slide 7 text

EFFECT OF EVENTS ON INVARIANTS JakubPilimon

Slide 8

Slide 8 text

TEXT

Slide 9

Slide 9 text

EFFECT OF EVENTS ON INVARIANTS JakubPilimon

Slide 10

Slide 10 text

JakubPilimon

Slide 11

Slide 11 text

RESOURCE AND DOMAIN JakubPilimon RESOURCES (WITHDRAWALS, REPAYMENTS, ETC) DOMAIN MODEL (CREDIT CARD) DATA MODEL

Slide 12

Slide 12 text

CRUD JakubPilimon CRUD

Slide 13

Slide 13 text

CQRS JakubPilimon RESOURCES (WITHDRAWALS) COMMAND (WITHDRAW) QUERY (LIST WITHDRAWALS)

Slide 14

Slide 14 text

ACCOUNTING CREDIT CARD RISK PAYMENTS NOTIFICATION When there is a withdrawal in accounting Risk has to send information to credit bureau After doing so, outgoing payment have to be created And client has to be informed via e-mail JakubPilimon

Slide 15

Slide 15 text

ACCOUNTING CREDIT CARD RISK PAYMENTS NOTIFICATION CreditBureauNotified CreditBureau Call CardWithdrawn PaymentCreated JakubPilimon

Slide 16

Slide 16 text

ACCOUNTING CREDIT CARD RISK PAYMENTS NOTIFICATION Call Credit Bureau CreatePayment ? CardWithdrawn NotifyClient JakubPilimon

Slide 17

Slide 17 text

ACCOUNTING CREDIT CARD ? JakubPilimon

Slide 18

Slide 18 text

JakubPilimon

Slide 19

Slide 19 text

QUESTIONS? JakubPilimon https://github.com/ddd-by-examples/event-source-cqrs-sample https://github.com/pilloPl/credit-cards-producer https://github.com/pilloPl/credit-cards-consumer