SlideShare a Scribd company logo
1 of 23
BUSINESS DRIVEN ARCHITECTURE
CHICAGO CODER CONFERENCE 6’TH JUNE, 2016 VINAY SHIVASWAMY
ROADMAP
▪ Application Development methodology
▪ Application Architecture
▪ Application Design
▪ Application Code
▪ Demo
▪ Conclusion
▪ Q&A
WHO AM I
▪ Technology expert with over 20 years of experience as an Architect, Manager and
Developer using Java EE and wide variety of open source technologies and
environments.
▪ My expertise is in agile development methodology with focus on test driven
development, Continuous Integration and Continuous Delivery model.
▪ TOGAF Certified Enterprise Architect and Certified Scrum Master.
▪ vinay@visionjockeys.com
▪ https://www.linkedin.com/in/vinayshivaswamy
▪ http://vinayshivaswamy.blogspot.com/
▪ https://github.com/vshivaswamy
“Long Live Continuous Delivery”
DEVELOPMENT METHODOLOGY
• Agile Software Development Methodology
Working Software
Responding to
Change
AGILE SOFTWARE DEVELOPMENT
▪ Principles Behind The Agile Manifest
Welcome Changes
Technical Excellence &
Good Design
Architecture &
Design Emerge
Deliver Frequently
APPLICATION ARCHITECTURE
KEY ATTRIBUTES OF ARCHITECTURE
▪ Reliability
▪ Availability
▪ Maintainability
▪ Scalability
4 C’S OF ARCHITECTURE
▪ Connectivity
▪ Constraints
▪ Complexity
▪ Changeability
APPLICATION ARCHITECTURE
…Dependency Management
APPLICATION DESIGN
EXTERNAL DEPENDENCIES
▪ Java Archives
▪ Maven
▪ Gradle
INTERNAL DEPENDENCIES
▪ Package
▪ Annotations
▪ Class
▪ DI – @Autowired, @Service, @Component
APPLICATION DESIGN
▪ Domain Driven Design
Demo
Domain
Vendor
CustomerAccount
APPLICATION DESIGN
 Modules
 Layers
 Vertical Slices
 Subsystems
APPLICATION CODE
▪ Enforce design in the code
▪ Design is preserved
▪ OO Principles
▪ Polymorphism & Encapsulation
▪ Composition over Inheritance
▪ Cohesion & Coupling
APPLICATION CODE
▪ Class – SOLID Principles
S The Single Responsibility Principle A class should have one, and only one, reason to change.
O The Open Closed Principle You should be able to extend a classes behavior, without
modifying it.
L The Liskov Substitution Principle Derived classes must be substitutable for their base classes.
I The Interface Segregation Principle Make fine grained interfaces that are client specific.
D The Dependency Inversion
Principle
Depend on abstractions, not on concretions.
APPLICATION CODE
▪ Package – RCC Principles
R The Release Reuse Equivalency
Principle
The granule of reuse is the granule of release.
C The Common Closure Principle Classes that change together are packaged together.
C The Common Reuse Principle Classes that are used together are packaged together.
APPLICATION CODE
 Simple CRM Application
APPLICATION LAYERS
Web
Service
Persistence
Domain
APPLICATION SLICES
16
A
c
c
o
u
n
t
C
u
s
t
o
m
e
r
C
O
M
M
O
N
C
o
m
m
o
n
V
e
n
d
o
r
APPLICATION SUBSYSTEMS
Web
Service
Persistence
Domain
A
c
c
o
u
n
t
C
u
s
t
o
m
e
r
C
o
m
m
o
n
V
e
n
d
o
r
LAYERS
▪ .layer.slice?
▪ .service.account
▪ .dao.account
▪ .slice.layer?
▪ .customer.service
▪ .customer.dao
▪ .slice?
▪ .account
▪ .customer
LAYERS
▪ Well Understood with developer community
▪ Violates clean code principles – Reduced cohesion and Increased coupling
▪ Packages are obsolete, classes and methods are forced to expose to public.
▪ Implementation details ahead of abstraction.
▪ Redundant layer information both at package level and class level
▪ Not associated with any business value directly.
SLICES
▪ Different thinking
▪ Enforces cleaner code
▪ High cohesion and less coupling
▪ Meaningful sonar dashboard package cycle, dependency index numbers
▪ Higher level of abstraction
▪ Encapsulation at the package level.
▪ Breaks the complex system into subsystems
▪ Application code is self documenting
▪ Associated with business value.
DEMO
CONCLUSION
▪ “Focus on delivering Business Value”
▪ “Modularize your application”
▪ “Start with less packages, least visibility”
?
▪ vinay@visionjockeys.com
▪ https://github.com/vshivaswamy
▪ http://vinayshivaswamy.blogspot.com/

More Related Content

Similar to Business Driven Architecture

Focused integration development with agile methodologies - Oracle Primavera P...
Focused integration development with agile methodologies - Oracle Primavera P...Focused integration development with agile methodologies - Oracle Primavera P...
Focused integration development with agile methodologies - Oracle Primavera P...p6academy
 
Leading Lean Six Sigma
Leading Lean Six SigmaLeading Lean Six Sigma
Leading Lean Six Sigmajackkahler
 
Modeling and Evolving a Web Portal with the TOGAF Framework and the ArchiMate...
Modeling and Evolving a Web Portal with the TOGAF Framework and the ArchiMate...Modeling and Evolving a Web Portal with the TOGAF Framework and the ArchiMate...
Modeling and Evolving a Web Portal with the TOGAF Framework and the ArchiMate...Iver Band
 
Advances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringAdvances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringRamdas Mozhikunnath
 
API-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachAPI-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachSven Bernhardt
 
King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut ArchitectureGary Pedretti
 
Beyond DevOps: Finding Value through Requirements
Beyond DevOps: Finding Value through RequirementsBeyond DevOps: Finding Value through Requirements
Beyond DevOps: Finding Value through RequirementsGail Murphy
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCISven Bernhardt
 
How to Perform Model-Based Reviews
How to Perform Model-Based ReviewsHow to Perform Model-Based Reviews
How to Perform Model-Based ReviewsElizabeth Steiner
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Paris Android User Group
 
SAP C_CPE_16: Latest Questions and Exam Tips for SAP CPE Certification
SAP C_CPE_16: Latest Questions and Exam Tips for SAP CPE CertificationSAP C_CPE_16: Latest Questions and Exam Tips for SAP CPE Certification
SAP C_CPE_16: Latest Questions and Exam Tips for SAP CPE Certificationcarinachiara1
 
AngularJS Curriculum-Zeolearn
AngularJS Curriculum-ZeolearnAngularJS Curriculum-Zeolearn
AngularJS Curriculum-ZeolearnHamdi Ceylan
 
Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices WSO2
 
Press, Publish, React: Rebuilding TechCrunch | WC for Publishers
Press, Publish, React: Rebuilding TechCrunch | WC for PublishersPress, Publish, React: Rebuilding TechCrunch | WC for Publishers
Press, Publish, React: Rebuilding TechCrunch | WC for PublishersMike Selander
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)Andrew Barickman
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCISven Bernhardt
 
Full Spectrum Engineering – The New Full-stack
Full Spectrum Engineering – The New Full-stack Full Spectrum Engineering – The New Full-stack
Full Spectrum Engineering – The New Full-stack Deborah Schalm
 

Similar to Business Driven Architecture (20)

Focused integration development with agile methodologies - Oracle Primavera P...
Focused integration development with agile methodologies - Oracle Primavera P...Focused integration development with agile methodologies - Oracle Primavera P...
Focused integration development with agile methodologies - Oracle Primavera P...
 
Leading Lean Six Sigma
Leading Lean Six SigmaLeading Lean Six Sigma
Leading Lean Six Sigma
 
Modeling and Evolving a Web Portal with the TOGAF Framework and the ArchiMate...
Modeling and Evolving a Web Portal with the TOGAF Framework and the ArchiMate...Modeling and Evolving a Web Portal with the TOGAF Framework and the ArchiMate...
Modeling and Evolving a Web Portal with the TOGAF Framework and the ArchiMate...
 
Advances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringAdvances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of Engineering
 
API-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approachAPI-first design - Basis for an consistent API-Management approach
API-first design - Basis for an consistent API-Management approach
 
The Decoupled CMS in Financial Services
The Decoupled CMS in Financial ServicesThe Decoupled CMS in Financial Services
The Decoupled CMS in Financial Services
 
King Tut Architecture
King Tut ArchitectureKing Tut Architecture
King Tut Architecture
 
Beyond DevOps: Finding Value through Requirements
Beyond DevOps: Finding Value through RequirementsBeyond DevOps: Finding Value through Requirements
Beyond DevOps: Finding Value through Requirements
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCI
 
How to Perform Model-Based Reviews
How to Perform Model-Based ReviewsHow to Perform Model-Based Reviews
How to Perform Model-Based Reviews
 
Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013Rho mobile v4 - DroidCon Paris 18 june 2013
Rho mobile v4 - DroidCon Paris 18 june 2013
 
Cloud Native In-Depth
Cloud Native In-DepthCloud Native In-Depth
Cloud Native In-Depth
 
SAP C_CPE_16: Latest Questions and Exam Tips for SAP CPE Certification
SAP C_CPE_16: Latest Questions and Exam Tips for SAP CPE CertificationSAP C_CPE_16: Latest Questions and Exam Tips for SAP CPE Certification
SAP C_CPE_16: Latest Questions and Exam Tips for SAP CPE Certification
 
AngularJS Curriculum-Zeolearn
AngularJS Curriculum-ZeolearnAngularJS Curriculum-Zeolearn
AngularJS Curriculum-Zeolearn
 
Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices Merging micrservices architecture with SOA Practices
Merging micrservices architecture with SOA Practices
 
Press, Publish, React: Rebuilding TechCrunch | WC for Publishers
Press, Publish, React: Rebuilding TechCrunch | WC for PublishersPress, Publish, React: Rebuilding TechCrunch | WC for Publishers
Press, Publish, React: Rebuilding TechCrunch | WC for Publishers
 
Java vs javascript (XPages)
Java vs javascript (XPages)Java vs javascript (XPages)
Java vs javascript (XPages)
 
Implementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCIImplementing API-led Cloud-native apps on OCI
Implementing API-led Cloud-native apps on OCI
 
Full Spectrum Engineering – The New Full-stack
Full Spectrum Engineering – The New Full-stack Full Spectrum Engineering – The New Full-stack
Full Spectrum Engineering – The New Full-stack
 
Architecting your way up in the cloud
Architecting your way up in the cloudArchitecting your way up in the cloud
Architecting your way up in the cloud
 

Recently uploaded

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureDinusha Kumarasiri
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxnada99848
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 

Recently uploaded (20)

办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Implementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with AzureImplementing Zero Trust strategy with Azure
Implementing Zero Trust strategy with Azure
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
software engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptxsoftware engineering Chapter 5 System modeling.pptx
software engineering Chapter 5 System modeling.pptx
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 

Business Driven Architecture