SlideShare a Scribd company logo
1 of 40
Lean Enterprise Architecture
By Shahed Chowdhuri, Sahil Talwar, Doguhan Uluca
A lean, testable enterprise architecture with a modern client stack
Thanks to our Sponsors
for keeping the fires lit
TDD (Test Driven Development)
BDD (Behavior Driven Development)
CI (Continuous Integration)
CD (Continuous Delivery)
Introduction
ASP.NET
MVC
DB
Enterprise
Web
Application
 Looking for Ways to Improve & Modernize
 Motivation behind this design?
 Our desire to do the following:
Data Access Layer Shahed
ChowdhuriUsing Code-First Migrations
Tech Check
ASP
.NET
MVC
Entity
Framework
EF
Code-First
Development
EF
Code-First
Migrations
Are you familiar with…?
Options and Alternatives
Database-
First
(EDMX)
Model-First
(Visual
Designer)
Code-First
(automatic
migrations)
Code-First
(manual
migrations)
What are we trying to solve?
DAL: Agenda
1. Models &
Mapping
2. Connection
Strings
3. Enable
Migrations
4. Update
Database
5. Push Code
+ Migrate
Server DB
6. Process
Workflow
1. Models & Mapping
DBContext
.OnModelCreating()
2. Connection Strings
3. Enable Migrations
migration
code
4. Update Database
model
code
migration
code
+ seed
dev
DB
(sql)
5. Push Code + Migrate Server DB
code push code
CI
code pull code
migrate.exe
Server
DB
6. Process Workflow
dev team DB architects
communication
DB
Code Walkthrough
DAL: Conclusion
Code-First
Migrations
Dev Team
Synchronized
Server
Deployment
Database
Versioning
Continuous
Development
Resources
• EF Code First Migrations on MSDN:
– http://msdn.microsoft.com/en-US/data/jj591621
• Web.config & configSource:
– http://wakeupandcode.com/all-your-database-are-belong-to-us/
• PluralSight EF Migrations video tutorial:
– http://pluralsight.com/training/Courses/TableOfContents/efmigrations
The Domain Sahil Talwar
Simpler is better
Versus…
Heavyweight
Enterprise Architecture
Round
Best Practices
Repositories
Unit of Work
Entity Framework
Domain
IUnitOfWork
IRepository IRepository IRepository
Dal
DbContext
DbSet DbSet DbSet
Web Api
Round
Web Models
Domain Models
Dal Models
Api Models
Web
Domain
Dal
Core
(Models)
…Except Api-Domain.
Round
Student
Context
Universities
Departments
Professors Classes
Advisors
Students
Context Per Complex Object
University
Context
Professors Classes Students
Departments Advisors Universities
Single Responsibility: Context Per Object
Universities
Departments
Professors Classes
Advisors
Students
ServiceStoreServiceStore
Service Service Service
Shared
Context
Service Service Service
Solid gold.
Services
Domain 1
Web Api
Domain 2 Domain 4 Domain 5
Dal Models
Domain 3 Domain 6
Image Credits
• http://i-cdn.apartmenttherapy.com/uimages/kitchen/2010_05_17-Lasagna.jpg
• http://www.callagold.com/wp-content/uploads/2012/02/gold-plated-porsche-1.jpg
• http://img.diytrade.com/cdimg/1057186/11295732/0/1259756915/Gold_Plating_System.jpg
• http://www.artisticplating.net/images/gold4.jpg
• http://epf.thingml.org/wikis/inf5120/practice.mgmt.scrum.base-
sintef/guidances/roadmaps/resources/ScrumLargeLabelled.png
• http://1.bp.blogspot.com/-H0OeuWi6oXc/UG9BbClJF-
I/AAAAAAAAAqY/6v4hZ5zGGXk/s1600/DDD_TDD_BDD_intersection.png
• http://blogs.jetbrains.com/teamcity/wp-content/uploads/2008/09/teamcity512.png
• http://www.regretfreelife.net/wp-content/uploads/2012/09/lscycle.jpg
• http://automapper.org/img/black_logo.png
• http://4.bp.blogspot.com/-1p7GSp6m_a8/UOrbvzLfwKI/AAAAAAAAAI4/oYULEv-jJWc/s1600/g3211.png
• http://www.clker.com/cliparts/T/G/C/H/K/W/no-sign-hi.png
• http://2.bp.blogspot.com/---z3-
XY_a5M/T2uGslh4fYI/AAAAAAAAADY/PyqTk88n3Qo/s1600/Health+Services+Enterprise+Architecture+v5.3+(
3-20-12).jpg
• http://fc06.deviantart.net/fs71/f/2012/119/e/7/sumo_wrestler_by_maxxparis-d4xytyj.jpg
• http://www.nerdpad.com/wp-content/uploads/2010/04/vs2010_full.jpg
• https://secure.gravatar.com/avatar/cf4c53b37956b009d609caeacb171c40?s=420&d=https://a248.e.akamai.
net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png
• http://nblumhardt.com/wp-content/uploads/2009/12/Autofac-2-Sketch1.png

More Related Content

What's hot

2014 02 florian-matthes-agile-enterprise-architecture-management
2014 02 florian-matthes-agile-enterprise-architecture-management2014 02 florian-matthes-agile-enterprise-architecture-management
2014 02 florian-matthes-agile-enterprise-architecture-managementEric Javier Espino Man
 
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew EarlierHans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew EarlierEdunomica
 
User story estimation with agile architectures
User story estimation with agile architecturesUser story estimation with agile architectures
User story estimation with agile architecturesRaffaele Garofalo
 
B5 Leading Lawfirm Delivers Business Value
B5 Leading Lawfirm Delivers Business ValueB5 Leading Lawfirm Delivers Business Value
B5 Leading Lawfirm Delivers Business ValueJon Taylor
 
Applying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise ArchitectureApplying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise ArchitectureBenjamin Scherrey
 
ITIL , DevOps and IT4IT
ITIL , DevOps and IT4ITITIL , DevOps and IT4IT
ITIL , DevOps and IT4ITSwati Kumari
 
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?Edunomica
 
Continuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureContinuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureBrad Appleton
 
DC Business Intelligentsia January Meetup: Agile BI and Data Chaos
DC Business Intelligentsia January Meetup: Agile BI and Data ChaosDC Business Intelligentsia January Meetup: Agile BI and Data Chaos
DC Business Intelligentsia January Meetup: Agile BI and Data ChaosExcella
 
Does Agile EA Equal Agile Plus EA?
Does Agile EA Equal Agile Plus EA?Does Agile EA Equal Agile Plus EA?
Does Agile EA Equal Agile Plus EA?Jason Bloomberg
 
Complexity requires Empiricism which requires Scrum by Ralph Jocham
Complexity requires Empiricism which requires Scrum by Ralph JochamComplexity requires Empiricism which requires Scrum by Ralph Jocham
Complexity requires Empiricism which requires Scrum by Ralph JochamBosnia Agile
 
SFIA 8 launch slides September 2021
SFIA 8 launch slides September 2021SFIA 8 launch slides September 2021
SFIA 8 launch slides September 2021SFIA User Forum
 
Doing Architecture with Agile Teams IASA UK Summit 2013
Doing Architecture with Agile Teams IASA UK Summit 2013Doing Architecture with Agile Teams IASA UK Summit 2013
Doing Architecture with Agile Teams IASA UK Summit 2013Chris F Carroll
 
Enhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersEnhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersValentin-Tudor Mocanu
 
Cita iasa certifications
Cita iasa certificationsCita iasa certifications
Cita iasa certificationsAdams Firdaus
 
DevOps Requirement practises - the shift to agile
DevOps Requirement practises - the shift to agileDevOps Requirement practises - the shift to agile
DevOps Requirement practises - the shift to agileArthur de Snaijer :)
 
An Agile Practice Framework for Scaling Agile Adoption in an Enterprise
An Agile Practice Framework for Scaling Agile Adoption in an EnterpriseAn Agile Practice Framework for Scaling Agile Adoption in an Enterprise
An Agile Practice Framework for Scaling Agile Adoption in an EnterpriseBrad Appleton
 
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?Edunomica
 
Trustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean TraceabilityTrustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean TraceabilityBrad Appleton
 

What's hot (20)

2014 02 florian-matthes-agile-enterprise-architecture-management
2014 02 florian-matthes-agile-enterprise-architecture-management2014 02 florian-matthes-agile-enterprise-architecture-management
2014 02 florian-matthes-agile-enterprise-architecture-management
 
Beyond Scrum and SAFe
Beyond Scrum and SAFeBeyond Scrum and SAFe
Beyond Scrum and SAFe
 
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew EarlierHans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
Hans Eckman: 7 Agile and DevOps Insights I Wish I Knew Earlier
 
User story estimation with agile architectures
User story estimation with agile architecturesUser story estimation with agile architectures
User story estimation with agile architectures
 
B5 Leading Lawfirm Delivers Business Value
B5 Leading Lawfirm Delivers Business ValueB5 Leading Lawfirm Delivers Business Value
B5 Leading Lawfirm Delivers Business Value
 
Applying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise ArchitectureApplying Agile Values to Enterprise Architecture
Applying Agile Values to Enterprise Architecture
 
ITIL , DevOps and IT4IT
ITIL , DevOps and IT4ITITIL , DevOps and IT4IT
ITIL , DevOps and IT4IT
 
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
Dave Davis: Infrastructure Projects – What Makes then Different and Difficult?
 
Continuous Delivery of Agile Architecture
Continuous Delivery of Agile ArchitectureContinuous Delivery of Agile Architecture
Continuous Delivery of Agile Architecture
 
DC Business Intelligentsia January Meetup: Agile BI and Data Chaos
DC Business Intelligentsia January Meetup: Agile BI and Data ChaosDC Business Intelligentsia January Meetup: Agile BI and Data Chaos
DC Business Intelligentsia January Meetup: Agile BI and Data Chaos
 
Does Agile EA Equal Agile Plus EA?
Does Agile EA Equal Agile Plus EA?Does Agile EA Equal Agile Plus EA?
Does Agile EA Equal Agile Plus EA?
 
Complexity requires Empiricism which requires Scrum by Ralph Jocham
Complexity requires Empiricism which requires Scrum by Ralph JochamComplexity requires Empiricism which requires Scrum by Ralph Jocham
Complexity requires Empiricism which requires Scrum by Ralph Jocham
 
SFIA 8 launch slides September 2021
SFIA 8 launch slides September 2021SFIA 8 launch slides September 2021
SFIA 8 launch slides September 2021
 
Doing Architecture with Agile Teams IASA UK Summit 2013
Doing Architecture with Agile Teams IASA UK Summit 2013Doing Architecture with Agile Teams IASA UK Summit 2013
Doing Architecture with Agile Teams IASA UK Summit 2013
 
Enhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layersEnhancing clean architecture: 2 n-dimensional layers
Enhancing clean architecture: 2 n-dimensional layers
 
Cita iasa certifications
Cita iasa certificationsCita iasa certifications
Cita iasa certifications
 
DevOps Requirement practises - the shift to agile
DevOps Requirement practises - the shift to agileDevOps Requirement practises - the shift to agile
DevOps Requirement practises - the shift to agile
 
An Agile Practice Framework for Scaling Agile Adoption in an Enterprise
An Agile Practice Framework for Scaling Agile Adoption in an EnterpriseAn Agile Practice Framework for Scaling Agile Adoption in an Enterprise
An Agile Practice Framework for Scaling Agile Adoption in an Enterprise
 
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
Scott Ambler: Agile Enterprises are Hybrids, Is Your PMO Ready?
 
Trustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean TraceabilityTrustworthy Transparency and Lean Traceability
Trustworthy Transparency and Lean Traceability
 

Viewers also liked

DOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOpsDOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOpsNicole Forsgren
 
MVVM for the Web
MVVM for the WebMVVM for the Web
MVVM for the WebExcella
 
Next Generation Enterprise Architecture
Next Generation Enterprise ArchitectureNext Generation Enterprise Architecture
Next Generation Enterprise ArchitectureRichard Veryard
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeGary Pedretti
 
Every company is a technology company
Every company is a technology companyEvery company is a technology company
Every company is a technology companyVishal Sharma
 
Designing digital transformation v.2.7
Designing digital transformation v.2.7Designing digital transformation v.2.7
Designing digital transformation v.2.7Nigel Green
 
Jeff's journey to a Digital Business
Jeff's journey to a Digital BusinessJeff's journey to a Digital Business
Jeff's journey to a Digital BusinessMendel Koerts
 
Foundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed ITFoundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed ITApigee | Google Cloud
 
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group, Inc.
 
WANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-setWANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-setBrad Appleton
 
Is agile adoption losing steam?
Is agile adoption losing steam?Is agile adoption losing steam?
Is agile adoption losing steam?Go2Group, Inc.
 
DBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentDBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentKyle Hailey
 
Continuous delivery made possible
Continuous delivery made possibleContinuous delivery made possible
Continuous delivery made possiblemimmozzo_
 
Tui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsTui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsDBmaestro - Database DevOps
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?Michael Elder
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestroKyle Hailey
 

Viewers also liked (20)

DOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOpsDOES 2016 Sciencing the Crap Out of DevOps
DOES 2016 Sciencing the Crap Out of DevOps
 
MVVM for the Web
MVVM for the WebMVVM for the Web
MVVM for the Web
 
Next Generation Enterprise Architecture
Next Generation Enterprise ArchitectureNext Generation Enterprise Architecture
Next Generation Enterprise Architecture
 
Agile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New HopeAgile Architecture: Ideals, History, and a New Hope
Agile Architecture: Ideals, History, and a New Hope
 
Every company is a technology company
Every company is a technology companyEvery company is a technology company
Every company is a technology company
 
2016 metrics-as-culture
2016 metrics-as-culture2016 metrics-as-culture
2016 metrics-as-culture
 
Designing digital transformation v.2.7
Designing digital transformation v.2.7Designing digital transformation v.2.7
Designing digital transformation v.2.7
 
Jeff's journey to a Digital Business
Jeff's journey to a Digital BusinessJeff's journey to a Digital Business
Jeff's journey to a Digital Business
 
Foundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed ITFoundation for accelerating digital development—Two-speed IT
Foundation for accelerating digital development—Two-speed IT
 
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug BassGo2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
Go2Group_secrets of high-performing software teams_EAD event_san jose_Doug Bass
 
WANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-setWANTED: Seeking Single Agile Knowledge Development Tool-set
WANTED: Seeking Single Agile Knowledge Development Tool-set
 
Is agile adoption losing steam?
Is agile adoption losing steam?Is agile adoption losing steam?
Is agile adoption losing steam?
 
DBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application DevelopmentDBTA Data Summit : Eliminating the data constraint in Application Development
DBTA Data Summit : Eliminating the data constraint in Application Development
 
Faking Hell
Faking HellFaking Hell
Faking Hell
 
Continuous delivery made possible
Continuous delivery made possibleContinuous delivery made possible
Continuous delivery made possible
 
Tui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile MethodsTui Travel - Overcoming the Challenges of Agile Methods
Tui Travel - Overcoming the Challenges of Agile Methods
 
How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?How do you deliver your applications to the cloud?
How do you deliver your applications to the cloud?
 
In (database) automation we trust
In (database) automation we trustIn (database) automation we trust
In (database) automation we trust
 
Delphix and DBmaestro
Delphix and DBmaestroDelphix and DBmaestro
Delphix and DBmaestro
 
Jenkins Plugin
Jenkins PluginJenkins Plugin
Jenkins Plugin
 

Similar to Lean Enterprise Architecture

Yemo_Capstone_MS_Fairfield University
Yemo_Capstone_MS_Fairfield UniversityYemo_Capstone_MS_Fairfield University
Yemo_Capstone_MS_Fairfield UniversityGuillermo Julca
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010Ethos Technologies
 
Entity Framework Code First Migrations
Entity Framework Code First MigrationsEntity Framework Code First Migrations
Entity Framework Code First MigrationsDiluka99999
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1Dave Bost
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcdsravinxg
 
ATlink Forum - What's in the cloud for me?
ATlink Forum - What's in the cloud for me?ATlink Forum - What's in the cloud for me?
ATlink Forum - What's in the cloud for me?Eran Stiller
 
SQL Azure the database in the cloud
SQL Azure the database in the cloud SQL Azure the database in the cloud
SQL Azure the database in the cloud Eduardo Castro
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Archluohd
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...tdc-globalcode
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicDavid Solivan
 
Dms 2.0 Plan Proposal
Dms 2.0 Plan ProposalDms 2.0 Plan Proposal
Dms 2.0 Plan ProposalKai Liu
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simplellangit
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaDr. John Tunnicliffe
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaDr. John Tunnicliffe
 

Similar to Lean Enterprise Architecture (20)

Yemo_Capstone_MS_Fairfield University
Yemo_Capstone_MS_Fairfield UniversityYemo_Capstone_MS_Fairfield University
Yemo_Capstone_MS_Fairfield University
 
Mdd lcds
Mdd lcdsMdd lcds
Mdd lcds
 
Azure presentation nnug dec 2010
Azure presentation nnug  dec 2010Azure presentation nnug  dec 2010
Azure presentation nnug dec 2010
 
Entity Framework Code First Migrations
Entity Framework Code First MigrationsEntity Framework Code First Migrations
Entity Framework Code First Migrations
 
Vsts intro
Vsts introVsts intro
Vsts intro
 
Access & SharePoint
Access & SharePointAccess & SharePoint
Access & SharePoint
 
Resume
ResumeResume
Resume
 
Resume_Ravichandra Thota
Resume_Ravichandra ThotaResume_Ravichandra Thota
Resume_Ravichandra Thota
 
WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1WPF Unleashed: Building Application with Visual Studio 2008 SP1
WPF Unleashed: Building Application with Visual Studio 2008 SP1
 
Mdd Lcds
Mdd LcdsMdd Lcds
Mdd Lcds
 
Training Offerings - CodeOps Technologies
Training Offerings - CodeOps TechnologiesTraining Offerings - CodeOps Technologies
Training Offerings - CodeOps Technologies
 
ATlink Forum - What's in the cloud for me?
ATlink Forum - What's in the cloud for me?ATlink Forum - What's in the cloud for me?
ATlink Forum - What's in the cloud for me?
 
SQL Azure the database in the cloud
SQL Azure the database in the cloud SQL Azure the database in the cloud
SQL Azure the database in the cloud
 
Ibm 1 Wps Arch
Ibm 1 Wps ArchIbm 1 Wps Arch
Ibm 1 Wps Arch
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
The Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs PublicThe Magic Of Application Lifecycle Management In Vs Public
The Magic Of Application Lifecycle Management In Vs Public
 
Dms 2.0 Plan Proposal
Dms 2.0 Plan ProposalDms 2.0 Plan Proposal
Dms 2.0 Plan Proposal
 
BI 2008 Simple
BI 2008 SimpleBI 2008 Simple
BI 2008 Simple
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
 
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday SloveniaContinuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
Continuous Integration and the Data Warehouse - PASS SQL Saturday Slovenia
 

More from Excella

DCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer WorksheetDCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer WorksheetExcella
 
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa AdkinsDCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa AdkinsExcella
 
DCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutDCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutExcella
 
DCSUG - Servant Leadership
DCSUG - Servant LeadershipDCSUG - Servant Leadership
DCSUG - Servant LeadershipExcella
 
DCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile WorldDCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile WorldExcella
 
DCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile LeaderDCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile LeaderExcella
 
DCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileDCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileExcella
 
DCSUG - Impact Mapping
DCSUG - Impact MappingDCSUG - Impact Mapping
DCSUG - Impact MappingExcella
 
DCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of AgileDCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of AgileExcella
 
The Awkward Teenager of Testing
The Awkward Teenager of TestingThe Awkward Teenager of Testing
The Awkward Teenager of TestingExcella
 
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeLet's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeExcella
 
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016Excella
 
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)Excella
 
Get Your Productivity Game On!!
Get Your Productivity Game On!!Get Your Productivity Game On!!
Get Your Productivity Game On!!Excella
 
How to Structure Multi Team Organizations
How to Structure Multi Team OrganizationsHow to Structure Multi Team Organizations
How to Structure Multi Team OrganizationsExcella
 
Tactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOpsTactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOpsExcella
 
Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Excella
 
Tactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous DeliveryTactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous DeliveryExcella
 
Using ansible vault to protect your secrets
Using ansible vault to protect your secretsUsing ansible vault to protect your secrets
Using ansible vault to protect your secretsExcella
 
Using Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of AgileUsing Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of AgileExcella
 

More from Excella (20)

DCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer WorksheetDCSUG - What's Really Going On? Observer Worksheet
DCSUG - What's Really Going On? Observer Worksheet
 
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa AdkinsDCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
DCSUG - We Are The Leaders We Have Been Waiting For by Lyssa Adkins
 
DCSUG - Servant Leadership Handout
DCSUG - Servant Leadership HandoutDCSUG - Servant Leadership Handout
DCSUG - Servant Leadership Handout
 
DCSUG - Servant Leadership
DCSUG - Servant LeadershipDCSUG - Servant Leadership
DCSUG - Servant Leadership
 
DCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile WorldDCSUG - Applying Analysis in an Agile World
DCSUG - Applying Analysis in an Agile World
 
DCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile LeaderDCSUG - The Art and Practice of the Agile Leader
DCSUG - The Art and Practice of the Agile Leader
 
DCSUG - Finding Lean in Agile
DCSUG - Finding Lean in AgileDCSUG - Finding Lean in Agile
DCSUG - Finding Lean in Agile
 
DCSUG - Impact Mapping
DCSUG - Impact MappingDCSUG - Impact Mapping
DCSUG - Impact Mapping
 
DCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of AgileDCSUG - Happiness: A Key Component of Agile
DCSUG - Happiness: A Key Component of Agile
 
The Awkward Teenager of Testing
The Awkward Teenager of TestingThe Awkward Teenager of Testing
The Awkward Teenager of Testing
 
Let's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting TimeLet's Sharpen Your Agile Ax, It's Story Splitting Time
Let's Sharpen Your Agile Ax, It's Story Splitting Time
 
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
Managing for Happiness by Jurgen Appelo at DCSUG on 8/9/2016
 
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)The 7 Secrets of Highly Effective Retrospectives (DCSUG)
The 7 Secrets of Highly Effective Retrospectives (DCSUG)
 
Get Your Productivity Game On!!
Get Your Productivity Game On!!Get Your Productivity Game On!!
Get Your Productivity Game On!!
 
How to Structure Multi Team Organizations
How to Structure Multi Team OrganizationsHow to Structure Multi Team Organizations
How to Structure Multi Team Organizations
 
Tactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOpsTactics to Kickstart Your Journey Toward DevOps
Tactics to Kickstart Your Journey Toward DevOps
 
Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015
 
Tactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous DeliveryTactics to Kickstart Your Journey Toward Continuous Delivery
Tactics to Kickstart Your Journey Toward Continuous Delivery
 
Using ansible vault to protect your secrets
Using ansible vault to protect your secretsUsing ansible vault to protect your secrets
Using ansible vault to protect your secrets
 
Using Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of AgileUsing Lean Thinking to Increase the Value of Agile
Using Lean Thinking to Increase the Value of Agile
 

Recently uploaded

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
[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.pdfhans926745
 
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
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
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
 
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
 
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...Miguel Araújo
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
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 MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
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
 

Recently uploaded (20)

Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
[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
 
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...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
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...
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
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...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
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 PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
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
 

Lean Enterprise Architecture

Editor's Notes

  1. Lean Enterprise Architecture (title page)A lean, testable enterprise architecture with a modern client stack
  2. Sponsors
  3. Introduction* We are building an enterprise web application with ASP.NET MVC, following best practices for design, development, testability and deployment.* We were looking for ways to improve and modernize* The motivation behind this design was our desire to do TDD, BDD, CI, CD.
  4. Are you familiar with:ASP.NET MVC?Entity Framework?Code First development?Code First Migrations?(slow-reveal diagram + ask the audience)
  5. Options and AlternativesDatabase-First (EDMX)Model-First (visual designer)Code-First with automatic migrationsCode-First with manual migrations
  6. AgendaAdd models and mapping in codeConnection StringEnable MigrationsUpdate DatabasePush code + Migrate server DBProcess Workflow
  7. 1. Models & Mapping
  8. 2. Connection StringsConnection StringWeb.configconfigSourceMachine config
  9. 3. Enable MigrationsEnable MigrationsConfiguration.csAdd Seed data
  10. 4. Update DatabaseUpdate DatabaseRun Seed DataVerify SQLVerify DB
  11. 5. Push Code + Migrate Server DBPush code to source controlOther developers pull and Update DatabaseMigrate server DB via migrate.exeUse TeamCity to automate this
  12. 6. Process WorkflowProcess WorkflowHandle existing databaseComply with enterprise requirements
  13. Code Walkthrough
  14. Code First Migrations allows:Continuous developmentSynchronization among team membersDatabase versioningServer deployment(diagram with star pattern)
  15. Resources
  16. IntroShahed showed DAL, so I’ll run through DomainFair warning, though…
  17. This is not like the other two parts of the presentation!I won’t show you code…Or specific technologies…at all.Instead, war stories and lesson learned
  18. Using Scrum,
  19. CI, CD…TDD, BDD, and DDD…
  20. But at the same time, some people involved with the project are proponents of…
  21. HEAVYWEIGHT enterprise architecture.To see what I mean, compare layersJokes aside, 1 story of over-engineering causing problems:
  22. When using DDD…blogsDev tried to use best practicesDidn’t check if we had the problems
  23. 3 problems: Use of UoW optionalRedundant, as I saidTo top it off: buggy, slow, redundant
  24. Now that’s what I call gold plating!
  25. The second story of the day is about premature optimization. Knuth: “premature optimization is the root of all evil”Optimizing for unproven use case because app is complex, expensive, many dev teamsAutomapper both waysWhat does Bogard know? Wrote != knows domain!
  26. Eventually realized it was gold plating as much as the Repositories were
  27. After unreasonable time, came to our sensesPulled out model into cross cutting layerNo more automapper!!Api has Data Contracts that look nothing like models, so that is a valid exception.
  28. Re: sharing a database context across objects.
  29. Service for every complex objectInjected new DbContext into every serviceProblem with shared sub-objects being accessible in several contexts
  30. Looked to SRP for guidance  one per objectNot only does not solve issue, makes it worse by making nearly all db objects sharedAlso creates Repo explosion
  31. Made a store to manage # of servicesRealized shared context problem, this fixes it# of Services = pain to manage and test!Came to realizetoo many services & shared context problemsStore was messy, painful hack
  32. Basically, realized that this is a step beyond gold plating.This is solid gold.
  33. Solved problem by splitting up into non-overlapping domains. Practically, this means 1 service per project team, & no overlapping objects.Anyone heard of bounded contexts…?Original solution proposed by DDD to begin with.Anyway,
  34. We fought against over-engineering and gold plating by using lean startup principles:BuiltMeasured pain; demonstrated to EA proponentsLearned from mistakes, built a solution closer to what we believed would alleviate the problemsRinse & Repeat