SlideShare a Scribd company logo
1 of 17
northerntrust.com | © 2021 Northern Trust Corporation
ENTERPRISE
Domain Driven Design for Realtime,
Ubiquitous, Distributed Data
PRESENTED BY:
Laura Schornack Maureen Penzenik
Kafka Summit 2021:
https://sessionize.com/kafka-summit-eu-2021
northerntrust.com | © 2021 Northern Trust Corporation
Introduction
Laura Schornack
Laura Schornack champions Domain
Driven Design whenever possible. She
holds a degree in computer science
from the University of Illinois at
Urbana-Champaign. She holds four
patents. Laura presents frequently and
recently presented at Kubecon. She is
published through O'Reilly’s Katacoda
Laura volunteers with “Girls who
Code”, “Coder Dojo”, “Think Chicago”,
and “City Scholars”.
Maureen Penzenik
Maureen Penzenik has been in
Information Technology for over
25 years with experience in applying
Data Warehousing and Business
Intelligence methods and technologies.
Maureen holds a B.S. degree in Business
Administration and an MBA in
Management Information Systems.
northerntrust.com | © 2021 Northern Trust Corporation
Topics
• Summary of Problem
• Data Industry Past Attempts and Why They Were Flawed
• Proposed Solution
• What Is Domain Driven Design (DDD) and Enterprise DDD
• Leveraging Governance to Take the Leap from DDD to EDDD
• DDD And EDDD Example
• EDDD Example Applied in a Distributed Manner
• CQRS with Operational Systems
• Differences Between Data and Responsibility Segregation for
Applications and for Data/Analytics Environments
Agenda
northerntrust.com | © 2021 Northern Trust Corporation
Desired Outcome
• Cut the time of application delivery by not redoing all of the data work in every project.
Problem
• Data cannot be sourced from and created in different applications, with the expectation that the boundaries
are the same.
• Inconsistent sourcing and creation of duplicate datasets has Monetary, Opportunity, and Reputational costs:
— Errors
— Inconsistency
— Exponential technical debt
— Reactive approach to data problems
— Audit issues: unknown authentic source and lack of identified data owners.
— Data Owners are not included in decisions on how data is used, assuming the same data has
consistent definitions.
— Duplicate data being consumed that is not fit for purpose.
• Individual applications determining business definitions and boundaries for datasets – lack of uniformity.
• Governance in managing data sets.
Problem
northerntrust.com | © 2021 Northern Trust Corporation
Not Ideal
Problem
Ideal
Inconsistent Data Sourcing
AB
B
BC
BD
A, B, B
A, B, C
A, B, B, D
A, B, B
A
B
C
D
A, B, C, D
A, B, C, D
A, B, C, D
A, B, C, D
A, B, C, D
northerntrust.com | © 2021 Northern Trust Corporation
Problem
Inconsistent Data Derivation
A, B
A, B
C=A + B
C
C
C
C = C = C
A, B
A, B
C=A + B
C = A + D
C = A + E
C = A + F
C!= C!= C!= C
Not Ideal Ideal
northerntrust.com | © 2021 Northern Trust Corporation
History of Data Segregation within Apps
Order
Microservice
Order
Database
Customer
Microservice
Customer
Database
HTTP
Order DTO Order DTO
Customer
DTO
Microservices with
Dedicated Database
Event
Customer
Event
Publisher
Order
Microservice
Customer
Microservice
Order
Database
Customer
Database
Messaging
Microservices with Dedicated Database
Shared Database
N..1
Customer
Table
Order
Table
Order
Microservice
Customer
Microservice
Microservices with
Shared Database
northerntrust.com | © 2021 Northern Trust Corporation
CQRS for Operational Systems
Realtime, Ubiquitous, Distributed Data Architecture Achieved through DDD
and delivered through Kafka
Microservices with CQRS and Event Sourcing
Event Store Event Store
Event
Customer
Event
Customer
Event
Publisher
Order Microservice
Command
Service
Query
Service
Query
Model
Command
Endpoint
Query
Endpoint
Customer Microservice
Query
Service
Query
Model
Command
Endpoint
Query
Endpoint
Messaging System
Command
Model
Event
Publisher
Read
Storage
Read
Storage
Command
Service
Command
Model
northerntrust.com | © 2021 Northern Trust Corporation
Use Case Table for a Hotel Booking System
DDD for a Single Application – Generic Example
Bounded Contexts/Data Sets
ACTOR USE CASE INPUT OUTPUT
Customer Search Hotels Location, Date, Range,
Room Rate. Facilities
Hotels, Availability
View Hotel Info Hotel Facilities, Room
Specifications
View Rates Hotel, Room Specifications,
Date Range
Room Rates
Make a Reservation Hotel, Room specification,
Date Range, Customer,
Customer Card Details
Reservation, Room
availability
Search for a Reservation Reservation ID Reservation
Cancel a Reservation Reservation ID Confirmation Number
View Reservation Reservation ID Reservation Details
Edit Reservation Reservation Confirmation
Number
New Confirmation Number
Create Rewards Account Customer ID Rewards Info
Create Account Customer Info Customer Object ID
Hotel Manager Manage Hotel Reservation Reservation ID Reservation
Card Vendor Authorize Card Customer Card Details Card Authorization
Customer Hotel Card / Reservation
Customer
<RO>
Points
<E>
Photographs
<VO>
Hotel
<RO>
Local POI
<VO>
Room Type
<VO>
Rate
<VO>
Location
<VO>
Facilities
<VO>
Hotel
<E>
Reservation
<E><RO>
Date Range
<VO>
Room Rate
<VO>
Room
Specification
<VO>
Customer ID
<E>
Payment
<VO>
Authorization
<E>
northerntrust.com | © 2021 Northern Trust Corporation
DDD merged with Event Storming
Use Case Merged with Event Storming Table
ACTOR USE CASE INPUT OUTPUT EVENT COMMAND QUERY
Customer Create Customer Customer Info Customer Customer Created Create Customer
Edit Customer Customer Customer Customer Updated Update Customer
Make a Reservation Hotel, Room specification, Date Range,
Customer, Customer Card Details
Reservation, Room
availability
Room Reservation Requested,
Card Authorization Requested,
Payment Processed, Payment
Processing Failed, Reservation
Succeeded, Reservation Failed
Reserve Hotel
Search for a Reservation Reservation ID Reservation No event Search Reservation
Cancel a Reservation Reservation ID Confirmation Number Room Cancelled Cancel Room
View Reservation Reservation ID Reservation Details No event View Reservation
Edit Reservation Reservation Confirmation Number, Reservation New Confirmation Number Room Reservation Updated Update Reservation
Create Rewards Account Customer ID Rewards Info Rewards Account Created Create Rewards Account
Send Email Customer, email content Status Send Email
Hotel Manager Manage Hotel Hotel Info Hotel Hotel Added Add Hotel
Manage Hotel Hotel Hotel Hotel Updated Update Hotel
Manage Hotel Hotel Hotel Hotel Deleted Delete Hotel
Manage Hotel Hotel ID, Picture Status Add Picture
Manage Hotel Hotel ID, Picture ID Status Delete Picture
Search Hotels Location, Date, Range, Room Rate.
Requirements
Hotels, Availability no event Search Hotel
View Hotel Info Hotel Facilities, Room
Specifications
no event View Hotel
Information
View Rates Hotel, Room Specifications, Date Range Room Rates no event View Hotel Rates
Card Vendor Authorize Card Customer Card Details Card Authorization Card Authorized
Card Authorization Failed
Authorize Credit Card
Issue Refund Customer Card Details Card Authorization Card Refund Authorized
Card Refund Authorization Failed
Refund Credit Card
northerntrust.com | © 2021 Northern Trust Corporation
Eventing Diagram
Flow of Events
Reserve Hotel Action Flow
Customer
Domain
Reservation
Domain
Reserve
hotel
command
Card
Vendor
Domain
Card
authorization
requested
event
Process
payment
event
Room
reservation
success event
Room
reservation
requested
event
Hotel
Mgmt.
Domain
1 2
3
4
5
6
7
8 8
northerntrust.com | © 2021 Northern Trust Corporation
Enterprise Domain Driven Design:
• Ubiquitous, Distributed Data across many systems working in concert
• Governance: Glossary that logs data set and metadata created by DDD
• Each bounded context should be listed along with its metadata:
— Lineage
— Business Data Owner
— Data Steward
— Technical Owner
— Interoperability
— Distributions
• Operational System needs
• Analytics systems needs
Enterprise Domain Driven Design
How to apply DDD to the Enterprise – Reuse of Datasets
northerntrust.com | © 2021 Northern Trust Corporation
Key
Using Data Sets in your Analytics Ecosystem
Operational vs Data/Analytics Ecosystems
Operational
Data Sources
Downstream Consumers
of Data Products
Delivery
Compute
Data Set Data Set Data Set
Data
Functionality
App
Data Mesh
northerntrust.com | © 2021 Northern Trust Corporation
Monoliths
• Centralized data ownership within tech-focused,
specialized team.
• Highly-coupled data pipelines; difficult to change.
Monoliths vs Data Mesh
Data Mesh*
• Domain-oriented data
• “Data as a product”
• Self-service data infrastructure
• Standards and governance
*Reference: Zhamak Dehghani “How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh”;
https://martinfowler.com/articles/data-monolith-to-mesh.html
northerntrust.com | © 2021 Northern Trust Corporation
• Advancing Domain Driven Design for one application into Enterprise
Domain Driven Design.
• With Enterprise Domain Driven Design, we can merge with the data side of
the house.
• Domain Driven Design for the data warehouse / analytics environment.
• Unify operational and analytical worlds around business-driven data
domains.
Recap
northerntrust.com | © 2021 Northern Trust Corporation
Questions?
16
northerntrust.com | © 2021 Northern Trust Corporation

More Related Content

What's hot

Data Management Meets Human Management - Why Words Matter
Data Management Meets Human Management - Why Words MatterData Management Meets Human Management - Why Words Matter
Data Management Meets Human Management - Why Words MatterDATAVERSITY
 
Measuring Data Quality Return on Investment
Measuring Data Quality Return on InvestmentMeasuring Data Quality Return on Investment
Measuring Data Quality Return on InvestmentDATAVERSITY
 
Lessons in Data Modeling: Why a Data Model is an Important Part of Your Data ...
Lessons in Data Modeling: Why a Data Model is an Important Part of Your Data ...Lessons in Data Modeling: Why a Data Model is an Important Part of Your Data ...
Lessons in Data Modeling: Why a Data Model is an Important Part of Your Data ...DATAVERSITY
 
Agile Enterprise Data Model & Data Management Solution
Agile Enterprise Data Model & Data Management SolutionAgile Enterprise Data Model & Data Management Solution
Agile Enterprise Data Model & Data Management SolutionA.I. Consultancy Ltd
 
Real-World Data Governance Webinar: Agile and Data Governance - Bridging the Gap
Real-World Data Governance Webinar: Agile and Data Governance - Bridging the GapReal-World Data Governance Webinar: Agile and Data Governance - Bridging the Gap
Real-World Data Governance Webinar: Agile and Data Governance - Bridging the GapDATAVERSITY
 
Mdm introduction
Mdm introductionMdm introduction
Mdm introductionNagesh Slj
 
2022 Trends in Enterprise Analytics
2022 Trends in Enterprise Analytics2022 Trends in Enterprise Analytics
2022 Trends in Enterprise AnalyticsDATAVERSITY
 
Harnessing the Power of Advanced Insurance Analytics Through Property Data
Harnessing the Power of Advanced Insurance Analytics Through Property DataHarnessing the Power of Advanced Insurance Analytics Through Property Data
Harnessing the Power of Advanced Insurance Analytics Through Property DataPrecisely
 
BI: The ROI of Business Intelligence- Why It's Best To Invest In BI
BI: The ROI of Business Intelligence- Why It's Best To Invest In BIBI: The ROI of Business Intelligence- Why It's Best To Invest In BI
BI: The ROI of Business Intelligence- Why It's Best To Invest In BIChristian Ofori-Boateng
 
Emagia Master Class 3 | Integrated Order-to-Cash (OTC) Transformation for Glo...
Emagia Master Class 3 | Integrated Order-to-Cash (OTC) Transformation for Glo...Emagia Master Class 3 | Integrated Order-to-Cash (OTC) Transformation for Glo...
Emagia Master Class 3 | Integrated Order-to-Cash (OTC) Transformation for Glo...emagia
 
ADV Slides: The Data Needed to Evolve an Enterprise Artificial Intelligence S...
ADV Slides: The Data Needed to Evolve an Enterprise Artificial Intelligence S...ADV Slides: The Data Needed to Evolve an Enterprise Artificial Intelligence S...
ADV Slides: The Data Needed to Evolve an Enterprise Artificial Intelligence S...DATAVERSITY
 
Effective BI Portal Design Patterns to Drive High User Engagement
Effective BI Portal Design Patterns to Drive High User EngagementEffective BI Portal Design Patterns to Drive High User Engagement
Effective BI Portal Design Patterns to Drive High User EngagementDATAVERSITY
 
360 metadata - crucial for digital marketing - framework for you
360 metadata - crucial for digital marketing - framework for you360 metadata - crucial for digital marketing - framework for you
360 metadata - crucial for digital marketing - framework for youHeimo Hänninen
 
ADV Slides: Data Curation for Artificial Intelligence Strategies
ADV Slides: Data Curation for Artificial Intelligence StrategiesADV Slides: Data Curation for Artificial Intelligence Strategies
ADV Slides: Data Curation for Artificial Intelligence StrategiesDATAVERSITY
 
Align Business Data & Analytics for Digital Transformation
Align Business Data & Analytics for Digital TransformationAlign Business Data & Analytics for Digital Transformation
Align Business Data & Analytics for Digital TransformationPerficient, Inc.
 
TDWI Spotlight: Enabling Data Self-Service with Security, Governance, and Reg...
TDWI Spotlight: Enabling Data Self-Service with Security, Governance, and Reg...TDWI Spotlight: Enabling Data Self-Service with Security, Governance, and Reg...
TDWI Spotlight: Enabling Data Self-Service with Security, Governance, and Reg...Denodo
 
Vuzion Inspired Event - Highlights from Microsoft Inspire 2017
Vuzion Inspired Event - Highlights from Microsoft Inspire 2017Vuzion Inspired Event - Highlights from Microsoft Inspire 2017
Vuzion Inspired Event - Highlights from Microsoft Inspire 2017Vuzion
 
Expanding Trust in Data
Expanding Trust in DataExpanding Trust in Data
Expanding Trust in DataPrecisely
 

What's hot (20)

Data Management Meets Human Management - Why Words Matter
Data Management Meets Human Management - Why Words MatterData Management Meets Human Management - Why Words Matter
Data Management Meets Human Management - Why Words Matter
 
Measuring Data Quality Return on Investment
Measuring Data Quality Return on InvestmentMeasuring Data Quality Return on Investment
Measuring Data Quality Return on Investment
 
Lessons in Data Modeling: Why a Data Model is an Important Part of Your Data ...
Lessons in Data Modeling: Why a Data Model is an Important Part of Your Data ...Lessons in Data Modeling: Why a Data Model is an Important Part of Your Data ...
Lessons in Data Modeling: Why a Data Model is an Important Part of Your Data ...
 
Agile Enterprise Data Model & Data Management Solution
Agile Enterprise Data Model & Data Management SolutionAgile Enterprise Data Model & Data Management Solution
Agile Enterprise Data Model & Data Management Solution
 
1 Storage Strategy
1 Storage Strategy1 Storage Strategy
1 Storage Strategy
 
Real-World Data Governance Webinar: Agile and Data Governance - Bridging the Gap
Real-World Data Governance Webinar: Agile and Data Governance - Bridging the GapReal-World Data Governance Webinar: Agile and Data Governance - Bridging the Gap
Real-World Data Governance Webinar: Agile and Data Governance - Bridging the Gap
 
Mdm introduction
Mdm introductionMdm introduction
Mdm introduction
 
2022 Trends in Enterprise Analytics
2022 Trends in Enterprise Analytics2022 Trends in Enterprise Analytics
2022 Trends in Enterprise Analytics
 
Harnessing the Power of Advanced Insurance Analytics Through Property Data
Harnessing the Power of Advanced Insurance Analytics Through Property DataHarnessing the Power of Advanced Insurance Analytics Through Property Data
Harnessing the Power of Advanced Insurance Analytics Through Property Data
 
BI: The ROI of Business Intelligence- Why It's Best To Invest In BI
BI: The ROI of Business Intelligence- Why It's Best To Invest In BIBI: The ROI of Business Intelligence- Why It's Best To Invest In BI
BI: The ROI of Business Intelligence- Why It's Best To Invest In BI
 
Emagia Master Class 3 | Integrated Order-to-Cash (OTC) Transformation for Glo...
Emagia Master Class 3 | Integrated Order-to-Cash (OTC) Transformation for Glo...Emagia Master Class 3 | Integrated Order-to-Cash (OTC) Transformation for Glo...
Emagia Master Class 3 | Integrated Order-to-Cash (OTC) Transformation for Glo...
 
ADV Slides: The Data Needed to Evolve an Enterprise Artificial Intelligence S...
ADV Slides: The Data Needed to Evolve an Enterprise Artificial Intelligence S...ADV Slides: The Data Needed to Evolve an Enterprise Artificial Intelligence S...
ADV Slides: The Data Needed to Evolve an Enterprise Artificial Intelligence S...
 
Effective BI Portal Design Patterns to Drive High User Engagement
Effective BI Portal Design Patterns to Drive High User EngagementEffective BI Portal Design Patterns to Drive High User Engagement
Effective BI Portal Design Patterns to Drive High User Engagement
 
360 metadata - crucial for digital marketing - framework for you
360 metadata - crucial for digital marketing - framework for you360 metadata - crucial for digital marketing - framework for you
360 metadata - crucial for digital marketing - framework for you
 
ADV Slides: Data Curation for Artificial Intelligence Strategies
ADV Slides: Data Curation for Artificial Intelligence StrategiesADV Slides: Data Curation for Artificial Intelligence Strategies
ADV Slides: Data Curation for Artificial Intelligence Strategies
 
Align Business Data & Analytics for Digital Transformation
Align Business Data & Analytics for Digital TransformationAlign Business Data & Analytics for Digital Transformation
Align Business Data & Analytics for Digital Transformation
 
TDWI Spotlight: Enabling Data Self-Service with Security, Governance, and Reg...
TDWI Spotlight: Enabling Data Self-Service with Security, Governance, and Reg...TDWI Spotlight: Enabling Data Self-Service with Security, Governance, and Reg...
TDWI Spotlight: Enabling Data Self-Service with Security, Governance, and Reg...
 
Data Quality Management
Data Quality ManagementData Quality Management
Data Quality Management
 
Vuzion Inspired Event - Highlights from Microsoft Inspire 2017
Vuzion Inspired Event - Highlights from Microsoft Inspire 2017Vuzion Inspired Event - Highlights from Microsoft Inspire 2017
Vuzion Inspired Event - Highlights from Microsoft Inspire 2017
 
Expanding Trust in Data
Expanding Trust in DataExpanding Trust in Data
Expanding Trust in Data
 

Similar to Reusing Kafka Data Structure Between Projects | Laura Schornack and Maureen Penzenik, Northern Trust

Don’t Reinvent the Wheel: Pre-built Spatial and Data Enrichment APIs for Your...
Don’t Reinvent the Wheel: Pre-built Spatial and Data Enrichment APIs for Your...Don’t Reinvent the Wheel: Pre-built Spatial and Data Enrichment APIs for Your...
Don’t Reinvent the Wheel: Pre-built Spatial and Data Enrichment APIs for Your...Precisely
 
Accelerate Confident Decision-Making with Data Enrichment
Accelerate Confident Decision-Making with Data EnrichmentAccelerate Confident Decision-Making with Data Enrichment
Accelerate Confident Decision-Making with Data EnrichmentPrecisely
 
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...apidays
 
(Data) Integrity Matters: Four Ways You Can Build Trust in Your Data
(Data) Integrity Matters: Four Ways You Can Build Trust in Your Data(Data) Integrity Matters: Four Ways You Can Build Trust in Your Data
(Data) Integrity Matters: Four Ways You Can Build Trust in Your DataPrecisely
 
Case study: Turbo charging the customer experience with MDM (Kiva Group)l
Case study: Turbo charging the customer experience with MDM (Kiva Group)lCase study: Turbo charging the customer experience with MDM (Kiva Group)l
Case study: Turbo charging the customer experience with MDM (Kiva Group)lJean-Michel Franco
 
9,000 Ways to Optimize Outcomes in Financial Services
9,000 Ways to Optimize Outcomes in Financial Services9,000 Ways to Optimize Outcomes in Financial Services
9,000 Ways to Optimize Outcomes in Financial ServicesPrecisely
 
Data Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
 
Data Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesPrecisely
 
Unlock Data driven Insights in Databricks Using Location Intelligence
Unlock Data driven Insights in Databricks Using Location IntelligenceUnlock Data driven Insights in Databricks Using Location Intelligence
Unlock Data driven Insights in Databricks Using Location IntelligencePrecisely
 
Building Your Data Hub to Support Digital
Building Your Data Hub to Support DigitalBuilding Your Data Hub to Support Digital
Building Your Data Hub to Support DigitalDenodo
 
Transform Context into Intelligence in the PropTech Industry
Transform Context into Intelligence in the PropTech IndustryTransform Context into Intelligence in the PropTech Industry
Transform Context into Intelligence in the PropTech IndustryPrecisely
 
Do You Trust Your Machine Learning Outcomes?
 Do You Trust Your Machine Learning Outcomes?  Do You Trust Your Machine Learning Outcomes?
Do You Trust Your Machine Learning Outcomes? Precisely
 
Efficiently Incorporating Data Enrichment into Business Operations for More I...
Efficiently Incorporating Data Enrichment into Business Operations for More I...Efficiently Incorporating Data Enrichment into Business Operations for More I...
Efficiently Incorporating Data Enrichment into Business Operations for More I...Precisely
 
Keeping the Pulse of Your Data:  Why You Need Data Observability to Improve D...
Keeping the Pulse of Your Data:  Why You Need Data Observability to Improve D...Keeping the Pulse of Your Data:  Why You Need Data Observability to Improve D...
Keeping the Pulse of Your Data:  Why You Need Data Observability to Improve D...Precisely
 
Consumption based analytics enabled by Data Virtualization
Consumption based analytics enabled by Data VirtualizationConsumption based analytics enabled by Data Virtualization
Consumption based analytics enabled by Data VirtualizationDenodo
 
Understanding virtual credit cards for travel suppliers
Understanding virtual credit cards for travel suppliersUnderstanding virtual credit cards for travel suppliers
Understanding virtual credit cards for travel suppliersKevin May
 
CDI-MDMSummit.290213824
CDI-MDMSummit.290213824CDI-MDMSummit.290213824
CDI-MDMSummit.290213824ypai
 
Narender Reddy Andra Profile
Narender Reddy Andra ProfileNarender Reddy Andra Profile
Narender Reddy Andra ProfileNarender Reddy
 
Data Centric Transformation in Telecom
Data Centric Transformation in TelecomData Centric Transformation in Telecom
Data Centric Transformation in TelecomDataWorks Summit
 
Identity and Access Management
Identity and Access ManagementIdentity and Access Management
Identity and Access ManagementNeo4j
 

Similar to Reusing Kafka Data Structure Between Projects | Laura Schornack and Maureen Penzenik, Northern Trust (20)

Don’t Reinvent the Wheel: Pre-built Spatial and Data Enrichment APIs for Your...
Don’t Reinvent the Wheel: Pre-built Spatial and Data Enrichment APIs for Your...Don’t Reinvent the Wheel: Pre-built Spatial and Data Enrichment APIs for Your...
Don’t Reinvent the Wheel: Pre-built Spatial and Data Enrichment APIs for Your...
 
Accelerate Confident Decision-Making with Data Enrichment
Accelerate Confident Decision-Making with Data EnrichmentAccelerate Confident Decision-Making with Data Enrichment
Accelerate Confident Decision-Making with Data Enrichment
 
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
apidays LIVE Paris - Drawing the right lines: DDD, APIs and Microservices by ...
 
(Data) Integrity Matters: Four Ways You Can Build Trust in Your Data
(Data) Integrity Matters: Four Ways You Can Build Trust in Your Data(Data) Integrity Matters: Four Ways You Can Build Trust in Your Data
(Data) Integrity Matters: Four Ways You Can Build Trust in Your Data
 
Case study: Turbo charging the customer experience with MDM (Kiva Group)l
Case study: Turbo charging the customer experience with MDM (Kiva Group)lCase study: Turbo charging the customer experience with MDM (Kiva Group)l
Case study: Turbo charging the customer experience with MDM (Kiva Group)l
 
9,000 Ways to Optimize Outcomes in Financial Services
9,000 Ways to Optimize Outcomes in Financial Services9,000 Ways to Optimize Outcomes in Financial Services
9,000 Ways to Optimize Outcomes in Financial Services
 
Data Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
 
Data Integrity for Banking and Financial Services
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
 
Unlock Data driven Insights in Databricks Using Location Intelligence
Unlock Data driven Insights in Databricks Using Location IntelligenceUnlock Data driven Insights in Databricks Using Location Intelligence
Unlock Data driven Insights in Databricks Using Location Intelligence
 
Building Your Data Hub to Support Digital
Building Your Data Hub to Support DigitalBuilding Your Data Hub to Support Digital
Building Your Data Hub to Support Digital
 
Transform Context into Intelligence in the PropTech Industry
Transform Context into Intelligence in the PropTech IndustryTransform Context into Intelligence in the PropTech Industry
Transform Context into Intelligence in the PropTech Industry
 
Do You Trust Your Machine Learning Outcomes?
 Do You Trust Your Machine Learning Outcomes?  Do You Trust Your Machine Learning Outcomes?
Do You Trust Your Machine Learning Outcomes?
 
Efficiently Incorporating Data Enrichment into Business Operations for More I...
Efficiently Incorporating Data Enrichment into Business Operations for More I...Efficiently Incorporating Data Enrichment into Business Operations for More I...
Efficiently Incorporating Data Enrichment into Business Operations for More I...
 
Keeping the Pulse of Your Data:  Why You Need Data Observability to Improve D...
Keeping the Pulse of Your Data:  Why You Need Data Observability to Improve D...Keeping the Pulse of Your Data:  Why You Need Data Observability to Improve D...
Keeping the Pulse of Your Data:  Why You Need Data Observability to Improve D...
 
Consumption based analytics enabled by Data Virtualization
Consumption based analytics enabled by Data VirtualizationConsumption based analytics enabled by Data Virtualization
Consumption based analytics enabled by Data Virtualization
 
Understanding virtual credit cards for travel suppliers
Understanding virtual credit cards for travel suppliersUnderstanding virtual credit cards for travel suppliers
Understanding virtual credit cards for travel suppliers
 
CDI-MDMSummit.290213824
CDI-MDMSummit.290213824CDI-MDMSummit.290213824
CDI-MDMSummit.290213824
 
Narender Reddy Andra Profile
Narender Reddy Andra ProfileNarender Reddy Andra Profile
Narender Reddy Andra Profile
 
Data Centric Transformation in Telecom
Data Centric Transformation in TelecomData Centric Transformation in Telecom
Data Centric Transformation in Telecom
 
Identity and Access Management
Identity and Access ManagementIdentity and Access Management
Identity and Access Management
 

More from HostedbyConfluent

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Renaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonRenaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonHostedbyConfluent
 
Evolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolEvolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolHostedbyConfluent
 
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesEnsuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesHostedbyConfluent
 
Exactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaExactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaHostedbyConfluent
 
Fish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonFish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonHostedbyConfluent
 
Tiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonTiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonHostedbyConfluent
 
Building a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyBuilding a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyHostedbyConfluent
 
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...HostedbyConfluent
 
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...HostedbyConfluent
 
Navigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersNavigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersHostedbyConfluent
 
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformApache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformHostedbyConfluent
 
Explaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubExplaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubHostedbyConfluent
 
TL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonTL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonHostedbyConfluent
 
A Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLA Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLHostedbyConfluent
 
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceMastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceHostedbyConfluent
 
Data Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondData Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondHostedbyConfluent
 
Code-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsCode-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsHostedbyConfluent
 
Debezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemDebezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemHostedbyConfluent
 
Beyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksBeyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksHostedbyConfluent
 

More from HostedbyConfluent (20)

Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Renaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit LondonRenaming a Kafka Topic | Kafka Summit London
Renaming a Kafka Topic | Kafka Summit London
 
Evolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at TrendyolEvolution of NRT Data Ingestion Pipeline at Trendyol
Evolution of NRT Data Ingestion Pipeline at Trendyol
 
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking TechniquesEnsuring Kafka Service Resilience: A Dive into Health-Checking Techniques
Ensuring Kafka Service Resilience: A Dive into Health-Checking Techniques
 
Exactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and KafkaExactly-once Stream Processing with Arroyo and Kafka
Exactly-once Stream Processing with Arroyo and Kafka
 
Fish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit LondonFish Plays Pokemon | Kafka Summit London
Fish Plays Pokemon | Kafka Summit London
 
Tiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit LondonTiered Storage 101 | Kafla Summit London
Tiered Storage 101 | Kafla Summit London
 
Building a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And WhyBuilding a Self-Service Stream Processing Portal: How And Why
Building a Self-Service Stream Processing Portal: How And Why
 
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
From the Trenches: Improving Kafka Connect Source Connector Ingestion from 7 ...
 
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
Future with Zero Down-Time: End-to-end Resiliency with Chaos Engineering and ...
 
Navigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka ClustersNavigating Private Network Connectivity Options for Kafka Clusters
Navigating Private Network Connectivity Options for Kafka Clusters
 
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data PlatformApache Flink: Building a Company-wide Self-service Streaming Data Platform
Apache Flink: Building a Company-wide Self-service Streaming Data Platform
 
Explaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy PubExplaining How Real-Time GenAI Works in a Noisy Pub
Explaining How Real-Time GenAI Works in a Noisy Pub
 
TL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit LondonTL;DR Kafka Metrics | Kafka Summit London
TL;DR Kafka Metrics | Kafka Summit London
 
A Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSLA Window Into Your Kafka Streams Tasks | KSL
A Window Into Your Kafka Streams Tasks | KSL
 
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing PerformanceMastering Kafka Producer Configs: A Guide to Optimizing Performance
Mastering Kafka Producer Configs: A Guide to Optimizing Performance
 
Data Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and BeyondData Contracts Management: Schema Registry and Beyond
Data Contracts Management: Schema Registry and Beyond
 
Code-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink AppsCode-First Approach: Crafting Efficient Flink Apps
Code-First Approach: Crafting Efficient Flink Apps
 
Debezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC EcosystemDebezium vs. the World: An Overview of the CDC Ecosystem
Debezium vs. the World: An Overview of the CDC Ecosystem
 
Beyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local DisksBeyond Tiered Storage: Serverless Kafka with No Local Disks
Beyond Tiered Storage: Serverless Kafka with No Local Disks
 

Recently uploaded

CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Recently uploaded (20)

Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Reusing Kafka Data Structure Between Projects | Laura Schornack and Maureen Penzenik, Northern Trust

  • 1. northerntrust.com | © 2021 Northern Trust Corporation ENTERPRISE Domain Driven Design for Realtime, Ubiquitous, Distributed Data PRESENTED BY: Laura Schornack Maureen Penzenik Kafka Summit 2021: https://sessionize.com/kafka-summit-eu-2021
  • 2. northerntrust.com | © 2021 Northern Trust Corporation Introduction Laura Schornack Laura Schornack champions Domain Driven Design whenever possible. She holds a degree in computer science from the University of Illinois at Urbana-Champaign. She holds four patents. Laura presents frequently and recently presented at Kubecon. She is published through O'Reilly’s Katacoda Laura volunteers with “Girls who Code”, “Coder Dojo”, “Think Chicago”, and “City Scholars”. Maureen Penzenik Maureen Penzenik has been in Information Technology for over 25 years with experience in applying Data Warehousing and Business Intelligence methods and technologies. Maureen holds a B.S. degree in Business Administration and an MBA in Management Information Systems.
  • 3. northerntrust.com | © 2021 Northern Trust Corporation Topics • Summary of Problem • Data Industry Past Attempts and Why They Were Flawed • Proposed Solution • What Is Domain Driven Design (DDD) and Enterprise DDD • Leveraging Governance to Take the Leap from DDD to EDDD • DDD And EDDD Example • EDDD Example Applied in a Distributed Manner • CQRS with Operational Systems • Differences Between Data and Responsibility Segregation for Applications and for Data/Analytics Environments Agenda
  • 4. northerntrust.com | © 2021 Northern Trust Corporation Desired Outcome • Cut the time of application delivery by not redoing all of the data work in every project. Problem • Data cannot be sourced from and created in different applications, with the expectation that the boundaries are the same. • Inconsistent sourcing and creation of duplicate datasets has Monetary, Opportunity, and Reputational costs: — Errors — Inconsistency — Exponential technical debt — Reactive approach to data problems — Audit issues: unknown authentic source and lack of identified data owners. — Data Owners are not included in decisions on how data is used, assuming the same data has consistent definitions. — Duplicate data being consumed that is not fit for purpose. • Individual applications determining business definitions and boundaries for datasets – lack of uniformity. • Governance in managing data sets. Problem
  • 5. northerntrust.com | © 2021 Northern Trust Corporation Not Ideal Problem Ideal Inconsistent Data Sourcing AB B BC BD A, B, B A, B, C A, B, B, D A, B, B A B C D A, B, C, D A, B, C, D A, B, C, D A, B, C, D A, B, C, D
  • 6. northerntrust.com | © 2021 Northern Trust Corporation Problem Inconsistent Data Derivation A, B A, B C=A + B C C C C = C = C A, B A, B C=A + B C = A + D C = A + E C = A + F C!= C!= C!= C Not Ideal Ideal
  • 7. northerntrust.com | © 2021 Northern Trust Corporation History of Data Segregation within Apps Order Microservice Order Database Customer Microservice Customer Database HTTP Order DTO Order DTO Customer DTO Microservices with Dedicated Database Event Customer Event Publisher Order Microservice Customer Microservice Order Database Customer Database Messaging Microservices with Dedicated Database Shared Database N..1 Customer Table Order Table Order Microservice Customer Microservice Microservices with Shared Database
  • 8. northerntrust.com | © 2021 Northern Trust Corporation CQRS for Operational Systems Realtime, Ubiquitous, Distributed Data Architecture Achieved through DDD and delivered through Kafka Microservices with CQRS and Event Sourcing Event Store Event Store Event Customer Event Customer Event Publisher Order Microservice Command Service Query Service Query Model Command Endpoint Query Endpoint Customer Microservice Query Service Query Model Command Endpoint Query Endpoint Messaging System Command Model Event Publisher Read Storage Read Storage Command Service Command Model
  • 9. northerntrust.com | © 2021 Northern Trust Corporation Use Case Table for a Hotel Booking System DDD for a Single Application – Generic Example Bounded Contexts/Data Sets ACTOR USE CASE INPUT OUTPUT Customer Search Hotels Location, Date, Range, Room Rate. Facilities Hotels, Availability View Hotel Info Hotel Facilities, Room Specifications View Rates Hotel, Room Specifications, Date Range Room Rates Make a Reservation Hotel, Room specification, Date Range, Customer, Customer Card Details Reservation, Room availability Search for a Reservation Reservation ID Reservation Cancel a Reservation Reservation ID Confirmation Number View Reservation Reservation ID Reservation Details Edit Reservation Reservation Confirmation Number New Confirmation Number Create Rewards Account Customer ID Rewards Info Create Account Customer Info Customer Object ID Hotel Manager Manage Hotel Reservation Reservation ID Reservation Card Vendor Authorize Card Customer Card Details Card Authorization Customer Hotel Card / Reservation Customer <RO> Points <E> Photographs <VO> Hotel <RO> Local POI <VO> Room Type <VO> Rate <VO> Location <VO> Facilities <VO> Hotel <E> Reservation <E><RO> Date Range <VO> Room Rate <VO> Room Specification <VO> Customer ID <E> Payment <VO> Authorization <E>
  • 10. northerntrust.com | © 2021 Northern Trust Corporation DDD merged with Event Storming Use Case Merged with Event Storming Table ACTOR USE CASE INPUT OUTPUT EVENT COMMAND QUERY Customer Create Customer Customer Info Customer Customer Created Create Customer Edit Customer Customer Customer Customer Updated Update Customer Make a Reservation Hotel, Room specification, Date Range, Customer, Customer Card Details Reservation, Room availability Room Reservation Requested, Card Authorization Requested, Payment Processed, Payment Processing Failed, Reservation Succeeded, Reservation Failed Reserve Hotel Search for a Reservation Reservation ID Reservation No event Search Reservation Cancel a Reservation Reservation ID Confirmation Number Room Cancelled Cancel Room View Reservation Reservation ID Reservation Details No event View Reservation Edit Reservation Reservation Confirmation Number, Reservation New Confirmation Number Room Reservation Updated Update Reservation Create Rewards Account Customer ID Rewards Info Rewards Account Created Create Rewards Account Send Email Customer, email content Status Send Email Hotel Manager Manage Hotel Hotel Info Hotel Hotel Added Add Hotel Manage Hotel Hotel Hotel Hotel Updated Update Hotel Manage Hotel Hotel Hotel Hotel Deleted Delete Hotel Manage Hotel Hotel ID, Picture Status Add Picture Manage Hotel Hotel ID, Picture ID Status Delete Picture Search Hotels Location, Date, Range, Room Rate. Requirements Hotels, Availability no event Search Hotel View Hotel Info Hotel Facilities, Room Specifications no event View Hotel Information View Rates Hotel, Room Specifications, Date Range Room Rates no event View Hotel Rates Card Vendor Authorize Card Customer Card Details Card Authorization Card Authorized Card Authorization Failed Authorize Credit Card Issue Refund Customer Card Details Card Authorization Card Refund Authorized Card Refund Authorization Failed Refund Credit Card
  • 11. northerntrust.com | © 2021 Northern Trust Corporation Eventing Diagram Flow of Events Reserve Hotel Action Flow Customer Domain Reservation Domain Reserve hotel command Card Vendor Domain Card authorization requested event Process payment event Room reservation success event Room reservation requested event Hotel Mgmt. Domain 1 2 3 4 5 6 7 8 8
  • 12. northerntrust.com | © 2021 Northern Trust Corporation Enterprise Domain Driven Design: • Ubiquitous, Distributed Data across many systems working in concert • Governance: Glossary that logs data set and metadata created by DDD • Each bounded context should be listed along with its metadata: — Lineage — Business Data Owner — Data Steward — Technical Owner — Interoperability — Distributions • Operational System needs • Analytics systems needs Enterprise Domain Driven Design How to apply DDD to the Enterprise – Reuse of Datasets
  • 13. northerntrust.com | © 2021 Northern Trust Corporation Key Using Data Sets in your Analytics Ecosystem Operational vs Data/Analytics Ecosystems Operational Data Sources Downstream Consumers of Data Products Delivery Compute Data Set Data Set Data Set Data Functionality App Data Mesh
  • 14. northerntrust.com | © 2021 Northern Trust Corporation Monoliths • Centralized data ownership within tech-focused, specialized team. • Highly-coupled data pipelines; difficult to change. Monoliths vs Data Mesh Data Mesh* • Domain-oriented data • “Data as a product” • Self-service data infrastructure • Standards and governance *Reference: Zhamak Dehghani “How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh”; https://martinfowler.com/articles/data-monolith-to-mesh.html
  • 15. northerntrust.com | © 2021 Northern Trust Corporation • Advancing Domain Driven Design for one application into Enterprise Domain Driven Design. • With Enterprise Domain Driven Design, we can merge with the data side of the house. • Domain Driven Design for the data warehouse / analytics environment. • Unify operational and analytical worlds around business-driven data domains. Recap
  • 16. northerntrust.com | © 2021 Northern Trust Corporation Questions? 16
  • 17. northerntrust.com | © 2021 Northern Trust Corporation

Editor's Notes

  1. Laura
  2. Laura: Cut the time of application delivery by reusing Kafka data structure between projects! Expecting boundaries and data definitions to remain consistent between source and consuming projects can be a constant source of surprise – a Kafka spiderweb. Duplicate datasets with mutations often bring with them monetary, opportunity and reputational costs, as well as errors, inconsistencies, tech debt, reactive approach to data problems, audit issues, data ownership confusion and data that is not fit for purpose. Solving this requires moving towards uniform datasets. And this move requires an Enterprise Domain Driven Design approach, combined with Event Storming. However, that is not the full picture and app teams need to work with data experts to bring this into a data realm. Maureen: Doing DDD to componentize a data warehouse is different than for operation systems. But it still leverages similar design principles. Either way, Doing this architecture work upfront allows for real-time, ubiquitous, distributed data implementations, as opposed to a Kafka spiderweb. This presentation will show the design of this approach.
  3. Maureen
  4. Maureen
  5. Laura Application monoliths do not have their data sources broken up by bounded contexts / data sets. The first step to breaking down the monolith is identifying the bounded context of all the data sets. The final step to breaking down the monolith is to provide real-time data exchange between the components.
  6. Laura Each Bounded Context should have its own compute and delivery. Command, Query and Publish events from the Event Storming table (see slide 12) should go to their correct place. Notice the responsibility segregation between command and query, allowing for the Realtime, Ubiquitous, Distributed Data, EDDD Governance – Discoverable Data with OWNERSHIP at a domain level Realtime Kafka pipelines per domain as a consumable deliverable
  7. Laura
  8. Laura
  9. Laura Each Bounded Context should have its own compute and delivery. Command, Query and Publish events from the Event Storming table (see slide 12) should go to their correct place. Notice the responsibility segregation between command and query, allowing for the Realtime, Ubiquitous, Distributed Data, EDDD Governance – Discoverable Data with OWNERSHIP at a domain level Realtime Kafka pipelines per domain as a consumable deliverable
  10. Maureen
  11. Maureen How do you add the Data/Analytics ecosystem into the data segregation pattern? Use DDD strategy to determine data sets that make up data products for downstream apps Understand the data products created by data sets that are used by downstream systems and users Datasets should be defined ONCE in an ecosystem and the delivery reused
  12. Maureen Domain-oriented data – decentralized data ownership and architecture. “Data as a product” – data distributed across domains. Self-service data infrastructure as a platform. Standards and governance - promote interoperability within the data product ecosystem.
  13. Maureen
  14. Thank you Q&A