SlideShare ist ein Scribd-Unternehmen logo
1 von 13
How to Build
Business
Applications
Leveraging a
Domain Driven
Architecture
Who are we?
•Brian Anderson
• Founded OST project-based App Dev team (http://ostusa.com /
@OSTgr)
• 15+ years business and software development consulting experience
• Crowe Chizek
• SageStone -> NuSoft - > RCM Technologies
• OST
• Co-founder of Tourneytopia.com, PayItSquare.com and
TourneyLogic.com
• Twitter: @brianmatic, Github: https://github.com/brianmatic
•Brian Scaturro
• Consultant @OSTgr
• Worked for OneUpWeb on the bay in Traverse City
• Author of Paratest – https://github.com/brianium/paratest
• Avid reader and open source developer
• Twitter: @scaturr, Github: https://github.com/brianium
OST is headquartered right here in GR
Here we go
Developing
greenfield apps is
hard
Most get locked into an architecture that doesn't
scale and change becomes difficult and slow as
the system grows.
Why does this happen so often?
Too many times
application architects
focus on the technical
problems instead of
designing for the
problem domain.
“The most significant
complexity of many
applications is not technical.
It is in the domain itself, the
activity or business of the
user" – Evans
Example Architecture
•Tiers
• UI
• Business
• Data Access
• Database
•Does this architecture
represent the
business?
•No…
How to do it right?
•Domain Driven Design
•Focus on the domain model first.
•What the heck is the domain model?
• Official definition:
• A domain model in problem solving and software engineering is
a conceptual model of all the topics related to a specific problem. It describes
the various entities, their attributes, roles, and relationships, plus the
constraints that govern the problem domain
•Let us just show you…
Let’s Model
• Idea = Trello.mini
• Wireframes
• Domain Model
Onion Architecture
•The domain
model is the
core.
•Build your
architecture
around it.
OST Open Source Contributions
•nDriven
•.Net-based
•https://github.com/OSTUSA/ndriven
•nDriven CLI – command line interface for creating
a nDriven boilerplate project.
• https://github.com/OSTUSA/ndriven-cli
•Driven
•PHP-based
•https://github.com/OSTUSA/driven
Let’s code it• nDriven – Baseline Onion Architecture Project
• Setup a new project
• Develop the domain model
• Look at how easy it is to interact with
• Make the domain model persist to a db in the Infrastructure layer
• DB schema
• Create a DB through a migration
• Map models to DB
• Leverage the Repository design pattern
• Finally, build the Presentation layer
• Develop against the domain model
• Use an MVC framework
• Users expect modern client side interactions
• It has to have a responsive design that works on all devices
Want our code?
•Reference sample application
•OST Todo’s
•https://github.com/OSTUSA/ost-todos
•Great reference for
• .Net MVC 4
• Angular JS – Javascript MV-Whatever
• Bootstrap
• Built on nDrive
Q&AThank You

Weitere ähnliche Inhalte

Andere mochten auch

Solution Architecture Concept Workshop
Solution Architecture Concept WorkshopSolution Architecture Concept Workshop
Solution Architecture Concept WorkshopAlan McSweeney
 
How to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise ArchitectureHow to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise Architecturecccamericas
 
Enterprise Architecture Governance: A Framework for Successful Business
Enterprise Architecture Governance: A Framework for Successful BusinessEnterprise Architecture Governance: A Framework for Successful Business
Enterprise Architecture Governance: A Framework for Successful BusinessNathaniel Palmer
 
7 astuces pour amĂŠliorer vos tests unitaires
7 astuces pour amĂŠliorer vos tests unitaires7 astuces pour amĂŠliorer vos tests unitaires
7 astuces pour amĂŠliorer vos tests unitairesPascal Laurin
 
L'amĂŠlioration des tests unitaires par le refactoring
L'amĂŠlioration des tests unitaires par le refactoringL'amĂŠlioration des tests unitaires par le refactoring
L'amĂŠlioration des tests unitaires par le refactoringPascal Laurin
 
Cloud design patterns
Cloud design patternsCloud design patterns
Cloud design patternsPascal Laurin
 
Tests automatisĂŠs java script
Tests automatisĂŠs java scriptTests automatisĂŠs java script
Tests automatisĂŠs java scriptPascal Laurin
 
Digital Transformation And Enterprise Architecture
Digital Transformation And Enterprise ArchitectureDigital Transformation And Enterprise Architecture
Digital Transformation And Enterprise ArchitectureAlan McSweeney
 
Structured Approach to Solution Architecture
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution ArchitectureAlan McSweeney
 

Andere mochten auch (9)

Solution Architecture Concept Workshop
Solution Architecture Concept WorkshopSolution Architecture Concept Workshop
Solution Architecture Concept Workshop
 
How to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise ArchitectureHow to Articulate the Value of Enterprise Architecture
How to Articulate the Value of Enterprise Architecture
 
Enterprise Architecture Governance: A Framework for Successful Business
Enterprise Architecture Governance: A Framework for Successful BusinessEnterprise Architecture Governance: A Framework for Successful Business
Enterprise Architecture Governance: A Framework for Successful Business
 
7 astuces pour amĂŠliorer vos tests unitaires
7 astuces pour amĂŠliorer vos tests unitaires7 astuces pour amĂŠliorer vos tests unitaires
7 astuces pour amĂŠliorer vos tests unitaires
 
L'amĂŠlioration des tests unitaires par le refactoring
L'amĂŠlioration des tests unitaires par le refactoringL'amĂŠlioration des tests unitaires par le refactoring
L'amĂŠlioration des tests unitaires par le refactoring
 
Cloud design patterns
Cloud design patternsCloud design patterns
Cloud design patterns
 
Tests automatisĂŠs java script
Tests automatisĂŠs java scriptTests automatisĂŠs java script
Tests automatisĂŠs java script
 
Digital Transformation And Enterprise Architecture
Digital Transformation And Enterprise ArchitectureDigital Transformation And Enterprise Architecture
Digital Transformation And Enterprise Architecture
 
Structured Approach to Solution Architecture
Structured Approach to Solution ArchitectureStructured Approach to Solution Architecture
Structured Approach to Solution Architecture
 

KĂźrzlich hochgeladen

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
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.pdfsudhanshuwaghmare1
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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...Martijn de Jong
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
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?Igalia
 
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...apidays
 
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...Neo4j
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 

KĂźrzlich hochgeladen (20)

presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
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
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
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...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
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?
 
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...
 
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...
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 

How to build applications using a domain driven architecture

  • 1. How to Build Business Applications Leveraging a Domain Driven Architecture
  • 2. Who are we? •Brian Anderson • Founded OST project-based App Dev team (http://ostusa.com / @OSTgr) • 15+ years business and software development consulting experience • Crowe Chizek • SageStone -> NuSoft - > RCM Technologies • OST • Co-founder of Tourneytopia.com, PayItSquare.com and TourneyLogic.com • Twitter: @brianmatic, Github: https://github.com/brianmatic •Brian Scaturro • Consultant @OSTgr • Worked for OneUpWeb on the bay in Traverse City • Author of Paratest – https://github.com/brianium/paratest • Avid reader and open source developer • Twitter: @scaturr, Github: https://github.com/brianium
  • 3. OST is headquartered right here in GR
  • 4. Here we go Developing greenfield apps is hard Most get locked into an architecture that doesn't scale and change becomes difficult and slow as the system grows.
  • 5. Why does this happen so often? Too many times application architects focus on the technical problems instead of designing for the problem domain. “The most significant complexity of many applications is not technical. It is in the domain itself, the activity or business of the user" – Evans
  • 6. Example Architecture •Tiers • UI • Business • Data Access • Database •Does this architecture represent the business? •No…
  • 7. How to do it right? •Domain Driven Design •Focus on the domain model first. •What the heck is the domain model? • Official definition: • A domain model in problem solving and software engineering is a conceptual model of all the topics related to a specific problem. It describes the various entities, their attributes, roles, and relationships, plus the constraints that govern the problem domain •Let us just show you…
  • 8. Let’s Model • Idea = Trello.mini • Wireframes • Domain Model
  • 9. Onion Architecture •The domain model is the core. •Build your architecture around it.
  • 10. OST Open Source Contributions •nDriven •.Net-based •https://github.com/OSTUSA/ndriven •nDriven CLI – command line interface for creating a nDriven boilerplate project. • https://github.com/OSTUSA/ndriven-cli •Driven •PHP-based •https://github.com/OSTUSA/driven
  • 11. Let’s code it• nDriven – Baseline Onion Architecture Project • Setup a new project • Develop the domain model • Look at how easy it is to interact with • Make the domain model persist to a db in the Infrastructure layer • DB schema • Create a DB through a migration • Map models to DB • Leverage the Repository design pattern • Finally, build the Presentation layer • Develop against the domain model • Use an MVC framework • Users expect modern client side interactions • It has to have a responsive design that works on all devices
  • 12. Want our code? •Reference sample application •OST Todo’s •https://github.com/OSTUSA/ost-todos •Great reference for • .Net MVC 4 • Angular JS – Javascript MV-Whatever • Bootstrap • Built on nDrive