SlideShare a Scribd company logo
1 of 41
Copyright 2020, Evident Systems LLC
Building Information Systems
Using Event Modeling
Hi, I’m Bobby
• Founder of Evident Systems, a Confluent Partner
• Previously:
• Distinguished Engineer, Capital One Tech Fellows team
• Software Engineer, Cognitect’s Datomic team
• Enjoys:
• Functional Programming in Clojure
• Camping with my wife and 3 kids
Apache Kafka for Apps and APIs
❤
My Client’s Story
• Large organization, partnering with both Confluent and Evident
Systems
• Many cooperating teams re-writing the company’s core applications
• Wanted to expand on the success of their Kafka-based, event-driven
core data platform
• Articulated a vision to build an ecosystem of event-sourced Apps and
Services
Benefits of Event-First Application Design
• Event-first thinking is more accurate to the business domain than database-
centric thinking: our brains are designed for narratives!
• Apps and APIs dog-food their own events, ensuring quality and completeness of
what they provide to external teams
• Integration of cross-cutting concerns is first-class, requires no ETL, etc.
• Customer engagement and outreach
• Analytics and ML/AI
• Security & Compliance audit
Drawbacks of Event-First Application Design
• Mature and familiar programming languages, data stores, and design tools
promote database-first design
• Event-first is catching up quickly here!
• Kafka ecosystem, functional programming with immutability, polyglot
persistence
• It’s unfamiliar to both product and development teams
• Product specialists don’t know about super-powers they get from event-first
• Lack of a common design language and methodology
What My Client Needed
• A common language and design method for event-based information
systems
• Ideally, this design method would:
• Be simple enough to solicit expertise from those with non-developer
skillsets
• Be specific enough to directly facilitate implementation by developers
• Reduce adoption friction by working with the human brain: Narrative
and Visuals
A Brief (and possibly biased)
History of Application Design
Methods
Big-Design-Up-Front (BDUF)
• Born of waterfall methods
• Includes techniques from UML and the
Rational methodologies
• Too focused on systems-level concerns
(e.g. OOP), not enough on user- and
business-level concerns
• So complex and specific, might as well be
writing code
• Deadly truism: “No plan survives first
contact with reality”
No-Design-Up-Front
• aka “Emergent Design”
• Reaction against BDUF in certain Agile
communities
• Heavy reliance on TDD/BDD and refactoring
• Not well suited to the complexities of
distributed systems
• Too focused on the user-level concerns (e.g.
driven by UAT), not enough on the business-
and systems-level concerns
• Deadly truism: “Failing to plan is planning to
fail”
Balancing Teleology vs. Emergence
• Goldilocks zone: Lightweight design or Small-Design-Up-Front
• Many such techniques developed by the DDD and Agile communities:
• Event Storming
• Design Thinking
• User Journeys and Wireframing
Keys to Lightweight Design
• Must be simple enough for all stakeholders to understand, especially
non-developer stakeholders
• Must be specific and well-specified enough to be actionable by the
implementors
• Both the process of generating the artifact and the artifact itself must
convey knowledge and context among stakeholders
• Artifact must provide value throughout the SDLC, or else won’t be kept
current
Event Modeling
Strikes the Proper Balance
What is Event Modeling?
• Invented by Adam Dymitruk, founder of Adaptech Group https://
www.adaptechgroup.com/
• With input from Greg Young, coiner of the terms “CQRS” and “Event
Sourcing”
• Intellectual descendent of Event Storming, but simpler and more
solution-focused
• https://www.eventmodeling.org
What is Event Modeling?
• 4 “words” in the visual language:
• Wireframe
• Command
• Event
• View (aka Read-Model)
What is Event Modeling?
• 4 patterns:
• State Change
• State View
• External State Import
• Internal State Export
Events
• Facts or outcomes recorded along the timeline of the business
• Sufficient to describe the whole business process
• Represented by orange notes
• Written as a verb phrase in the past tense
• Can be organized into lanes indicating bounded context/narrative
Wireframes
• Visual wireframes or mockups of user interfaces and experience
• Not always graphical, can also be APIs or automated jobs
• Can be organized into swim-lanes, indicating roles/personas
Commands & the State Change Pattern
• Encapsulate the intent to change the system: a transactional moment
• Empower users to take action
• Represented by blue notes
• Written as a verb phrase in the imperative tense
• Result in the emission of an Event
Read Models & the State View Pattern
• Inform users about the state of the system
• Represented by green notes
• Derived from Events
• Displayed in Wireframes
• Many different Read Models to support various data-access patterns
The External State Import Pattern
• Listen to events generated elsewhere:
• Lower-level system events
• External bounded contexts from other apps, services
• Translate those events into the local context
The Internal State Export Pattern
• Build up a “todo list” of actions for an external system to perform,
represented by a Read Model
• Some automated process, represented by an automation Wireframe,
invokes Commands on the external system
• Result/reply from external system is recorded as an Event
Putting It All Together:
The Workshop
1. Brain Storming
2. The Plot
3. The Story Board
4. Identify Inputs
5. Identify Outputs
6. Apply Conway’s Law
7. Elaborate Scenarios
Workshop Demo
Event Modeling
Throughout the SDLC
From Design to Implementation
• Transparent Project Management
• Event Model can be sliced into discrete implementation tasks
• No need for a separate user-story creation exercise
• Accelerate Implementation
• Test cases from patterns, sample data generation
• Schema specification, code generation
From Implementation to Operations
• Data discovery and integration
• Schema/Stream Registry integration
• Integration among applications and analyses
• Support cooperation within Enterprise
• Design Review, IT operations and incident management
• InfoSec or Compliance audit
Event Modeling in Practice:
Challenges & Realities
Assembling the Workshop Group
• Diverse skillsets:
• Software engineers, architects, etc.
• UI/UX designers and user advocates
• Business SMEs and potential users of the system (if internal)
• Diverse levels of org-chart, ideally 3 levels:
• The people doing the work: implementing and using
• Their bosses and skip-levels
Analog vs. Digital
• Modeling with sticky notes, sharpies, and butcher paper is great!
• Highly interactive and collaborative
• Tons of serendipitous learning and context transfer
• Building trust within and among teams
• But…
• Artifact is hard to capture for implementation, and is fragile
In-Person vs. Remote
• …Also COVID-19 cancelled conference rooms
• Unlike other workshop formats, Event Modeling was explicitly designed
to be remote-friendly
• In-person is great if you can, but remote is also very productive
• Especially with the right tooling!
Event Modeling Tooling
• Collaborative whiteboards are okay
• Not purpose-built for Event Modeling, can draw arbitrary picture
• Doesn’t help with Implementation or Operations
• We built our own collaborative Event Modeling platform: oNote
• Free version available now
• Enterprise and paid Solo versions coming soon
Conclusion
• Event Modeling is a shared language for designing information systems
• Useful across the SDLC:
• Design — The Workshop
• Implementation — Specification and Project Management
• Operations — Discovery and Integration
• Check out our Event Modeling platform, oNote: https://onote.com
Thank You!

More Related Content

What's hot

The Art of The Event Streaming Application: Streams, Stream Processors and Sc...
The Art of The Event Streaming Application: Streams, Stream Processors and Sc...The Art of The Event Streaming Application: Streams, Stream Processors and Sc...
The Art of The Event Streaming Application: Streams, Stream Processors and Sc...confluent
 
Data integration with Apache Kafka
Data integration with Apache KafkaData integration with Apache Kafka
Data integration with Apache Kafkaconfluent
 
Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...HostedbyConfluent
 
APAC Kafka Summit - Best Of
APAC Kafka Summit - Best Of APAC Kafka Summit - Best Of
APAC Kafka Summit - Best Of confluent
 
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...HostedbyConfluent
 
Digital Transformation: Highly Resilient Streaming Architecture and Strategies
Digital Transformation: Highly Resilient Streaming Architecture and StrategiesDigital Transformation: Highly Resilient Streaming Architecture and Strategies
Digital Transformation: Highly Resilient Streaming Architecture and StrategiesHostedbyConfluent
 
Building a Web Application with Kafka as your Database
Building a Web Application with Kafka as your DatabaseBuilding a Web Application with Kafka as your Database
Building a Web Application with Kafka as your Databaseconfluent
 
Build Event-Driven Microservices with Confluent Cloud Workshop #1
Build Event-Driven Microservices with Confluent Cloud Workshop #1Build Event-Driven Microservices with Confluent Cloud Workshop #1
Build Event-Driven Microservices with Confluent Cloud Workshop #1confluent
 
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...apidays
 
Diving into the Deep End - Kafka Connect
Diving into the Deep End - Kafka ConnectDiving into the Deep End - Kafka Connect
Diving into the Deep End - Kafka Connectconfluent
 
Migrating from One Cloud Provider to Another (Without Losing Your Data or You...
Migrating from One Cloud Provider to Another (Without Losing Your Data or You...Migrating from One Cloud Provider to Another (Without Losing Your Data or You...
Migrating from One Cloud Provider to Another (Without Losing Your Data or You...HostedbyConfluent
 
CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®confluent
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMEconfluent
 
Time series-analysis-using-an-event-streaming-platform -_v3_final
Time series-analysis-using-an-event-streaming-platform -_v3_finalTime series-analysis-using-an-event-streaming-platform -_v3_final
Time series-analysis-using-an-event-streaming-platform -_v3_finalconfluent
 
Death of the dumb pipes: Using Apache Kafka® for Integration projects
Death of the dumb pipes: Using Apache Kafka® for Integration projectsDeath of the dumb pipes: Using Apache Kafka® for Integration projects
Death of the dumb pipes: Using Apache Kafka® for Integration projectsHostedbyConfluent
 
user Behavior Analysis with Session Windows and Apache Kafka's Streams API
user Behavior Analysis with Session Windows and Apache Kafka's Streams APIuser Behavior Analysis with Session Windows and Apache Kafka's Streams API
user Behavior Analysis with Session Windows and Apache Kafka's Streams APIconfluent
 
What's New in Confluent Platform 5.5
What's New in Confluent Platform 5.5What's New in Confluent Platform 5.5
What's New in Confluent Platform 5.5confluent
 
The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...
The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...
The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...confluent
 
New Approaches for Fraud Detection on Apache Kafka and KSQL
New Approaches for Fraud Detection on Apache Kafka and KSQLNew Approaches for Fraud Detection on Apache Kafka and KSQL
New Approaches for Fraud Detection on Apache Kafka and KSQLconfluent
 
Kafka Migration for Satellite Event Streaming Data | Eric Velte, ASRC Federal
Kafka Migration for Satellite Event Streaming Data | Eric Velte, ASRC FederalKafka Migration for Satellite Event Streaming Data | Eric Velte, ASRC Federal
Kafka Migration for Satellite Event Streaming Data | Eric Velte, ASRC FederalHostedbyConfluent
 

What's hot (20)

The Art of The Event Streaming Application: Streams, Stream Processors and Sc...
The Art of The Event Streaming Application: Streams, Stream Processors and Sc...The Art of The Event Streaming Application: Streams, Stream Processors and Sc...
The Art of The Event Streaming Application: Streams, Stream Processors and Sc...
 
Data integration with Apache Kafka
Data integration with Apache KafkaData integration with Apache Kafka
Data integration with Apache Kafka
 
Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...Model-driven and low-code development for event-based systems | Bobby Calderw...
Model-driven and low-code development for event-based systems | Bobby Calderw...
 
APAC Kafka Summit - Best Of
APAC Kafka Summit - Best Of APAC Kafka Summit - Best Of
APAC Kafka Summit - Best Of
 
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
SingleStore & Kafka: Better Together to Power Modern Real-Time Data Architect...
 
Digital Transformation: Highly Resilient Streaming Architecture and Strategies
Digital Transformation: Highly Resilient Streaming Architecture and StrategiesDigital Transformation: Highly Resilient Streaming Architecture and Strategies
Digital Transformation: Highly Resilient Streaming Architecture and Strategies
 
Building a Web Application with Kafka as your Database
Building a Web Application with Kafka as your DatabaseBuilding a Web Application with Kafka as your Database
Building a Web Application with Kafka as your Database
 
Build Event-Driven Microservices with Confluent Cloud Workshop #1
Build Event-Driven Microservices with Confluent Cloud Workshop #1Build Event-Driven Microservices with Confluent Cloud Workshop #1
Build Event-Driven Microservices with Confluent Cloud Workshop #1
 
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
apidays LIVE Australia - Building an Enterprise Eventing Platform by Gnanagur...
 
Diving into the Deep End - Kafka Connect
Diving into the Deep End - Kafka ConnectDiving into the Deep End - Kafka Connect
Diving into the Deep End - Kafka Connect
 
Migrating from One Cloud Provider to Another (Without Losing Your Data or You...
Migrating from One Cloud Provider to Another (Without Losing Your Data or You...Migrating from One Cloud Provider to Another (Without Losing Your Data or You...
Migrating from One Cloud Provider to Another (Without Losing Your Data or You...
 
CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®CDC patterns in Apache Kafka®
CDC patterns in Apache Kafka®
 
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LMESet your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
Set your Data in Motion with Confluent & Apache Kafka Tech Talk Series LME
 
Time series-analysis-using-an-event-streaming-platform -_v3_final
Time series-analysis-using-an-event-streaming-platform -_v3_finalTime series-analysis-using-an-event-streaming-platform -_v3_final
Time series-analysis-using-an-event-streaming-platform -_v3_final
 
Death of the dumb pipes: Using Apache Kafka® for Integration projects
Death of the dumb pipes: Using Apache Kafka® for Integration projectsDeath of the dumb pipes: Using Apache Kafka® for Integration projects
Death of the dumb pipes: Using Apache Kafka® for Integration projects
 
user Behavior Analysis with Session Windows and Apache Kafka's Streams API
user Behavior Analysis with Session Windows and Apache Kafka's Streams APIuser Behavior Analysis with Session Windows and Apache Kafka's Streams API
user Behavior Analysis with Session Windows and Apache Kafka's Streams API
 
What's New in Confluent Platform 5.5
What's New in Confluent Platform 5.5What's New in Confluent Platform 5.5
What's New in Confluent Platform 5.5
 
The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...
The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...
The Bridge to Cloud (Peter Gustafsson, Confluent) London 2019 Confluent Strea...
 
New Approaches for Fraud Detection on Apache Kafka and KSQL
New Approaches for Fraud Detection on Apache Kafka and KSQLNew Approaches for Fraud Detection on Apache Kafka and KSQL
New Approaches for Fraud Detection on Apache Kafka and KSQL
 
Kafka Migration for Satellite Event Streaming Data | Eric Velte, ASRC Federal
Kafka Migration for Satellite Event Streaming Data | Eric Velte, ASRC FederalKafka Migration for Satellite Event Streaming Data | Eric Velte, ASRC Federal
Kafka Migration for Satellite Event Streaming Data | Eric Velte, ASRC Federal
 

Similar to Designing and Implementing Information Systems with Event Modeling, Bobby Calderwood

Building a Scalable and reliable open source ML Platform with MLFlow
Building a Scalable and reliable open source ML Platform with MLFlowBuilding a Scalable and reliable open source ML Platform with MLFlow
Building a Scalable and reliable open source ML Platform with MLFlowGoDataDriven
 
Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...Sri Ambati
 
Cloud Enablement Engine Role Definition and Mapping
Cloud Enablement Engine Role Definition and MappingCloud Enablement Engine Role Definition and Mapping
Cloud Enablement Engine Role Definition and MappingTom Laszewski
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blenderedm00se
 
2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use itMark Windholtz
 
Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentialsRajesh P
 
Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentialsRajesh P
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentationdikshagupta111
 
Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)Robert Haines
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyMohamed Shahpoup
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableComsysto Reply GmbH
 
What serverless means for enterprise apps
What serverless means for enterprise appsWhat serverless means for enterprise apps
What serverless means for enterprise appsSumit Sarkar
 
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsDomain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsMark Windholtz
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyComsysto Reply GmbH
 
cloud session uklug
cloud session uklugcloud session uklug
cloud session uklugdominion
 

Similar to Designing and Implementing Information Systems with Event Modeling, Bobby Calderwood (20)

OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
Building a Scalable and reliable open source ML Platform with MLFlow
Building a Scalable and reliable open source ML Platform with MLFlowBuilding a Scalable and reliable open source ML Platform with MLFlow
Building a Scalable and reliable open source ML Platform with MLFlow
 
Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...Building a Real-Time Security Application Using Log Data and Machine Learning...
Building a Real-Time Security Application Using Log Data and Machine Learning...
 
Cloud Enablement Engine Role Definition and Mapping
Cloud Enablement Engine Role Definition and MappingCloud Enablement Engine Role Definition and Mapping
Cloud Enablement Engine Role Definition and Mapping
 
SE Unit-1.pptx
SE Unit-1.pptxSE Unit-1.pptx
SE Unit-1.pptx
 
A Beard, An App, A Blender
A Beard, An App, A BlenderA Beard, An App, A Blender
A Beard, An App, A Blender
 
See through software
See through softwareSee through software
See through software
 
2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it2019-Nov: Domain Driven Design (DDD) and when not to use it
2019-Nov: Domain Driven Design (DDD) and when not to use it
 
Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentials
 
Software development planning and essentials
Software development planning and essentialsSoftware development planning and essentials
Software development planning and essentials
 
Diksha sda presentation
Diksha sda presentationDiksha sda presentation
Diksha sda presentation
 
Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)Clarisoft Software Development Process (Lunch & Learn Presentation)
Clarisoft Software Development Process (Lunch & Learn Presentation)
 
Greate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT AcademyGreate Introduction to Software Engineering @ Track IT Academy
Greate Introduction to Software Engineering @ Track IT Academy
 
Same Patterns, Different Architectures
Same Patterns, Different Architectures Same Patterns, Different Architectures
Same Patterns, Different Architectures
 
Software Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuableSoftware Architecture and Architectors: useless VS valuable
Software Architecture and Architectors: useless VS valuable
 
What serverless means for enterprise apps
What serverless means for enterprise appsWhat serverless means for enterprise apps
What serverless means for enterprise apps
 
Domain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic PatternsDomain Driven Design Big Picture Strategic Patterns
Domain Driven Design Big Picture Strategic Patterns
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
Architectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and ConsistentlyArchitectural Decisions: Smoothly and Consistently
Architectural Decisions: Smoothly and Consistently
 
cloud session uklug
cloud session uklugcloud session uklug
cloud session uklug
 

More from confluent

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flinkconfluent
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsconfluent
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flinkconfluent
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...confluent
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluentconfluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkconfluent
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloudconfluent
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Diveconfluent
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluentconfluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Meshconfluent
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservicesconfluent
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3confluent
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernizationconfluent
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataconfluent
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2confluent
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023confluent
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesisconfluent
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023confluent
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streamsconfluent
 

More from confluent (20)

Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Santander Stream Processing with Apache Flink
Santander Stream Processing with Apache FlinkSantander Stream Processing with Apache Flink
Santander Stream Processing with Apache Flink
 
Unlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insightsUnlocking the Power of IoT: A comprehensive approach to real-time insights
Unlocking the Power of IoT: A comprehensive approach to real-time insights
 
Workshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con FlinkWorkshop híbrido: Stream Processing con Flink
Workshop híbrido: Stream Processing con Flink
 
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
Industry 4.0: Building the Unified Namespace with Confluent, HiveMQ and Spark...
 
AWS Immersion Day Mapfre - Confluent
AWS Immersion Day Mapfre   -   ConfluentAWS Immersion Day Mapfre   -   Confluent
AWS Immersion Day Mapfre - Confluent
 
Eventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalkEventos y Microservicios - Santander TechTalk
Eventos y Microservicios - Santander TechTalk
 
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent CloudQ&A with Confluent Experts: Navigating Networking in Confluent Cloud
Q&A with Confluent Experts: Navigating Networking in Confluent Cloud
 
Citi TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep DiveCiti TechTalk Session 2: Kafka Deep Dive
Citi TechTalk Session 2: Kafka Deep Dive
 
Build real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with ConfluentBuild real-time streaming data pipelines to AWS with Confluent
Build real-time streaming data pipelines to AWS with Confluent
 
Q&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service MeshQ&A with Confluent Professional Services: Confluent Service Mesh
Q&A with Confluent Professional Services: Confluent Service Mesh
 
Citi Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka MicroservicesCiti Tech Talk: Event Driven Kafka Microservices
Citi Tech Talk: Event Driven Kafka Microservices
 
Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3Confluent & GSI Webinars series - Session 3
Confluent & GSI Webinars series - Session 3
 
Citi Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging ModernizationCiti Tech Talk: Messaging Modernization
Citi Tech Talk: Messaging Modernization
 
Citi Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time dataCiti Tech Talk: Data Governance for streaming and real time data
Citi Tech Talk: Data Governance for streaming and real time data
 
Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2Confluent & GSI Webinars series: Session 2
Confluent & GSI Webinars series: Session 2
 
Data In Motion Paris 2023
Data In Motion Paris 2023Data In Motion Paris 2023
Data In Motion Paris 2023
 
Confluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with SynthesisConfluent Partner Tech Talk with Synthesis
Confluent Partner Tech Talk with Synthesis
 
The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023The Future of Application Development - API Days - Melbourne 2023
The Future of Application Development - API Days - Melbourne 2023
 
The Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data StreamsThe Playful Bond Between REST And Data Streams
The Playful Bond Between REST And Data Streams
 

Recently uploaded

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 

Recently uploaded (20)

Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 

Designing and Implementing Information Systems with Event Modeling, Bobby Calderwood

  • 1. Copyright 2020, Evident Systems LLC Building Information Systems Using Event Modeling
  • 2. Hi, I’m Bobby • Founder of Evident Systems, a Confluent Partner • Previously: • Distinguished Engineer, Capital One Tech Fellows team • Software Engineer, Cognitect’s Datomic team • Enjoys: • Functional Programming in Clojure • Camping with my wife and 3 kids
  • 3. Apache Kafka for Apps and APIs ❤
  • 4. My Client’s Story • Large organization, partnering with both Confluent and Evident Systems • Many cooperating teams re-writing the company’s core applications • Wanted to expand on the success of their Kafka-based, event-driven core data platform • Articulated a vision to build an ecosystem of event-sourced Apps and Services
  • 5. Benefits of Event-First Application Design • Event-first thinking is more accurate to the business domain than database- centric thinking: our brains are designed for narratives! • Apps and APIs dog-food their own events, ensuring quality and completeness of what they provide to external teams • Integration of cross-cutting concerns is first-class, requires no ETL, etc. • Customer engagement and outreach • Analytics and ML/AI • Security & Compliance audit
  • 6. Drawbacks of Event-First Application Design • Mature and familiar programming languages, data stores, and design tools promote database-first design • Event-first is catching up quickly here! • Kafka ecosystem, functional programming with immutability, polyglot persistence • It’s unfamiliar to both product and development teams • Product specialists don’t know about super-powers they get from event-first • Lack of a common design language and methodology
  • 7. What My Client Needed • A common language and design method for event-based information systems • Ideally, this design method would: • Be simple enough to solicit expertise from those with non-developer skillsets • Be specific enough to directly facilitate implementation by developers • Reduce adoption friction by working with the human brain: Narrative and Visuals
  • 8. A Brief (and possibly biased) History of Application Design Methods
  • 9. Big-Design-Up-Front (BDUF) • Born of waterfall methods • Includes techniques from UML and the Rational methodologies • Too focused on systems-level concerns (e.g. OOP), not enough on user- and business-level concerns • So complex and specific, might as well be writing code • Deadly truism: “No plan survives first contact with reality”
  • 10. No-Design-Up-Front • aka “Emergent Design” • Reaction against BDUF in certain Agile communities • Heavy reliance on TDD/BDD and refactoring • Not well suited to the complexities of distributed systems • Too focused on the user-level concerns (e.g. driven by UAT), not enough on the business- and systems-level concerns • Deadly truism: “Failing to plan is planning to fail”
  • 11. Balancing Teleology vs. Emergence • Goldilocks zone: Lightweight design or Small-Design-Up-Front • Many such techniques developed by the DDD and Agile communities: • Event Storming • Design Thinking • User Journeys and Wireframing
  • 12. Keys to Lightweight Design • Must be simple enough for all stakeholders to understand, especially non-developer stakeholders • Must be specific and well-specified enough to be actionable by the implementors • Both the process of generating the artifact and the artifact itself must convey knowledge and context among stakeholders • Artifact must provide value throughout the SDLC, or else won’t be kept current
  • 13. Event Modeling Strikes the Proper Balance
  • 14. What is Event Modeling? • Invented by Adam Dymitruk, founder of Adaptech Group https:// www.adaptechgroup.com/ • With input from Greg Young, coiner of the terms “CQRS” and “Event Sourcing” • Intellectual descendent of Event Storming, but simpler and more solution-focused • https://www.eventmodeling.org
  • 15.
  • 16. What is Event Modeling? • 4 “words” in the visual language: • Wireframe • Command • Event • View (aka Read-Model)
  • 17. What is Event Modeling? • 4 patterns: • State Change • State View • External State Import • Internal State Export
  • 18. Events • Facts or outcomes recorded along the timeline of the business • Sufficient to describe the whole business process • Represented by orange notes • Written as a verb phrase in the past tense • Can be organized into lanes indicating bounded context/narrative
  • 19.
  • 20. Wireframes • Visual wireframes or mockups of user interfaces and experience • Not always graphical, can also be APIs or automated jobs • Can be organized into swim-lanes, indicating roles/personas
  • 21.
  • 22. Commands & the State Change Pattern • Encapsulate the intent to change the system: a transactional moment • Empower users to take action • Represented by blue notes • Written as a verb phrase in the imperative tense • Result in the emission of an Event
  • 23.
  • 24. Read Models & the State View Pattern • Inform users about the state of the system • Represented by green notes • Derived from Events • Displayed in Wireframes • Many different Read Models to support various data-access patterns
  • 25.
  • 26. The External State Import Pattern • Listen to events generated elsewhere: • Lower-level system events • External bounded contexts from other apps, services • Translate those events into the local context
  • 27.
  • 28. The Internal State Export Pattern • Build up a “todo list” of actions for an external system to perform, represented by a Read Model • Some automated process, represented by an automation Wireframe, invokes Commands on the external system • Result/reply from external system is recorded as an Event
  • 29.
  • 30. Putting It All Together: The Workshop 1. Brain Storming 2. The Plot 3. The Story Board 4. Identify Inputs 5. Identify Outputs 6. Apply Conway’s Law 7. Elaborate Scenarios
  • 33. From Design to Implementation • Transparent Project Management • Event Model can be sliced into discrete implementation tasks • No need for a separate user-story creation exercise • Accelerate Implementation • Test cases from patterns, sample data generation • Schema specification, code generation
  • 34. From Implementation to Operations • Data discovery and integration • Schema/Stream Registry integration • Integration among applications and analyses • Support cooperation within Enterprise • Design Review, IT operations and incident management • InfoSec or Compliance audit
  • 35. Event Modeling in Practice: Challenges & Realities
  • 36. Assembling the Workshop Group • Diverse skillsets: • Software engineers, architects, etc. • UI/UX designers and user advocates • Business SMEs and potential users of the system (if internal) • Diverse levels of org-chart, ideally 3 levels: • The people doing the work: implementing and using • Their bosses and skip-levels
  • 37. Analog vs. Digital • Modeling with sticky notes, sharpies, and butcher paper is great! • Highly interactive and collaborative • Tons of serendipitous learning and context transfer • Building trust within and among teams • But… • Artifact is hard to capture for implementation, and is fragile
  • 38. In-Person vs. Remote • …Also COVID-19 cancelled conference rooms • Unlike other workshop formats, Event Modeling was explicitly designed to be remote-friendly • In-person is great if you can, but remote is also very productive • Especially with the right tooling!
  • 39. Event Modeling Tooling • Collaborative whiteboards are okay • Not purpose-built for Event Modeling, can draw arbitrary picture • Doesn’t help with Implementation or Operations • We built our own collaborative Event Modeling platform: oNote • Free version available now • Enterprise and paid Solo versions coming soon
  • 40. Conclusion • Event Modeling is a shared language for designing information systems • Useful across the SDLC: • Design — The Workshop • Implementation — Specification and Project Management • Operations — Discovery and Integration • Check out our Event Modeling platform, oNote: https://onote.com