SlideShare a Scribd company logo
Architecture
Fundamentals
#event-arch-fund
Learning Objectives
How architecture benefits me
How architecture benefits my project
What is architecture
How an architect fits in
Agenda
Boring stuff about me
What is Architecture?
Architectural Styles
Principles of Architecture
Case Study
Me!
Reda Hmeid
Head of Solutions
A bit more about me
Middlesex County Schools u15 Rugby Champion
Middlesex County Schools u15 Rugby Player
British Junior Kickboxing Champion 1992
Leading goalscorer of all time for HH in British Airways 7 a-side
league
Managed 10 press-ups in a row a month ago
1.
What is Architecture?
Just drawing some boxes
Your views
Some thoughts
Boxes with lines between them in some
sensible manner.
Tex Soh
A clear map of the physical nature of the
system/s with which you are working.
Andrew Bateson
“Computer architecture, like other
architecture, is the art of determining the
needs of the user of a structure and then
designing to meet those needs as
effectively as possible within economic
and technological constraints.
Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
“Computer architecture, like other
architecture, is the art of determining the
needs of the user of a structure and then
designing to meet those needs as
effectively as possible within economic
and technological constraints.
Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
“Computer architecture, like other
architecture, is the art of determining the
needs of the user of a structure and then
designing to meet those needs as
effectively as possible within economic
and technological constraints.
Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
“Computer architecture, like other
architecture, is the art of determining the
needs of the user of a structure and then
designing to meet those needs as
effectively as possible within economic
and technological constraints.
Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
“Computer architecture, like other
architecture, is the art of determining the
needs of the user of a structure and then
designing to meet those needs as
effectively as possible within economic
and technological constraints.
Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
“Software architecture defines the
components of a system; what they
do, what they are, and how they
interact (i.e. their interfaces).
David Slauson 2016 (Facebook)
“Software architecture defines the
components of a system; what they
do, what they are, and how they
interact (i.e. their interfaces).
David Slauson 2016 (Facebook)
“Software architecture defines the
components of a system; what they
do, what they are, and how they
interact (i.e. their interfaces).
David Slauson 2016 (Facebook)
“Software architecture defines the
components of a system; what they
do, what they are, and how they
interact (i.e. their interfaces).
David Slauson 2016 (Facebook)
Difference between Architecture and Design
Architecture Design
Customer
Microservice
Customer Microservice
Customer
Controller Customer
Connector
Customer Utils
Self Assessment
Microservice
Customer
Database
2.
Architectural Styles
“Architecture patterns (ed: or
Styles) help define the basic
characteristics and behavior of
an application.
Software Architecture Patterns, Mark Richards
Layered/Tiered
Front End Layer
Business Layer
Data Layer
UtilityLayer
DomainLayer
Layered/Tiered
Front End Layer
Business Layer
Data Layer
UtilityLayer
DomainLayer
Process Layer
SOAMicroservices
Process Services
ESB
Business Services
Data Services
Service Based Architectures
Comparison
Microservices
1. Choreography
2. Own DB
3. Domain driven
4. Full Stack Teams
5. Self contained
6. Polyglot
7. Usually REST (or REST-like)
8. Less Coupled
SOA
1. Orchestration
2. Shared DB
3. BPM Driven
4. Factories
5. Separately deployable
6. Technology limited
7. Usually SOAP (over HTTP or JMS)
8. More Coupled
REST
Described by Roy Fielding in his 2000 thesis.
“REST is defined by four interface constraints: identification of
resources; manipulation of resources through representations; self-
descriptive messages; and, hypermedia as the engine of application
state”
Other Architectural Styles
Event-Driven Architectures
Microkernel Architectures
Space Based Architectures
3.
Principles of Architecture
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
An architecture that is not based on
achieving business goals is not a good
architecture. Not matter how “pure” it is.
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
Technical, people, infrastructure, financial,
requirements
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
Deliver an architecture to fulfill the
requirements - no more. If a response
time of 2 seconds is ok, deliver an
architecture for a 2 seconds response
time.
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
Fail to prepare, prepare to fail.
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
Complexity is a measurement of the
number of components within a system,
the number of interactions between those
components and what those interactions
look like.
Greater the complexity, the greater the
development effort, the testing effort, the
maintenance effort and support effort. It
increases the potential number of points
failure and the number of bugs.
Some architectural styles are inherently
more complex.
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
Architectural decisions that increase
complexity must be based on evidence:
Metrics
User Research
Expert Opinion
Technology Characteristics
Product Owner opinion
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
“Each software module should have one
and only one reason to change”
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
The reusability of a component is not
measured by whether or not it has been
reused, but by whether it could be reused.
Reusability is the ability of multiple clients
to reuse the same functionality.
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
Resume Driven Architecture - the
inappropriate use of a technology to
boost one’s resume.
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
Coupling components makes change
more difficult and less likely.
Some types of coupling:
External Data Structure
Data Format
Control
Common or module coupling
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
Abstraction is the hiding of
implementation details from client
systems or components.
This is usually through well defined
interfaces and components
BEWARE: Do not overdo the abstraction
12 Principles of Architecture
1. Achieve business goals
2. Constraints are King
3. Just enough is always plenty
4. Architect for Change
5. Minimise Complexity
6. Evidence Based
7. Single Responsibility Principle
8. Reusable components
9. Avoid RDA
10. Loose Coupling
11. Abstraction
12. Don’t reinvent the wheel
Use established technologies, whether
internal or 3rd party where reasonably
possible.
Use the 80/20 rule
12 Principles of Architecture
Case Study
Business Goals
Increase Customer Satisfaction through greater understanding
Increase Revenue
Business Requirements
Use real-time analytics to understand our customer better to make an
informed suggestion on Next Best Action.
Constraints
Java developers
Most development by 3rd party suppliers
2 seconds end-to-end response times
6 month initial delivery
Existing Architecture
Offline analysis through modelling produces customer and business
related values
These are fed in from the data warehouse using ETL daily and
stored in an Oracle Database
A customer component used to retrieve any and all customer
related data
A provided equation (I want to say regression equation) is used in
real time, taking in the request and customer and business related
values to produce an answer
The web uses the “decisions” to display the appropriate content
Next Phase
A real time decisioning engine has been procured, that will make use of
existing data to suggest next best actions. This has been procured on a
1 year trial basis.
Go
Upcoming talks
Rest Architectural Style
Microservices Architecture
Communicating Architecture
Web Security Fundamentals & Advanced
Strategic Domain Driven Design
Machine Learning
Intro to Git
Homework
Single Responsibility Principle - https://blog.8thlight.com/uncle-
bob/2014/05/08/SingleReponsibilityPrinciple.html
Software Architecture Patterns - http://www.oreilly.
com/programming/free/files/software-architecture-patterns.pdf
Who needs an architect? - http://martinfowler.
com/ieeeSoftware/whoNeedsArchitect.pdf
Building Microservices - Sam Newman
Architectural Styles and the design of network based software
architecture (Roy Fielding) - https://www.ics.uci.
edu/~fielding/pubs/dissertation/top.htm
https://confluence.tools.tax.service.gov.
uk/display/AR/Courses
thanks!
Any questions?

More Related Content

What's hot

Patterns of Evolutionary Architecture
Patterns of Evolutionary ArchitecturePatterns of Evolutionary Architecture
Patterns of Evolutionary Architecture
Shawn Button
 
Patterns of Evolutionary Architecture - Agile and Beyond 2018
Patterns of Evolutionary Architecture - Agile and Beyond 2018Patterns of Evolutionary Architecture - Agile and Beyond 2018
Patterns of Evolutionary Architecture - Agile and Beyond 2018
Shawn Button
 
Oop 2014 sw architekt v3
Oop 2014 sw architekt v3Oop 2014 sw architekt v3
Oop 2014 sw architekt v3
Michael Stal
 
Basic Engineering Design (Part 1): Identify the Problem
Basic Engineering Design (Part 1):  Identify the ProblemBasic Engineering Design (Part 1):  Identify the Problem
Basic Engineering Design (Part 1): Identify the Problem
Denise Wilson
 
A complexity approach to managing technology enabled business transformation ...
A complexity approach to managing technology enabled business transformation ...A complexity approach to managing technology enabled business transformation ...
A complexity approach to managing technology enabled business transformation ...
Mikkel Brahm
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
adesso AG
 
Chapter2 framework-for-design
Chapter2 framework-for-designChapter2 framework-for-design
Chapter2 framework-for-design
Vin Voro
 
Cs 1023 lec 5 (week 1) edit 1
Cs 1023 lec 5 (week 1) edit 1Cs 1023 lec 5 (week 1) edit 1
Cs 1023 lec 5 (week 1) edit 1stanbridge
 
Framing the Problem
Framing the ProblemFraming the Problem
Framing the Problem
Kevlin Henney
 
Design process
Design processDesign process
Design process
Divonis.com
 
software-architecture-patterns
software-architecture-patternssoftware-architecture-patterns
software-architecture-patterns
Pallav Kumar
 

What's hot (11)

Patterns of Evolutionary Architecture
Patterns of Evolutionary ArchitecturePatterns of Evolutionary Architecture
Patterns of Evolutionary Architecture
 
Patterns of Evolutionary Architecture - Agile and Beyond 2018
Patterns of Evolutionary Architecture - Agile and Beyond 2018Patterns of Evolutionary Architecture - Agile and Beyond 2018
Patterns of Evolutionary Architecture - Agile and Beyond 2018
 
Oop 2014 sw architekt v3
Oop 2014 sw architekt v3Oop 2014 sw architekt v3
Oop 2014 sw architekt v3
 
Basic Engineering Design (Part 1): Identify the Problem
Basic Engineering Design (Part 1):  Identify the ProblemBasic Engineering Design (Part 1):  Identify the Problem
Basic Engineering Design (Part 1): Identify the Problem
 
A complexity approach to managing technology enabled business transformation ...
A complexity approach to managing technology enabled business transformation ...A complexity approach to managing technology enabled business transformation ...
A complexity approach to managing technology enabled business transformation ...
 
10 Hinweise für Architekten
10 Hinweise für Architekten10 Hinweise für Architekten
10 Hinweise für Architekten
 
Chapter2 framework-for-design
Chapter2 framework-for-designChapter2 framework-for-design
Chapter2 framework-for-design
 
Cs 1023 lec 5 (week 1) edit 1
Cs 1023 lec 5 (week 1) edit 1Cs 1023 lec 5 (week 1) edit 1
Cs 1023 lec 5 (week 1) edit 1
 
Framing the Problem
Framing the ProblemFraming the Problem
Framing the Problem
 
Design process
Design processDesign process
Design process
 
software-architecture-patterns
software-architecture-patternssoftware-architecture-patterns
software-architecture-patterns
 

Viewers also liked

Learning to Love Humans: Emotional Interface Design
Learning to Love Humans: Emotional Interface DesignLearning to Love Humans: Emotional Interface Design
Learning to Love Humans: Emotional Interface Design
Aarron Walter
 
CHUPA Exhibits 2015
CHUPA Exhibits 2015CHUPA Exhibits 2015
CHUPA Exhibits 2015
CHUPA Pte Ltd
 
Emotional design & Design for emotion
Emotional design & Design for emotion Emotional design & Design for emotion
Emotional design & Design for emotion
Ftma hndy
 
551udl
551udl551udl
551udl
Carla Piper
 
Considering Socio-cultural Sustainability in the Architectural Design Process...
Considering Socio-cultural Sustainability in the Architectural Design Process...Considering Socio-cultural Sustainability in the Architectural Design Process...
Considering Socio-cultural Sustainability in the Architectural Design Process...
Galala University
 
Architecture Debates مناظرات معمارية
Architecture Debates مناظرات معمارية Architecture Debates مناظرات معمارية
Architecture Debates مناظرات معمارية
Galala University
 
Restful design principles
Restful design principlesRestful design principles
Restful design principles
Geison Goes
 
Emotion Driven design
Emotion Driven designEmotion Driven design
Emotion Driven design
Reactful
 
Oh Behave! - How to stimulate (positive) behaviour through emotion-driven des...
Oh Behave! - How to stimulate (positive) behaviour through emotion-driven des...Oh Behave! - How to stimulate (positive) behaviour through emotion-driven des...
Oh Behave! - How to stimulate (positive) behaviour through emotion-driven des...
Marco van Hout
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 10 Aesthetics
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 10 AestheticsArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 10 Aesthetics
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 10 Aesthetics
Galala University
 
Privacy (architectural behaviour)
Privacy (architectural behaviour)Privacy (architectural behaviour)
Privacy (architectural behaviour)
Anuoluwaposimi
 
Interiors
InteriorsInteriors
Interiors
Tanzil Faraz
 
motivation model
motivation modelmotivation model
motivation model
Dileep Masanakatti
 
Principles
PrinciplesPrinciples
Principles
mattluebke
 
Emotional Design & Human Behavior
Emotional Design & Human BehaviorEmotional Design & Human Behavior
Emotional Design & Human Behavior
Lillian Ayla Ersoy
 
Three levels of design
Three levels of designThree levels of design
Three levels of design
Pixelkings
 
Emotion Driven Design
Emotion Driven DesignEmotion Driven Design
Emotion Driven Design
Lillian Ayla Ersoy
 
Design for Emotion and Flow
Design for Emotion and FlowDesign for Emotion and Flow
Design for Emotion and Flow
Trevor van Gorp
 
M Arch Living Architecture
M Arch Living ArchitectureM Arch Living Architecture
M Arch Living Architecture
Rachel Armstrong
 
humanities principle of visual art
humanities principle of visual arthumanities principle of visual art
humanities principle of visual art
ayacastillo25
 

Viewers also liked (20)

Learning to Love Humans: Emotional Interface Design
Learning to Love Humans: Emotional Interface DesignLearning to Love Humans: Emotional Interface Design
Learning to Love Humans: Emotional Interface Design
 
CHUPA Exhibits 2015
CHUPA Exhibits 2015CHUPA Exhibits 2015
CHUPA Exhibits 2015
 
Emotional design & Design for emotion
Emotional design & Design for emotion Emotional design & Design for emotion
Emotional design & Design for emotion
 
551udl
551udl551udl
551udl
 
Considering Socio-cultural Sustainability in the Architectural Design Process...
Considering Socio-cultural Sustainability in the Architectural Design Process...Considering Socio-cultural Sustainability in the Architectural Design Process...
Considering Socio-cultural Sustainability in the Architectural Design Process...
 
Architecture Debates مناظرات معمارية
Architecture Debates مناظرات معمارية Architecture Debates مناظرات معمارية
Architecture Debates مناظرات معمارية
 
Restful design principles
Restful design principlesRestful design principles
Restful design principles
 
Emotion Driven design
Emotion Driven designEmotion Driven design
Emotion Driven design
 
Oh Behave! - How to stimulate (positive) behaviour through emotion-driven des...
Oh Behave! - How to stimulate (positive) behaviour through emotion-driven des...Oh Behave! - How to stimulate (positive) behaviour through emotion-driven des...
Oh Behave! - How to stimulate (positive) behaviour through emotion-driven des...
 
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 10 Aesthetics
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 10 AestheticsArchitectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 10 Aesthetics
Architectural Design 1 Lectures by Dr. Yasser Mahgoub - Lecture 10 Aesthetics
 
Privacy (architectural behaviour)
Privacy (architectural behaviour)Privacy (architectural behaviour)
Privacy (architectural behaviour)
 
Interiors
InteriorsInteriors
Interiors
 
motivation model
motivation modelmotivation model
motivation model
 
Principles
PrinciplesPrinciples
Principles
 
Emotional Design & Human Behavior
Emotional Design & Human BehaviorEmotional Design & Human Behavior
Emotional Design & Human Behavior
 
Three levels of design
Three levels of designThree levels of design
Three levels of design
 
Emotion Driven Design
Emotion Driven DesignEmotion Driven Design
Emotion Driven Design
 
Design for Emotion and Flow
Design for Emotion and FlowDesign for Emotion and Flow
Design for Emotion and Flow
 
M Arch Living Architecture
M Arch Living ArchitectureM Arch Living Architecture
M Arch Living Architecture
 
humanities principle of visual art
humanities principle of visual arthumanities principle of visual art
humanities principle of visual art
 

Similar to Architecture fundamentals

Bring your own architecture
Bring your own architectureBring your own architecture
Bring your own architecture
Gernot Schulmeister
 
NAFIS Presentation
NAFIS PresentationNAFIS Presentation
NAFIS Presentation
thardiman
 
Design Principles.pdf
Design Principles.pdfDesign Principles.pdf
Design Principles.pdf
MangeshKetkar1
 
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
Uwe Friedrichsen
 
Acing architecture
Acing architectureAcing architecture
Acing architecture
Colin Lee
 
Design in construction
Design in constructionDesign in construction
Design in construction
Asha Sari
 
Design in construction
Design in constructionDesign in construction
Design in construction
Asha Sari
 
5 Factors in Modern Data Design
5 Factors in Modern Data Design5 Factors in Modern Data Design
5 Factors in Modern Data Design
Dan Sexton
 
Mi 291 chapter 2 (engineering analsysis)
Mi 291 chapter 2 (engineering analsysis)Mi 291 chapter 2 (engineering analsysis)
Mi 291 chapter 2 (engineering analsysis)
varun teja G.V.V
 
Essay On Stage Scheduling
Essay On Stage SchedulingEssay On Stage Scheduling
Essay On Stage Scheduling
Jessica Lopez
 
Masterclass architectural thinking
Masterclass architectural thinkingMasterclass architectural thinking
Masterclass architectural thinking
Wolfgang Göbl
 
TASK 3 SUBMISSION DOCUMENT
TASK 3 SUBMISSION DOCUMENTTASK 3 SUBMISSION DOCUMENT
TASK 3 SUBMISSION DOCUMENT
David Vede
 
How do you design
How do you designHow do you design
How do you design
Geoffrey Dorne
 
Fall Accidents Caused By Accidents
Fall Accidents Caused By AccidentsFall Accidents Caused By Accidents
Fall Accidents Caused By Accidents
Ann Johnson
 
Jerry Walker - without a plan
Jerry Walker - without a planJerry Walker - without a plan
Jerry Walker - without a plan
Paul Ellarby
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
Ian Sommerville
 
Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}
Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}
Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}
Mumbai B.Sc.IT Study
 
Leaning towards Sustainability
Leaning towards SustainabilityLeaning towards Sustainability
Leaning towards Sustainability
AndrewKinsey
 
Things To Unlearn In Software Development
Things To Unlearn In Software DevelopmentThings To Unlearn In Software Development
Things To Unlearn In Software Development
Alexey Krivitsky
 
Why Do Accidents Still Occur On Modern Day Construction...
Why Do Accidents Still Occur On Modern Day Construction...Why Do Accidents Still Occur On Modern Day Construction...
Why Do Accidents Still Occur On Modern Day Construction...
Stephanie Clark
 

Similar to Architecture fundamentals (20)

Bring your own architecture
Bring your own architectureBring your own architecture
Bring your own architecture
 
NAFIS Presentation
NAFIS PresentationNAFIS Presentation
NAFIS Presentation
 
Design Principles.pdf
Design Principles.pdfDesign Principles.pdf
Design Principles.pdf
 
Excavating the knowledge of our ancestors
Excavating the knowledge of our ancestorsExcavating the knowledge of our ancestors
Excavating the knowledge of our ancestors
 
Acing architecture
Acing architectureAcing architecture
Acing architecture
 
Design in construction
Design in constructionDesign in construction
Design in construction
 
Design in construction
Design in constructionDesign in construction
Design in construction
 
5 Factors in Modern Data Design
5 Factors in Modern Data Design5 Factors in Modern Data Design
5 Factors in Modern Data Design
 
Mi 291 chapter 2 (engineering analsysis)
Mi 291 chapter 2 (engineering analsysis)Mi 291 chapter 2 (engineering analsysis)
Mi 291 chapter 2 (engineering analsysis)
 
Essay On Stage Scheduling
Essay On Stage SchedulingEssay On Stage Scheduling
Essay On Stage Scheduling
 
Masterclass architectural thinking
Masterclass architectural thinkingMasterclass architectural thinking
Masterclass architectural thinking
 
TASK 3 SUBMISSION DOCUMENT
TASK 3 SUBMISSION DOCUMENTTASK 3 SUBMISSION DOCUMENT
TASK 3 SUBMISSION DOCUMENT
 
How do you design
How do you designHow do you design
How do you design
 
Fall Accidents Caused By Accidents
Fall Accidents Caused By AccidentsFall Accidents Caused By Accidents
Fall Accidents Caused By Accidents
 
Jerry Walker - without a plan
Jerry Walker - without a planJerry Walker - without a plan
Jerry Walker - without a plan
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}
Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}
Project Management (April - 2017) [CBSGS - Paper Solution] {Mumbai University}
 
Leaning towards Sustainability
Leaning towards SustainabilityLeaning towards Sustainability
Leaning towards Sustainability
 
Things To Unlearn In Software Development
Things To Unlearn In Software DevelopmentThings To Unlearn In Software Development
Things To Unlearn In Software Development
 
Why Do Accidents Still Occur On Modern Day Construction...
Why Do Accidents Still Occur On Modern Day Construction...Why Do Accidents Still Occur On Modern Day Construction...
Why Do Accidents Still Occur On Modern Day Construction...
 

More from Reda Hmeid MBCS

Custom built software and blts are not the same
Custom built software and blts are not the sameCustom built software and blts are not the same
Custom built software and blts are not the same
Reda Hmeid MBCS
 
Building beautiful apis
Building beautiful apisBuilding beautiful apis
Building beautiful apis
Reda Hmeid MBCS
 
Make architecture great again
Make architecture great againMake architecture great again
Make architecture great again
Reda Hmeid MBCS
 
The rise of the agile architect
The rise of the agile architectThe rise of the agile architect
The rise of the agile architect
Reda Hmeid MBCS
 
The Rise of the Agile Architect
The Rise of the Agile ArchitectThe Rise of the Agile Architect
The Rise of the Agile Architect
Reda Hmeid MBCS
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIs
Reda Hmeid MBCS
 
5 Golden Rules to Building APIs
5 Golden Rules to Building APIs5 Golden Rules to Building APIs
5 Golden Rules to Building APIs
Reda Hmeid MBCS
 

More from Reda Hmeid MBCS (7)

Custom built software and blts are not the same
Custom built software and blts are not the sameCustom built software and blts are not the same
Custom built software and blts are not the same
 
Building beautiful apis
Building beautiful apisBuilding beautiful apis
Building beautiful apis
 
Make architecture great again
Make architecture great againMake architecture great again
Make architecture great again
 
The rise of the agile architect
The rise of the agile architectThe rise of the agile architect
The rise of the agile architect
 
The Rise of the Agile Architect
The Rise of the Agile ArchitectThe Rise of the Agile Architect
The Rise of the Agile Architect
 
Practical guide to building public APIs
Practical guide to building public APIsPractical guide to building public APIs
Practical guide to building public APIs
 
5 Golden Rules to Building APIs
5 Golden Rules to Building APIs5 Golden Rules to Building APIs
5 Golden Rules to Building APIs
 

Recently uploaded

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
Neo4j
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
IndexBug
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
Zilliz
 

Recently uploaded (20)

20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
GraphSummit Singapore | Neo4j Product Vision & Roadmap - Q2 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial IntelligenceAI 101: An Introduction to the Basics and Impact of Artificial Intelligence
AI 101: An Introduction to the Basics and Impact of Artificial Intelligence
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Building Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and MilvusBuilding Production Ready Search Pipelines with Spark and Milvus
Building Production Ready Search Pipelines with Spark and Milvus
 

Architecture fundamentals

  • 3. Learning Objectives How architecture benefits me How architecture benefits my project What is architecture How an architect fits in
  • 4. Agenda Boring stuff about me What is Architecture? Architectural Styles Principles of Architecture Case Study
  • 6. A bit more about me Middlesex County Schools u15 Rugby Champion Middlesex County Schools u15 Rugby Player British Junior Kickboxing Champion 1992 Leading goalscorer of all time for HH in British Airways 7 a-side league Managed 10 press-ups in a row a month ago
  • 7. 1. What is Architecture? Just drawing some boxes
  • 9. Some thoughts Boxes with lines between them in some sensible manner. Tex Soh A clear map of the physical nature of the system/s with which you are working. Andrew Bateson
  • 10. “Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints. Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
  • 11. “Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints. Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
  • 12. “Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints. Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
  • 13. “Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints. Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
  • 14. “Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints. Planning a Computer System: Project Stretch, ed. W. Buchholz, 1962
  • 15. “Software architecture defines the components of a system; what they do, what they are, and how they interact (i.e. their interfaces). David Slauson 2016 (Facebook)
  • 16. “Software architecture defines the components of a system; what they do, what they are, and how they interact (i.e. their interfaces). David Slauson 2016 (Facebook)
  • 17. “Software architecture defines the components of a system; what they do, what they are, and how they interact (i.e. their interfaces). David Slauson 2016 (Facebook)
  • 18. “Software architecture defines the components of a system; what they do, what they are, and how they interact (i.e. their interfaces). David Slauson 2016 (Facebook)
  • 19. Difference between Architecture and Design Architecture Design Customer Microservice Customer Microservice Customer Controller Customer Connector Customer Utils Self Assessment Microservice Customer Database
  • 21. “Architecture patterns (ed: or Styles) help define the basic characteristics and behavior of an application. Software Architecture Patterns, Mark Richards
  • 22. Layered/Tiered Front End Layer Business Layer Data Layer UtilityLayer DomainLayer
  • 23. Layered/Tiered Front End Layer Business Layer Data Layer UtilityLayer DomainLayer Process Layer
  • 24. SOAMicroservices Process Services ESB Business Services Data Services Service Based Architectures
  • 25. Comparison Microservices 1. Choreography 2. Own DB 3. Domain driven 4. Full Stack Teams 5. Self contained 6. Polyglot 7. Usually REST (or REST-like) 8. Less Coupled SOA 1. Orchestration 2. Shared DB 3. BPM Driven 4. Factories 5. Separately deployable 6. Technology limited 7. Usually SOAP (over HTTP or JMS) 8. More Coupled
  • 26. REST Described by Roy Fielding in his 2000 thesis. “REST is defined by four interface constraints: identification of resources; manipulation of resources through representations; self- descriptive messages; and, hypermedia as the engine of application state”
  • 27. Other Architectural Styles Event-Driven Architectures Microkernel Architectures Space Based Architectures
  • 29. 12 Principles of Architecture 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel
  • 30. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel An architecture that is not based on achieving business goals is not a good architecture. Not matter how “pure” it is. 12 Principles of Architecture
  • 31. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel Technical, people, infrastructure, financial, requirements 12 Principles of Architecture
  • 32. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel Deliver an architecture to fulfill the requirements - no more. If a response time of 2 seconds is ok, deliver an architecture for a 2 seconds response time. 12 Principles of Architecture
  • 33. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel Fail to prepare, prepare to fail. 12 Principles of Architecture
  • 34. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel Complexity is a measurement of the number of components within a system, the number of interactions between those components and what those interactions look like. Greater the complexity, the greater the development effort, the testing effort, the maintenance effort and support effort. It increases the potential number of points failure and the number of bugs. Some architectural styles are inherently more complex. 12 Principles of Architecture
  • 35. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel Architectural decisions that increase complexity must be based on evidence: Metrics User Research Expert Opinion Technology Characteristics Product Owner opinion 12 Principles of Architecture
  • 36. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel “Each software module should have one and only one reason to change” 12 Principles of Architecture
  • 37. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel The reusability of a component is not measured by whether or not it has been reused, but by whether it could be reused. Reusability is the ability of multiple clients to reuse the same functionality. 12 Principles of Architecture
  • 38. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel Resume Driven Architecture - the inappropriate use of a technology to boost one’s resume. 12 Principles of Architecture
  • 39. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel Coupling components makes change more difficult and less likely. Some types of coupling: External Data Structure Data Format Control Common or module coupling 12 Principles of Architecture
  • 40. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel Abstraction is the hiding of implementation details from client systems or components. This is usually through well defined interfaces and components BEWARE: Do not overdo the abstraction 12 Principles of Architecture
  • 41. 1. Achieve business goals 2. Constraints are King 3. Just enough is always plenty 4. Architect for Change 5. Minimise Complexity 6. Evidence Based 7. Single Responsibility Principle 8. Reusable components 9. Avoid RDA 10. Loose Coupling 11. Abstraction 12. Don’t reinvent the wheel Use established technologies, whether internal or 3rd party where reasonably possible. Use the 80/20 rule 12 Principles of Architecture
  • 43. Business Goals Increase Customer Satisfaction through greater understanding Increase Revenue
  • 44. Business Requirements Use real-time analytics to understand our customer better to make an informed suggestion on Next Best Action.
  • 45. Constraints Java developers Most development by 3rd party suppliers 2 seconds end-to-end response times 6 month initial delivery
  • 46. Existing Architecture Offline analysis through modelling produces customer and business related values These are fed in from the data warehouse using ETL daily and stored in an Oracle Database A customer component used to retrieve any and all customer related data A provided equation (I want to say regression equation) is used in real time, taking in the request and customer and business related values to produce an answer The web uses the “decisions” to display the appropriate content
  • 47. Next Phase A real time decisioning engine has been procured, that will make use of existing data to suggest next best actions. This has been procured on a 1 year trial basis.
  • 48. Go
  • 50. Rest Architectural Style Microservices Architecture Communicating Architecture Web Security Fundamentals & Advanced Strategic Domain Driven Design Machine Learning Intro to Git
  • 52. Single Responsibility Principle - https://blog.8thlight.com/uncle- bob/2014/05/08/SingleReponsibilityPrinciple.html Software Architecture Patterns - http://www.oreilly. com/programming/free/files/software-architecture-patterns.pdf Who needs an architect? - http://martinfowler. com/ieeeSoftware/whoNeedsArchitect.pdf Building Microservices - Sam Newman Architectural Styles and the design of network based software architecture (Roy Fielding) - https://www.ics.uci. edu/~fielding/pubs/dissertation/top.htm