Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Tomorrow’s “Model” Driven
Development
JBCN Conf 2017 - Barcelona
About us
• Mario Romano
– Full Stack Developer
– Microservices
– Angular 2
– BPM
– Working @ Alfresco
• APS & ADF
– Twitte...
Agenda
• Software Development Approaches
– What is DDD?
– Other Approaches
• What do they share? What is different?
• Impl...
Theoretical
Point of View
What is
DDD?
• Domain Driven Design
“DDD is a software development approach to
create high quality software model design
t...
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
• ...
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 togeth...
Key
Takeaways:
Best Practices
& Tools
• We gain a deep understanding about the
problems
• We apply the best tool for the j...
Other
Approaches
• Business Process Management
– Work with Domain Experts to create high level
abstractions about how they...
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 th...
Differences
• “Model” means different things
– DDD: well crafted (Java) Model -> Technical
– BPM: Business Process -> Non-...
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
-
Proc...
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 B...
Questions?
Upcoming SlideShare
Loading in …5
×

JBCN conf 2017 Tomorrow Model Driven Development

1,387 views

Published on

more about this in: http://salaboy.com

Published in: Technology
  • tổ chức ngày hội gia đình https://vietwindevent.vn/to-chuc-ngay-hoi-gia-dinh.html
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • i am so happy today for what doctor Dr. AKHERE of AKHERETEMPLE@GMAIL.COM He is a great spell caster. My family have be living together in peace and love, we were married for 15 years with Five beautiful kids and everything went smoothly until my husband started staying out late and would beat me up with any excuse he gets, he would always get drunk and i was bent on finding out what the problem was and i discovered that he was seeing a young woman outside who he was planning to move in together and was preparing a divorce. I became devastated as i love my husband so much and i looked for help, i contacted many spell casters but nothing happened until i met with doctor Dr. AKHERE, who told me so many things and said i should worry about my present situation and that all will be well and told he said he was going to cast a reunion spell that will bring my husband back to me and he was true to his words, i want you all to help me thank and i promised him that i will always tell people of his good works. He is a powerful spell caster. contact for what ever problems you have and he will help you out of it. Here's his email address AKHERETEMPLE@GMAIL.COM. contact him he is a powerful spell caster and i pray he help you out too
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

JBCN conf 2017 Tomorrow Model Driven Development

  1. 1. Tomorrow’s “Model” Driven Development JBCN Conf 2017 - Barcelona
  2. 2. 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
  3. 3. Agenda • Software Development Approaches – What is DDD? – Other Approaches • What do they share? What is different? • Implementation – Architectural Point of view • Spring Cloud • Demo
  4. 4. Theoretical Point of View
  5. 5. What is DDD? • Domain Driven Design “DDD is a software development approach to create high quality software model design that meets core business objectives.”
  6. 6. Core Business Value • Domains, Sub-Domains and Core Domains • (Bounded Context / Shared Language) = Model • Context Maps
  7. 7. Concepts, Best Practices & Common Pitfalls • Entities • Value Objects • Domain Events • Modules • Aggregates • Services • Factories • Repositories
  8. 8. Recommended Patterns • CQRS • Event Sourcing • Abstraction Layers • Eventual Consistency • EDA • Sagas
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. BPM • Business Processes (Fire Emergency)
  13. 13. Decision Management • Decision Table
  14. 14. 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
  15. 15. 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?
  16. 16. Implementation Point of View
  17. 17. Emergency Dispatcher Emergency Request Arrives Emergency Enriched & Processed Emergency Procedure Triggered
  18. 18. 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
  19. 19. Demo • Emergency Dispatcher • https://github.com/Salaboy/jbcnconf-2017-emergency-dispatcher • Run it on your laptop!
  20. 20. 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?
  21. 21. Questions?

×