SlideShare a Scribd company logo
7 YEARS OF DDD:
TACKLING
COMPLEXITY

IN LARGE SCALE
MARKETING SYSTEMS
Vladik Khononov
IAF Malam Team MSN-IL Cellcom Internovus
Twitter: @vladikk



Blog: vladikk.com
Vladik Khononov
IAF Malam Team MSN-IL Cellcom Internovus
Twitter: @vladikk



Blog: vladikk.com
AGENDA
PART 1

5 BOUNDED
CONTEXTS
PART 2
PRACTICAL
ADVICE
YAY!!!
Your Product Marketing

Strategy
Creatives Campaigns Sales

Agents
OptimizationProfits
THE FIRST
BOUNDED CONTEXT
01
VER 1.0
Media Buying
Creatives Catalog
Campaign Management
🤔
Very nice!
Aggregates everywhere!!!
Aggregates everywhere!!!
Creative
Agency
Advertiser
Publisher
Website
Placement
Ad Zone
Ad Type
Target Market
Group
Zone Type
Funnel
Contract
Budget Unit
Campaign
The Bounded Context
Creative
Agency
Advertiser
Publisher
Website
Placement
Ad Zone
Ad Type
Target Market
Group
Zone Type
Funnel
Contract
Budget Unit
Audience
Domain Model
Service / Application Layer
Presentation
Infrastructure
Anemic!
Behaviour
Imperfect architecture
“QA is for cowards”
BUT IT WORKED!
UBIQUITOUS LANGUAGE
Domain ExpertSoftware Developer
Has no experience in online marketing
Nice people!
Smooth communication
Strong grasp of the business domain
Working software
Aggressive time to market
UbiquitousLanguage Anemic Domain Model
Leads Sales AgentsAds
Leads CRM Categorize Desk
Desk
Desk
Sales Agents
Sales Agents
Sales Agents
Clients’ Systems
Lead qualification
Agent qualification
Agents’ commissions
THE CRM
BOUNDED CONTEXT
02
UbiquitousLanguage Anemic Domain Model
Creative
Agency
Publisher
Website
Advertiser
Ad Zone
Ad Type
Target Market
Group
Zone Type
Funnel
Contract
Budget Unit
Audience
Group
Desk
Qualification
Assessment
Organization Unit
Assignment
Rank
Message
On-site Activity
Placement Visit Brand
Marketing Lead
CRM Lead
Marketing Campaign CRM Campaign
Domain ExpertSoftware Developer
…. Lead ….
…. Campaign…
BOUNDED CONTEXTS
PROTECT THE LANGUAGE
AGGREGATES PROTECT
CONSISTENCY OF DATA
Creative
Agency
Publisher
Website
Advertiser
Ad Zone
Ad Type
Target Market
Group
Zone Type
Funnel
Contract
Budget Unit
Audience
Group
Desk
Qualification
Assessment
Organization Unit
Assignment
Rank
Message
On-site Activity
Placement Visit Brand
Marketing Lead
CRM Lead
Marketing Campaign CRM Campaign
Creative
Agency
Publisher
Website
Advertiser
Ad Zone
Ad Type
Target Market
Group
Zone Type
Funnel
Contract
Budget Unit
Audience
Placement Visit
Lead
Campaign
Marketing
Group
Desk
Qualification
Assessment
Organization Unit
Assignment
Rank
Message
On-site Activity
Brand
Lead
Campaign
CRM
Aggregates will:

• Protect transactional boundaries

• Encompass business logic and invariants
Domain
Service / Application Layer
Presentation
Infrastructure
Aggregates will:

• Protect transactional boundaries

• Encompass business logic and invariants
Domain
Service / Application Layer
Presentation
Infrastructure
Domain
Service / Application Layer
Stored
procedures???
Group
Desk
Qualification
Assessment
Organization Unit
Assignment
Rank
Message
On-site Activity
Brand
Lead
Campaign
Lead
L e a d
CRM Team DBA Team
Inconsistent models
No shared understanding
Duplication of knowledge
Went out of sync quickly
NIGHTMARE
Wasn’t delivered on time
Production issues
Data corruption
Thrown away and reimplemented
UbiquitousLanguage
Domain Model
BoundedContexts
Protect w/ Implement as
UbiquitousLanguage
Domain Model
BoundedContexts
Protect w/ Implement as
…Dude, where are Sub-Domains?
Not all of a large system will be well designed
“Eric Evans
THE CRUNCHERS
BOUNDED CONTEXT
03
Marketing CRM Analysis
Customer
Events
Marketing CRM
Marketing
CRM
Analysis
Customer
Events
Event
Crunchers
Competitive advantage? - No
Off-the-shelve solution? - No
=> Supporting sub-domain
Layered Architecture
Transaction Script
Worked
…. for a while
Customer
Events
Event
Crunchers
Marketing
CRM
Analysis
Flag Flag
Calculated fields
Marketing
CRM
Analysis
Customer
Events
Event
Crunchers
Customer
Events
Event Crunchers
(BBOM)
CRM
Marketing
Analysis
Customer
Events
Event
Crunchers
(Event Sourced)
CRM
Marketing
Analysis
THE BONUSES
BOUNDED CONTEXT
04
Sales Commissions Reports
Competitive advantage? - No
Off-the-shelve solution? - No
=> Supporting sub-domain
Active Record
Service / Application Layer
Presentation
Infrastructure
Sales Commissions Reports
Let’s try different percentages
What if the percentage could be a function of
a price?
No, what if the percentage is a function of
number of sales?
No, no, the percentage will be a function
both of number of sales and sale amount
And another upgrade if there are more than Y
sales per week!
But we will upgrade the percentage if there
are more than X sales per month!
Active Record
Service / Application Layer
Presentation
Infrastructure
BIG BALL OF MUD
Active Record
Service / Application Layer
Presentation
Infrastructure
Transaction Script
Service / Application Layer
Presentation
Infrastructure
Event Crunchers Bonuses
Active Record
Service / Application Layer
Presentation
Infrastructure
Transaction Script
Service / Application Layer
Presentation
Infrastructure
Event Crunchers Bonuses
UbiquitousLanguage
Event Sourced Domain Model
Service / Application Layer
Presentation
Infrastructure
Event Sourced Domain Model
Service / Application Layer
Presentation
Infrastructure
Event Crunchers Bonuses
UbiquitousLanguage
UbiquitousLanguage
Core
BoundedContexts
Protect by

decomposing to
Identify
Domains
Domain Model
Supporting
Generic
AR / TS
Adopt
Implement as
THE MARKETING HUB
BOUNDED CONTEXT
05
Leads Marketing Hub
Client
Client
Client
Competitive advantage? - Yes
=> Core Domain
Event Sourced Domain Model
CQRS
Microservices
Micro

Service
Micro

Service
Micro

Service
Micro

Service
Aggregate
Aggregate
Aggregate
Aggregate
Aggregate
Aggregate
Aggregate
Aggregate
Event
Sourced

Aggregate
Aggregate
Aggregate
Aggregate
Aggregate
Event
Sourced

Aggregate
Event Sourced Domain Model
CQRS
Microservices
Aggregate
Aggregate
Aggregate
Aggregate
Event
Sourced

Aggregate
TECHNICAL
COMPLEXITY
BUSINESS
COMPLEXITY>
Aggregate
Aggregate
Aggregate
Aggregate
Event
Sourced

Aggregate
Marketing
Bonuses
U D
CRM
U
D
Marketing

Hub
U U
D
D
Event
Crunchers
U
D
U D
WHAT

WE HAVE
L E A R N E D
UBIQUITOUS
LANGUAGE
01
Ubiquitous Language:
The Core Domain of Domain-Driven Design
UBIQUITOUS
LANGUAGE
DOCUMENTS
TESTS
JIRA
>
Marketing
Ubiquitous Language
Business goals achieved
CRM
Ubiquitous Language
Production issues
Long and painful refactoring
Event Crunchers
Ubiquitous Language
Big ball of mud
Bonuses
Ubiquitous Language
Refactored in time
Invest in the Ubiquitous Language early on.
Cheap!
You don’t need a budget for a Ubiquitous Language
DOMAIN
TYPES
02
Core
Supporting
Generic
Generic Domain Adopt / Buy
Supporting Domain Active Record / Transaction Script
Core Domain Domain Model / Event Sourcing
COMPANIES CHANGE, EVOLVE, REINVENT THEMSELVES
DOMAINS' TYPES CAN CHANGE ACCORDINGLY
SUPPORTING ➤ CORE
• Event Crunchers
• Bonuses
SUPPORTING ➤ GENERIC
• Creative Catalog
CORE ➤ GENERIC
• Lead Evaluation System
CORE ➤ SUPPORTING
• Marketing Hub
GENERIC ➤ CORE
• AWS
Generic Domain Adopt / Buy
Supporting Domain Active Record / Transaction Script
Core Domain Domain Model / Event Sourcing
Generic DomainAdopt / Buy
Supporting DomainActive Record / Transaction Script
Core DomainDomain Model / Event Sourcing
Less waste
Dialog with the business
IMPLEMENTATION DESIGN ➤ DOMAIN TYPE
• Questionable competitive edge?
• Accidental “business” complexity?
• Unexpected competitive edge?
BUSINESS COMPLEXITY ≠ DOMAIN TYPE?
Generic DomainAdopt / Buy
Supporting DomainActive Record / Transaction Script
Core DomainDomain Model / Event Sourcing
IMPLEMENTATION DESIGN ➤ DOMAIN TYPE
IMPLEMENTATION
STRATEGIES
03
How to Model the Business Logic?
Transaction Script
Active Record
Domain Model
Event Sourced Domain Model
MONEY? DEEP ANALYTICS? AUDIT LOG?
Event Sourced Domain Model
COMPLEX BUSINESS LOGIC?
Domain Model
COMPLEX DATA STRUCTURES?
Active Record
SIMPLE LOGIC, SIMPLE DATA STRUCTURES?
Transaction Script
MAPPING ARCHITECTURAL PATTERNS
Event Sourced Domain Model ➤ CQRS
Domain Model ➤ Hexagonal Architecture
Active Record ➤ Layered Architecture
Transaction Script ➤ “Keep it simple” Architecture
MAPPING ARCHITECTURAL PATTERNS
Event Sourced Domain Model ➤ CQRS
Domain Model ➤ Hexagonal Architecture
Active Record ➤ Layered Architecture
Transaction Script ➤ “Keep it simple” Architecture
Transaction Script
Active Record
Domain Model
Event Sourced Domain Model
PAIN?
BUSINESS CHANGED?
DOMAIN TYPE CHANGED?
REVISE IMPLEMENTATION STRATEGY?
➤
Transaction Script
Active Record
Domain Model
Event Sourced Domain Model
CQRS
04
Event Sourcing ➤ CQRS
EVENT SOURCING
A WAY OF MODELING BUSINESS DOMAINS
CQRS
ARCHITECTURAL PATTERN FOR REPRESENTING
THE SAME DATA IN DIFFERENT MODELS
Transaction Script
Active Record
Domain Model
}
Can benefit from CQRS
and
State-Based Projections
05
BOUNDED
CONTEXTS
Creative
Agency
Publisher
Website
Advertiser
Ad Zone
Ad Type
Target Market
Group
Zone Type
Funnel
Contract
Budget Unit
Audience
Placement Visit
Lead
Campaign
Marketing
Group
Desk
Qualification
Assessment
Organization Unit
Assignment
Rank
Message
On-site Activity
Brand
Lead
Campaign
CRM
LINGUISTIC BOUNDARIES
Bonuses
Event
Crunchers
DOMAIN-BASED BOUNDARIES
AGGREGATE-BASED BOUNDARIES
Aggregate
Aggregate
Aggregate
Aggregate
L e a d
SUICIDAL BOUNDARIES
Finding service boundaries is really damn hard…
There is no flowchart!
“Udi Dahan
THERE ARE GOING TO BE MISTAKES
ACCEPT IT, AND DON’T MAKE FATAL ONES
START WITH BIGGER BOUNDARIES
DECOMPOSE LATER, AS YOU GAIN KNOWLEDGE
THE LESS YOU KNOW ABOUT THE DOMAIN -
THE WIDER THE INITIAL BOUNDARIES ARE
Aggregate
Aggregate
Aggregate
Aggregate
Event
Sourced

Aggregate
Marketing
Creative
Agency
Publisher
Website
Advertiser
Ad Zone
Ad Type
Target Market
Group
Zone Type
Funnel
Contract
Budget Unit
Audience
Placement Visit
Lead
Campaign
Campaigns
Creative
Ad Type
Agency
Publisher
Website
Zone Type
ContractBudget Unit
Impression
Visit
Lead
Advertiser
Target MarketFunnel
Audience
Placement
Campaign
Creative Catalog
Publishers
Events
START WITH BIGGER BOUNDARIES
DECOMPOSE AS YOU GAIN DOMAIN KNOWLEDGE
1. Ubiquitous Language is not optional
2. Domain Types change. Embrace these changes
3. Learn the ins and outs of the four patterns of modeling business logic
4. Use CQRS to represent the same data in multiple models
5. Start with bigger boundaries, and divide as you gain domain knowledge
07
SUMMARY
UbiquitousLanguage
BoundedContexts
Protect by

decomposing to
Design

Implementation
Core
Supporting
Generic
Domain Model
AR / TS
Adopt
Confirm w/

Business
UbiquitousLanguage
BoundedContexts
Protect by

decomposing to
Design

Implementation
Core
Supporting
Generic
Domain Model
AR / TS
Adopt
Confirm w/

Business
UbiquitousLanguage
BoundedContexts
Protect by

decomposing to
Design

Implementation
Core
Supporting
Generic
Domain Model
AR / TS
Adopt
Confirm w/

Business
UbiquitousLanguage
BoundedContexts
Protect by

decomposing to
Design

Implementation
Core
Supporting
Generic
Domain Model
AR / TS
Adopt
Confirm w/

Business
UbiquitousLanguage
BoundedContexts
Protect by

decomposing to
Design

Implementation
Core
Supporting
Generic
Domain Model
AR / TS
Adopt
Confirm w/

Business
Creative
Agency
Advertiser
Publisher
Website
Placement
Ad Zone
Ad Type
Target Market
Group
Zone Type
Funnel
Contract
Budget Unit
Campaign
Aggregates everywhere!!!
UbiquitousLanguage
BoundedContexts
Protect by

decomposing to
Design

Implementation
Core
Supporting
Generic
Domain Model
AR / TS
Adopt
Confirm w/

Business
Ubiquitous Language Everywhere!!!
P.S.
QUESTIONS?
THANK YOU!
@vladikk
http://vladikk.com

More Related Content

Similar to 7 Years of DDD: Tackling Complexity in Marketing Systems (DDD Europe 2018)

7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
Codemotion
 
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
Codemotion
 
Isv cloud business readiness assessment
Isv cloud business readiness assessmentIsv cloud business readiness assessment
Isv cloud business readiness assessment
MIS
 
Benchmark of ecommerce solutions (short version, english)
Benchmark of ecommerce solutions (short version, english)Benchmark of ecommerce solutions (short version, english)
Benchmark of ecommerce solutions (short version, english)
Philippe Humeau
 
Adobe Business.pptx
Adobe Business.pptxAdobe Business.pptx
Adobe Business.pptx
Ankush Kapil
 
AppDirect Business Case (MSP)
AppDirect Business Case (MSP)AppDirect Business Case (MSP)
AppDirect Business Case (MSP)
Madeline Titcomb
 
Using AWS Marketplace to Reach Over 190,000 Customers (GPSMP203) - AWS re:Inv...
Using AWS Marketplace to Reach Over 190,000 Customers (GPSMP203) - AWS re:Inv...Using AWS Marketplace to Reach Over 190,000 Customers (GPSMP203) - AWS re:Inv...
Using AWS Marketplace to Reach Over 190,000 Customers (GPSMP203) - AWS re:Inv...
Amazon Web Services
 
AppDirect Business Case (ISP)
AppDirect Business Case (ISP)AppDirect Business Case (ISP)
AppDirect Business Case (ISP)
Madeline Titcomb
 
Benchmark of e-commerce solutions
Benchmark of e-commerce solutionsBenchmark of e-commerce solutions
Benchmark of e-commerce solutions
NBS System
 
Data Discovery and BI - Is there Really a Difference?
Data Discovery and BI - Is there Really a Difference?Data Discovery and BI - Is there Really a Difference?
Data Discovery and BI - Is there Really a Difference?
Inside Analysis
 
Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?
VMware Tanzu
 
iPuzzlebiz Presentation
iPuzzlebiz PresentationiPuzzlebiz Presentation
iPuzzlebiz Presentation
ipuzzlebiz
 
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Tim Vibbert
 
2010.06.23 - How to succeed in surfing the Saas and Cloud Tsunami
2010.06.23  - How to succeed in surfing the Saas and Cloud Tsunami2010.06.23  - How to succeed in surfing the Saas and Cloud Tsunami
2010.06.23 - How to succeed in surfing the Saas and Cloud Tsunami
Club Alliances
 
Emi fy22 commerce b2 b user group- june 2021
Emi fy22 commerce b2 b   user group- june 2021Emi fy22 commerce b2 b   user group- june 2021
Emi fy22 commerce b2 b user group- june 2021
Raja Bipin Chandra ☁
 
Agora E245 final presentation
Agora E245 final presentationAgora E245 final presentation
Agora E245 final presentation
Stanford University
 
unit iv Building on e commerce enterprise
 unit iv Building on e commerce enterprise unit iv Building on e commerce enterprise
unit iv Building on e commerce enterprise
Arnav Chowdhury
 
Net suite+crm+++customer+presentation[1]
Net suite+crm+++customer+presentation[1]Net suite+crm+++customer+presentation[1]
Net suite+crm+++customer+presentation[1]
Craig Beak
 
Demandbase-Uberflip-Hexagon-Slides.pdf
Demandbase-Uberflip-Hexagon-Slides.pdfDemandbase-Uberflip-Hexagon-Slides.pdf
Demandbase-Uberflip-Hexagon-Slides.pdf
Demandbase
 
IEEE-SCCPresentation.290214544
IEEE-SCCPresentation.290214544IEEE-SCCPresentation.290214544
IEEE-SCCPresentation.290214544
ypai
 

Similar to 7 Years of DDD: Tackling Complexity in Marketing Systems (DDD Europe 2018) (20)

7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
 
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
7 Years of DDD: Tackling Complexity in Large-Scale Marketing Systems - Vladik...
 
Isv cloud business readiness assessment
Isv cloud business readiness assessmentIsv cloud business readiness assessment
Isv cloud business readiness assessment
 
Benchmark of ecommerce solutions (short version, english)
Benchmark of ecommerce solutions (short version, english)Benchmark of ecommerce solutions (short version, english)
Benchmark of ecommerce solutions (short version, english)
 
Adobe Business.pptx
Adobe Business.pptxAdobe Business.pptx
Adobe Business.pptx
 
AppDirect Business Case (MSP)
AppDirect Business Case (MSP)AppDirect Business Case (MSP)
AppDirect Business Case (MSP)
 
Using AWS Marketplace to Reach Over 190,000 Customers (GPSMP203) - AWS re:Inv...
Using AWS Marketplace to Reach Over 190,000 Customers (GPSMP203) - AWS re:Inv...Using AWS Marketplace to Reach Over 190,000 Customers (GPSMP203) - AWS re:Inv...
Using AWS Marketplace to Reach Over 190,000 Customers (GPSMP203) - AWS re:Inv...
 
AppDirect Business Case (ISP)
AppDirect Business Case (ISP)AppDirect Business Case (ISP)
AppDirect Business Case (ISP)
 
Benchmark of e-commerce solutions
Benchmark of e-commerce solutionsBenchmark of e-commerce solutions
Benchmark of e-commerce solutions
 
Data Discovery and BI - Is there Really a Difference?
Data Discovery and BI - Is there Really a Difference?Data Discovery and BI - Is there Really a Difference?
Data Discovery and BI - Is there Really a Difference?
 
Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?
 
iPuzzlebiz Presentation
iPuzzlebiz PresentationiPuzzlebiz Presentation
iPuzzlebiz Presentation
 
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
Costandopportunitycostofarchitecturalinitiatives 090311132631-phpapp01
 
2010.06.23 - How to succeed in surfing the Saas and Cloud Tsunami
2010.06.23  - How to succeed in surfing the Saas and Cloud Tsunami2010.06.23  - How to succeed in surfing the Saas and Cloud Tsunami
2010.06.23 - How to succeed in surfing the Saas and Cloud Tsunami
 
Emi fy22 commerce b2 b user group- june 2021
Emi fy22 commerce b2 b   user group- june 2021Emi fy22 commerce b2 b   user group- june 2021
Emi fy22 commerce b2 b user group- june 2021
 
Agora E245 final presentation
Agora E245 final presentationAgora E245 final presentation
Agora E245 final presentation
 
unit iv Building on e commerce enterprise
 unit iv Building on e commerce enterprise unit iv Building on e commerce enterprise
unit iv Building on e commerce enterprise
 
Net suite+crm+++customer+presentation[1]
Net suite+crm+++customer+presentation[1]Net suite+crm+++customer+presentation[1]
Net suite+crm+++customer+presentation[1]
 
Demandbase-Uberflip-Hexagon-Slides.pdf
Demandbase-Uberflip-Hexagon-Slides.pdfDemandbase-Uberflip-Hexagon-Slides.pdf
Demandbase-Uberflip-Hexagon-Slides.pdf
 
IEEE-SCCPresentation.290214544
IEEE-SCCPresentation.290214544IEEE-SCCPresentation.290214544
IEEE-SCCPresentation.290214544
 

More from Vladik Khononov

How to Tame TDD - ISTA 2017
How to Tame TDD - ISTA 2017How to Tame TDD - ISTA 2017
How to Tame TDD - ISTA 2017
Vladik Khononov
 
ISTA 2016: Event Sourcing
ISTA 2016: Event SourcingISTA 2016: Event Sourcing
ISTA 2016: Event Sourcing
Vladik Khononov
 
Mind Your Business. And Its Logic
Mind Your Business. And Its LogicMind Your Business. And Its Logic
Mind Your Business. And Its Logic
Vladik Khononov
 
Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)
Vladik Khononov
 
Introduction to Event Sourcing and CQRS
Introduction to Event Sourcing and CQRSIntroduction to Event Sourcing and CQRS
Introduction to Event Sourcing and CQRS
Vladik Khononov
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
Vladik Khononov
 
Introduction to CQRS and DDDD
Introduction to CQRS and DDDDIntroduction to CQRS and DDDD
Introduction to CQRS and DDDD
Vladik Khononov
 
Internal Project: Under the Hood
Internal Project: Under the HoodInternal Project: Under the Hood
Internal Project: Under the Hood
Vladik Khononov
 

More from Vladik Khononov (8)

How to Tame TDD - ISTA 2017
How to Tame TDD - ISTA 2017How to Tame TDD - ISTA 2017
How to Tame TDD - ISTA 2017
 
ISTA 2016: Event Sourcing
ISTA 2016: Event SourcingISTA 2016: Event Sourcing
ISTA 2016: Event Sourcing
 
Mind Your Business. And Its Logic
Mind Your Business. And Its LogicMind Your Business. And Its Logic
Mind Your Business. And Its Logic
 
Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)Introduction to Event Sourcing and CQRS (IASA-IL)
Introduction to Event Sourcing and CQRS (IASA-IL)
 
Introduction to Event Sourcing and CQRS
Introduction to Event Sourcing and CQRSIntroduction to Event Sourcing and CQRS
Introduction to Event Sourcing and CQRS
 
Introduction to MongoDB
Introduction to MongoDBIntroduction to MongoDB
Introduction to MongoDB
 
Introduction to CQRS and DDDD
Introduction to CQRS and DDDDIntroduction to CQRS and DDDD
Introduction to CQRS and DDDD
 
Internal Project: Under the Hood
Internal Project: Under the HoodInternal Project: Under the Hood
Internal Project: Under the Hood
 

Recently uploaded

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
Tomaz Bratanic
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
Claudio Di Ciccio
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Paige Cruz
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
Quotidiano Piemontese
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
Zilliz
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
Zilliz
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
innovationoecd
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 

Recently uploaded (20)

GraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracyGraphRAG for Life Science to increase LLM accuracy
GraphRAG for Life Science to increase LLM accuracy
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”“I’m still / I’m still / Chaining from the Block”
“I’m still / I’m still / Chaining from the Block”
 
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfObservability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdf
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
National Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practicesNational Security Agency - NSA mobile device best practices
National Security Agency - NSA mobile device best practices
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
Programming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup SlidesProgramming Foundation Models with DSPy - Meetup Slides
Programming Foundation Models with DSPy - Meetup Slides
 
Infrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI modelsInfrastructure Challenges in Scaling RAG with Custom AI models
Infrastructure Challenges in Scaling RAG with Custom AI models
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Presentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of GermanyPresentation of the OECD Artificial Intelligence Review of Germany
Presentation of the OECD Artificial Intelligence Review of Germany
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 

7 Years of DDD: Tackling Complexity in Marketing Systems (DDD Europe 2018)