SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Tomorrow’s “Model” Driven
Development
JBCN Conf 2017 - Barcelona
About us
• Mario Romano
– Full Stack Developer
– Microservices
– Angular 2
– BPM
– Working @ Alfresco
• APS & ADF
– Twitter: @MagemelloMario
• Mauricio Salatino (Salaboy)
– BPM & Rules Background
– Working @ Alfresco
• Activiti 7 Technical Leader
– Twitter: @salaboy
– http://salaboy.com
Agenda
• Software Development Approaches
– What is DDD?
– Other Approaches
• What do they share? What is different?
• Implementation
– Architectural Point of view
• Spring Cloud
• Demo
Theoretical
Point of View
What is
DDD?
• Domain Driven Design
“DDD is a software development approach to
create high quality software model design
that meets core business objectives.”
Core
Business
Value
• Domains, Sub-Domains and Core Domains
• (Bounded Context / Shared Language) = Model
• Context Maps
Concepts,
Best Practices
& Common
Pitfalls
• Entities
• Value Objects
• Domain Events
• Modules
• Aggregates
• Services
• Factories
• Repositories
Recommended
Patterns
• CQRS
• Event Sourcing
• Abstraction Layers
• Eventual Consistency
• EDA
• Sagas
Key
Takeaways:
Business Value
• We focus on what is important
• Build a coherent Model (Developers & Domain
Experts together)
• The model is concise, well focused and easy
to understand so it can be used to train new
people
• We add/remove/update things based on the
Business Value that they provide
• Continuous improvement in an agile fashion
• A cultural change is required
Key
Takeaways:
Best Practices
& Tools
• We gain a deep understanding about the
problems
• We apply the best tool for the job
• Models are clearly defined and scoped
• Teams can be organized around these Models
Other
Approaches
• Business Process Management
– Work with Domain Experts to create high level
abstractions about how they work.
– Business Processes “how people and system
work together”
• Decision Management
– Work with Domain Experts to build decision
models
– Decision Tables and Decision Trees: “how
decisions are made”
• Well understood by the industry
– They are standardized, BPMN 2.1, DMN 1.1
– Organizations see a lot of business value in
these approaches
BPM
• Business Processes (Fire Emergency)
Decision
Management
• Decision Table
Similarities
• Centralized Knowledge is Key
– The org gains useful model of its own domain
– A refined understanding of the business is
developed
– Domain experts contribute to software design
• Important cultural change required
• Agile, iterative and continuous improvement is
the norm
Differences
• “Model” means different things
– DDD: well crafted (Java) Model -> Technical
– BPM: Business Process -> Non-Technical
– DM: Decision Model -> Non-Technical
• Can we leverage the best of both worlds?
Implementation
Point of View
Emergency Dispatcher
Emergency
Request
Arrives
Emergency
Enriched &
Processed
Emergency
Procedure
Triggered
Emergency	
Source
Emergency	
Enricher
Emergency	
Dispatcher
-
(Complex)
Spring	Cloud	Data	Flow	- Message	Bus
Eureka
-
Procedure	
Registry
Zuul - Gateway
Google	
-
Location	
Service
Spring	Data	
-
Patient	Record	
Service
Service
-
Emergency	
Codes
Activiti
-
Emergency
Procedure A
Service
-
Emergency
Procedure B
Activiti
-
Default Emergency
Procedure
…
INFRASTRACTURE (Changes rarely) DOMAIN
KNOWLEDGE
(Changes often)
Zipkin
-
Tracer
Demo
• Emergency Dispatcher
• https://github.com/Salaboy/jbcnconf-2017-emergency-dispatcher
• Run it on your laptop!
Activiti 7
Community
OSS
• http://www.activiti.org
• New Rebooted Project
• Re-designed & Re-engineered on top of
Spring Boot 2 / Spring Cloud
• Embedded Process Runtime
• Embedded Decision Runtime
• Embedded Case/Contextual Runtime
• Public announcements to be made in July
• Want join us?
Questions?

Contenu connexe

Tendances

Putting the Native in React Native - React Native NYC
Putting the Native in React Native - React Native NYCPutting the Native in React Native - React Native NYC
Putting the Native in React Native - React Native NYC
stan229
 
The Beauty of Drupal 8 (Drupal Camp Manila 2014)
The Beauty of Drupal 8 (Drupal Camp Manila 2014)The Beauty of Drupal 8 (Drupal Camp Manila 2014)
The Beauty of Drupal 8 (Drupal Camp Manila 2014)
Rick. Bahague
 

Tendances (9)

WTA
WTAWTA
WTA
 
Drupal for programmers
Drupal for programmersDrupal for programmers
Drupal for programmers
 
Contributing to Open Source
Contributing to Open SourceContributing to Open Source
Contributing to Open Source
 
Documentation in the Agile Space
Documentation in the Agile SpaceDocumentation in the Agile Space
Documentation in the Agile Space
 
Redhat.com: An Architectural Case Study
Redhat.com: An Architectural Case StudyRedhat.com: An Architectural Case Study
Redhat.com: An Architectural Case Study
 
Putting the Native in React Native - React Native NYC
Putting the Native in React Native - React Native NYCPutting the Native in React Native - React Native NYC
Putting the Native in React Native - React Native NYC
 
One Tool to Help Them All - Leigh White
One Tool to Help Them All -  Leigh WhiteOne Tool to Help Them All -  Leigh White
One Tool to Help Them All - Leigh White
 
My Open Source Journey - Developer and Community
My Open Source Journey - Developer and CommunityMy Open Source Journey - Developer and Community
My Open Source Journey - Developer and Community
 
The Beauty of Drupal 8 (Drupal Camp Manila 2014)
The Beauty of Drupal 8 (Drupal Camp Manila 2014)The Beauty of Drupal 8 (Drupal Camp Manila 2014)
The Beauty of Drupal 8 (Drupal Camp Manila 2014)
 

Similaire à JBCN conf 2017 Tomorrow Model Driven Development

Migrating from Enterprise Planning to TM1 - A Best Practices Case Study, Feat...
Migrating from Enterprise Planning to TM1 - A Best Practices Case Study, Feat...Migrating from Enterprise Planning to TM1 - A Best Practices Case Study, Feat...
Migrating from Enterprise Planning to TM1 - A Best Practices Case Study, Feat...
Perficient, Inc.
 
Architecting large systems
Architecting large systemsArchitecting large systems
Architecting large systems
Simon Farrell
 
An overview of agile methodologies
An overview of agile methodologiesAn overview of agile methodologies
An overview of agile methodologies
parvezmisarwala
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
Marvin Heery
 
Top Trends for Agile Transformation in 2018: People, Processes, and Technolog...
Top Trends for Agile Transformation in 2018: People, Processes, and Technolog...Top Trends for Agile Transformation in 2018: People, Processes, and Technolog...
Top Trends for Agile Transformation in 2018: People, Processes, and Technolog...
Mike Otranto
 

Similaire à JBCN conf 2017 Tomorrow Model Driven Development (20)

SharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No CodeSharePoint as a Business Platform Why, What and How? – No Code
SharePoint as a Business Platform Why, What and How? – No Code
 
10 Things You Should Know About MDD
10 Things You Should Know About MDD10 Things You Should Know About MDD
10 Things You Should Know About MDD
 
Collaborative Working: University of Sunderland & Roundhouse Digital
Collaborative Working: University of Sunderland & Roundhouse Digital Collaborative Working: University of Sunderland & Roundhouse Digital
Collaborative Working: University of Sunderland & Roundhouse Digital
 
Migrating from Enterprise Planning to TM1 - A Best Practices Case Study, Feat...
Migrating from Enterprise Planning to TM1 - A Best Practices Case Study, Feat...Migrating from Enterprise Planning to TM1 - A Best Practices Case Study, Feat...
Migrating from Enterprise Planning to TM1 - A Best Practices Case Study, Feat...
 
Domain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic ApproachDomain Driven Design: Made Easy employing Systemic Approach
Domain Driven Design: Made Easy employing Systemic Approach
 
Soa Lessons learned
Soa Lessons learnedSoa Lessons learned
Soa Lessons learned
 
Architecting large systems
Architecting large systemsArchitecting large systems
Architecting large systems
 
META for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motionMETA for Microservices: Getting your enterprise migration in motion
META for Microservices: Getting your enterprise migration in motion
 
An overview of agile methodologies
An overview of agile methodologiesAn overview of agile methodologies
An overview of agile methodologies
 
What Is PLM and Why Is It Important
What Is PLM and Why Is It ImportantWhat Is PLM and Why Is It Important
What Is PLM and Why Is It Important
 
Data-Ed: Data Architecture Requirements
Data-Ed: Data Architecture Requirements Data-Ed: Data Architecture Requirements
Data-Ed: Data Architecture Requirements
 
Data-Ed Online: Data Architecture Requirements
Data-Ed Online: Data Architecture RequirementsData-Ed Online: Data Architecture Requirements
Data-Ed Online: Data Architecture Requirements
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Top Trends for Agile Transformation in 2018: People, Processes, and Technolog...
Top Trends for Agile Transformation in 2018: People, Processes, and Technolog...Top Trends for Agile Transformation in 2018: People, Processes, and Technolog...
Top Trends for Agile Transformation in 2018: People, Processes, and Technolog...
 
DOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGNDOMAIN DRIVER DESIGN
DOMAIN DRIVER DESIGN
 
Digital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdfDigital Transformation in the PLM domain - distrib.pdf
Digital Transformation in the PLM domain - distrib.pdf
 
SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?SPSChicagoBurbs 2019 - What is CDM and CDS?
SPSChicagoBurbs 2019 - What is CDM and CDS?
 
Tips for a successful Salesforce.com implementation
Tips for a successful Salesforce.com implementationTips for a successful Salesforce.com implementation
Tips for a successful Salesforce.com implementation
 
GHD iConnect - our intranet for the future
GHD iConnect - our intranet for the futureGHD iConnect - our intranet for the future
GHD iConnect - our intranet for the future
 
Project Management Adaptability : Challenges in Agile implementation in a wea...
Project Management Adaptability : Challenges in Agile implementation in a wea...Project Management Adaptability : Challenges in Agile implementation in a wea...
Project Management Adaptability : Challenges in Agile implementation in a wea...
 

Plus de Mauricio (Salaboy) Salatino

Plus de Mauricio (Salaboy) Salatino (20)

Devoxx UK - Platforms on top of K8s
Devoxx UK - Platforms on top of K8sDevoxx UK - Platforms on top of K8s
Devoxx UK - Platforms on top of K8s
 
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
WTF_is_SRE_DeveloperEnabledPlatforms.pdfWTF_is_SRE_DeveloperEnabledPlatforms.pdf
WTF_is_SRE_DeveloperEnabledPlatforms.pdf
 
Lessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ RejektsLessons Learnt from creating platforms on Kubernetes @ Rejekts
Lessons Learnt from creating platforms on Kubernetes @ Rejekts
 
Building Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdfBuilding Developer Experiences for the Cloud .pdf
Building Developer Experiences for the Cloud .pdf
 
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdfKUBEDAY - JAPAN  2022 - Building FaaS Platforms.pdf
KUBEDAY - JAPAN 2022 - Building FaaS Platforms.pdf
 
The Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native PlatformsThe Challenges of building Cloud Native Platforms
The Challenges of building Cloud Native Platforms
 
Functions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdfFunctions Working Group Update - August 2022.pdf
Functions Working Group Update - August 2022.pdf
 
JBCNConf 2022: Go vs Java (Kubernetes)
JBCNConf 2022: Go vs Java (Kubernetes)JBCNConf 2022: Go vs Java (Kubernetes)
JBCNConf 2022: Go vs Java (Kubernetes)
 
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022 Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX -  2022
Expanding Interoperability in the CD ecosystem - CDCon - Austin, TX - 2022
 
Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`Spring I/O 2022: Knative and Spring - Bringing back the `func`
Spring I/O 2022: Knative and Spring - Bringing back the `func`
 
KnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative FunctionsKnativeCon 2022 - Knative Functions
KnativeCon 2022 - Knative Functions
 
Knative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and UpdateKnative Maintainers KubeConEU 22 Knative Overview and Update
Knative Maintainers KubeConEU 22 Knative Overview and Update
 
CDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystemCDEventsCon Expanding Interoperability in the CD ecosystem
CDEventsCon Expanding Interoperability in the CD ecosystem
 
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU ValenciaA Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
A Polyglot Developer Experience on Kubernetes - KubeCon EU Valencia
 
Pave the Golden Path On Your Internal Platform
Pave the Golden Path On Your Internal PlatformPave the Golden Path On Your Internal Platform
Pave the Golden Path On Your Internal Platform
 
Knative and Spring - Bringing back the func.pdf
Knative and Spring - Bringing back the func.pdfKnative and Spring - Bringing back the func.pdf
Knative and Spring - Bringing back the func.pdf
 
KCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre AbstraccionesKCD Guatemala - Abstracciones sobre Abstracciones
KCD Guatemala - Abstracciones sobre Abstracciones
 
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS OfferingKubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
KubeCon NA - 2021 Tools That I Wish Existed 3 Years Ago To Build a SaaS Offering
 
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with KnativeCloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
 
Intro to the Cloud with Knative (Spanish)
Intro to the Cloud with Knative (Spanish) Intro to the Cloud with Knative (Spanish)
Intro to the Cloud with Knative (Spanish)
 

Dernier

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
 

Dernier (20)

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 

JBCN conf 2017 Tomorrow Model Driven Development