SlideShare a Scribd company logo
1 of 24
PRINCIPLES OF
SOFTWARE
ARCHITECTURE
IN RELATION TO TYPO3
TYPO3
CAMP
MÜNCHEN
11.9.2016
GERNOT SCHULMEISTER
Lives in Mönchengladbach
Developes websites with TYPO3 since Version 3.7
(2005)
Works for TeamWFP
Has a migration background and comes from
Southeast-Europe (Austria)
Likes operative CMS evaluations, Big Data,
Software Architecture, TYPO3 Events
facebook.com/gernot.schulmeister
twitter.com/mistakanista1
SEITE 2
SCHEDULE
 Definition
 Tasks of an architect
 Process of development
 Design principles
 Architecture styles
 Architecture patterns
The fundamental organization of a
software system embodied in its
components, their relationships to
each other and to the
environment and the principles
guiding its design and evolution
DEFINITION
TASKS: ARCHITECTS
 Construct, design and implement
 Evaluate, decide and consult
 Grant the fulfillment of requirements
 Document
 Communicate and are diplomats and acrobats
 Simplify
 Make assumptions and preconditions explicit
 Need courage
SEITE 5
PROCESS OF
ARCHITECTURE
DEVELOPMENT
SEITE 6
STEPS
 Gather information
 Clarify requirements: core tasks, category of system,
quality targets, relevant stakeholders, business and
technical context
 Investigate influences and side conditions
 Develop solution strategies
 Design and communicate
 Accompany implementation
SEITE 7
ARCHITECTURE
DEVELOPMENT
SEITE 9
DESIGN PRINCIPLES
SEITE 10
HEURISTICS
 Mix top-down, bottom-up & outside in strategies
 hierarchical composition & decomposition
 Separation of concerns (encapsulation)
 Information hiding & small interfaces
 Regular refactoring & redesign
 Separation of business & technical aspects
 Expect changes & switch the perspective
 Use core functions?
SEITE 11
BROKEN CORE FUNCTIONS 6.2 - 7
 TCA Filters in backend modules
 Field selection in backend modules
 Backend Links and Actions (Delete, Hide)
 Pagination & Sorting
 Submit and button values in POST array missing
 Selected value of select boxes in array
 Hooks and XClasses
 Preselect tab in record
 Date field interaction with custom calendar
SEITE 12
TECHNIQUES FOR
A GOOD DESIGN
 Loose coupling (number of relations of a block)
 High cohesion (put together what belongs together)
 Open closed principle (closed to changes, open for
extensions)
 Don´t repeat yourself
 Inversion of control (dependency injection)
 Expect errors and failures (failure first)
 Liskov substitution principle (a subclass always
substitute the base class)
SEITE 13
SEITE 14
RESOLVE CYCLIC
DEPENDENCIES
ARCHITECTURE STYLES
SEITE 15
DOMAIN DRIVEN DESIGN
SEITE 17
OTHERS
 MDA  Model driven architecture: generate code from
UML
 SOA  Service oriented architecture: Service directory,
provider & consumer is a business topic
 Microservices  Modularisation also concerning
hardware and live operation, orchestration decentral
without middleware
SEITE 18
ARCHITECTURE PATTERNS
SEITE 19
MVC MODEL VIEW
CONTROLLER
 Model holds the data
 View presents the data
 Controller processes user events,
executes business logic and
updates views
SEITE 20
MVP MODEL VIEW
PRESENTER
 Based on MVC strict separation of
model & view
 Model holds the data and the
business logic
 View: no logic only receives the user input
 Presenter: connects view with model and
controls the logical process
SEITE 21
MVVM – MODEL VIEW
VIEWMODEL
 By angular, based on MVC
 The view-model connects the model with the
view and adds presentation logic
 Loads additional data, updates the GUI
SEITE 22
PRESENTATION
ABSTRACTION CONTROL
SEITE 24
FROM CHAOS
TO STRUCTURE
 Layer architecture
 Pipes & filters: filters process data, pipes transport
intermediate results decoupling in many ways
 Used in compiler, parser, image processing
 Blackboard: specialized knowledge sources send
possible solutions of a problem to the blackboard to
find an overall solution
 Used in image and language recognition, system
surveillance
SEITE 25
SEITE 26
DISTRIBUTED SYSTEMS
 Broker: imparts between client & server
 Server sends service interface to broker
 Broker finds service for the client and connects the request and
response
 CQRS  Command Query Responsibility Segregation
 Separates commands (data changes) from Queries (reading access
to data)
 Good for parallel executions without dependencies
 Commands: ACID transactions
 Queries idempotent
CONCLUSION
 Every developer is also a little architects
 Basic architecture knowledge is useful for every
developer
 Architecture knowledge helps to understand TYPO3
better
SEITE 27

More Related Content

Viewers also liked

The current architecture of TYPO3 5.0
The current architecture of TYPO3 5.0The current architecture of TYPO3 5.0
The current architecture of TYPO3 5.0Robert Lemke
 
TYPO3 Inc. Business Model Presentation
TYPO3 Inc. Business Model PresentationTYPO3 Inc. Business Model Presentation
TYPO3 Inc. Business Model PresentationAlain Veuve
 
IPC16: A Practical Introduction to Kubernetes
IPC16: A Practical Introduction to Kubernetes IPC16: A Practical Introduction to Kubernetes
IPC16: A Practical Introduction to Kubernetes Robert Lemke
 
Introduction to Public Relations | What is PR?
Introduction to Public Relations | What is PR?Introduction to Public Relations | What is PR?
Introduction to Public Relations | What is PR?Alli Mowrey
 
Public relations and corporate image
Public relations and corporate imagePublic relations and corporate image
Public relations and corporate imageshivamrckz
 
Chap17 Public Relations, Publicity, And Corporate Advertising
Chap17 Public Relations, Publicity, And Corporate AdvertisingChap17 Public Relations, Publicity, And Corporate Advertising
Chap17 Public Relations, Publicity, And Corporate AdvertisingPhoenix media & event
 
Different Tools of Public Relations
Different Tools of Public RelationsDifferent Tools of Public Relations
Different Tools of Public RelationsHousefull1234567890
 

Viewers also liked (10)

TYPO3 
Infrastructure
TYPO3 
InfrastructureTYPO3 
Infrastructure
TYPO3 
Infrastructure
 
The current architecture of TYPO3 5.0
The current architecture of TYPO3 5.0The current architecture of TYPO3 5.0
The current architecture of TYPO3 5.0
 
TYPO3 Inc. Business Model Presentation
TYPO3 Inc. Business Model PresentationTYPO3 Inc. Business Model Presentation
TYPO3 Inc. Business Model Presentation
 
IPC16: A Practical Introduction to Kubernetes
IPC16: A Practical Introduction to Kubernetes IPC16: A Practical Introduction to Kubernetes
IPC16: A Practical Introduction to Kubernetes
 
Introduction to Public Relations | What is PR?
Introduction to Public Relations | What is PR?Introduction to Public Relations | What is PR?
Introduction to Public Relations | What is PR?
 
Public relations and corporate image
Public relations and corporate imagePublic relations and corporate image
Public relations and corporate image
 
Chap17 Public Relations, Publicity, And Corporate Advertising
Chap17 Public Relations, Publicity, And Corporate AdvertisingChap17 Public Relations, Publicity, And Corporate Advertising
Chap17 Public Relations, Publicity, And Corporate Advertising
 
Public Relations
Public RelationsPublic Relations
Public Relations
 
Workspaces in TYPO3
Workspaces in TYPO3Workspaces in TYPO3
Workspaces in TYPO3
 
Different Tools of Public Relations
Different Tools of Public RelationsDifferent Tools of Public Relations
Different Tools of Public Relations
 

Similar to Architecture & TYPO3

Architecture principles in relation to TYPO3
Architecture principles in relation to TYPO3Architecture principles in relation to TYPO3
Architecture principles in relation to TYPO3Gernot Schulmeister
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1stanbridge
 
Approaches To System Development
Approaches To System DevelopmentApproaches To System Development
Approaches To System DevelopmentHenhen Lukmana
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9Ian Sommerville
 
Sodius cassidian mdday2010
Sodius cassidian mdday2010Sodius cassidian mdday2010
Sodius cassidian mdday2010MD DAY
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12NASAPMC
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software EngineeringPurvik Rana
 

Similar to Architecture & TYPO3 (20)

Architecture principles in relation to TYPO3
Architecture principles in relation to TYPO3Architecture principles in relation to TYPO3
Architecture principles in relation to TYPO3
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
Cs 1023 lec 2 (week 1) edit 1
Cs 1023  lec 2 (week 1) edit 1Cs 1023  lec 2 (week 1) edit 1
Cs 1023 lec 2 (week 1) edit 1
 
06 fse design
06 fse design06 fse design
06 fse design
 
Approaches To System Development
Approaches To System DevelopmentApproaches To System Development
Approaches To System Development
 
Chapter1
Chapter1Chapter1
Chapter1
 
UNIT 3 SE.pptx
UNIT 3 SE.pptxUNIT 3 SE.pptx
UNIT 3 SE.pptx
 
Ch6-Software Engineering 9
Ch6-Software Engineering 9Ch6-Software Engineering 9
Ch6-Software Engineering 9
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Design engineering
Design engineeringDesign engineering
Design engineering
 
Ch6 - Architectural Design
Ch6 - Architectural DesignCh6 - Architectural Design
Ch6 - Architectural Design
 
Sodius cassidian mdday2010
Sodius cassidian mdday2010Sodius cassidian mdday2010
Sodius cassidian mdday2010
 
Chapter 08
Chapter 08Chapter 08
Chapter 08
 
Brian muirhead v1-27-12
Brian muirhead v1-27-12Brian muirhead v1-27-12
Brian muirhead v1-27-12
 
Moving to Design
Moving to DesignMoving to Design
Moving to Design
 
Ch6 architectural design
Ch6 architectural designCh6 architectural design
Ch6 architectural design
 
Ch 6
Ch 6Ch 6
Ch 6
 
Bring your own architecture
Bring your own architectureBring your own architecture
Bring your own architecture
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
Software Designing - Software Engineering
Software Designing - Software EngineeringSoftware Designing - Software Engineering
Software Designing - Software Engineering
 

More from Gernot Schulmeister

More from Gernot Schulmeister (6)

Event Storming & Event Sourcing with Lagom
Event Storming & Event Sourcing with LagomEvent Storming & Event Sourcing with Lagom
Event Storming & Event Sourcing with Lagom
 
Knigge for software architects
Knigge for software architectsKnigge for software architects
Knigge for software architects
 
Marketing automation tools
Marketing automation toolsMarketing automation tools
Marketing automation tools
 
TYPO3 Backend Apps Prototype
TYPO3 Backend Apps PrototypeTYPO3 Backend Apps Prototype
TYPO3 Backend Apps Prototype
 
CMS Evaluation with test implementations
CMS Evaluation with test implementationsCMS Evaluation with test implementations
CMS Evaluation with test implementations
 
Cms evaluation
Cms evaluationCms evaluation
Cms evaluation
 

Recently uploaded

PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationLinaWolf1
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxBipin Adhikari
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012rehmti665
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书rnrncn29
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书zdzoqco
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书rnrncn29
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Sonam Pathan
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一z xss
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMartaLoveguard
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predieusebiomeyer
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一Fs
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxDyna Gilbert
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa494f574xmv
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一Fs
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Dana Luther
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhimiss dipika
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleanscorenetworkseo
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一Fs
 

Recently uploaded (20)

Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in  Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
 
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 DocumentationPHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
 
Intellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptxIntellectual property rightsand its types.pptx
Intellectual property rightsand its types.pptx
 
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
Call Girls South Delhi Delhi reach out to us at ☎ 9711199012
 
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
 
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
 
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
 
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
 
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
 
Magic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptxMagic exist by Marta Loveguard - presentation.pptx
Magic exist by Marta Loveguard - presentation.pptx
 
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is prediSCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
 
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
定制(UAL学位证)英国伦敦艺术大学毕业证成绩单原版一比一
 
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptxTop 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
 
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasaFilm cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
 
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
定制(Management毕业证书)新加坡管理大学毕业证成绩单原版一比一
 
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
Packaging the Monolith - PHP Tek 2024 (Breaking it down one bite at a time)
 
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New DelhiContact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
 
Elevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New OrleansElevate Your Business with Our IT Expertise in New Orleans
Elevate Your Business with Our IT Expertise in New Orleans
 
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
 
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
定制(AUT毕业证书)新西兰奥克兰理工大学毕业证成绩单原版一比一
 

Architecture & TYPO3

  • 1. PRINCIPLES OF SOFTWARE ARCHITECTURE IN RELATION TO TYPO3 TYPO3 CAMP MÜNCHEN 11.9.2016
  • 2. GERNOT SCHULMEISTER Lives in Mönchengladbach Developes websites with TYPO3 since Version 3.7 (2005) Works for TeamWFP Has a migration background and comes from Southeast-Europe (Austria) Likes operative CMS evaluations, Big Data, Software Architecture, TYPO3 Events facebook.com/gernot.schulmeister twitter.com/mistakanista1 SEITE 2
  • 3. SCHEDULE  Definition  Tasks of an architect  Process of development  Design principles  Architecture styles  Architecture patterns
  • 4. The fundamental organization of a software system embodied in its components, their relationships to each other and to the environment and the principles guiding its design and evolution DEFINITION
  • 5. TASKS: ARCHITECTS  Construct, design and implement  Evaluate, decide and consult  Grant the fulfillment of requirements  Document  Communicate and are diplomats and acrobats  Simplify  Make assumptions and preconditions explicit  Need courage SEITE 5
  • 7. STEPS  Gather information  Clarify requirements: core tasks, category of system, quality targets, relevant stakeholders, business and technical context  Investigate influences and side conditions  Develop solution strategies  Design and communicate  Accompany implementation SEITE 7
  • 10. HEURISTICS  Mix top-down, bottom-up & outside in strategies  hierarchical composition & decomposition  Separation of concerns (encapsulation)  Information hiding & small interfaces  Regular refactoring & redesign  Separation of business & technical aspects  Expect changes & switch the perspective  Use core functions? SEITE 11
  • 11. BROKEN CORE FUNCTIONS 6.2 - 7  TCA Filters in backend modules  Field selection in backend modules  Backend Links and Actions (Delete, Hide)  Pagination & Sorting  Submit and button values in POST array missing  Selected value of select boxes in array  Hooks and XClasses  Preselect tab in record  Date field interaction with custom calendar SEITE 12
  • 12. TECHNIQUES FOR A GOOD DESIGN  Loose coupling (number of relations of a block)  High cohesion (put together what belongs together)  Open closed principle (closed to changes, open for extensions)  Don´t repeat yourself  Inversion of control (dependency injection)  Expect errors and failures (failure first)  Liskov substitution principle (a subclass always substitute the base class) SEITE 13
  • 16. OTHERS  MDA  Model driven architecture: generate code from UML  SOA  Service oriented architecture: Service directory, provider & consumer is a business topic  Microservices  Modularisation also concerning hardware and live operation, orchestration decentral without middleware SEITE 18
  • 18. MVC MODEL VIEW CONTROLLER  Model holds the data  View presents the data  Controller processes user events, executes business logic and updates views SEITE 20
  • 19. MVP MODEL VIEW PRESENTER  Based on MVC strict separation of model & view  Model holds the data and the business logic  View: no logic only receives the user input  Presenter: connects view with model and controls the logical process SEITE 21
  • 20. MVVM – MODEL VIEW VIEWMODEL  By angular, based on MVC  The view-model connects the model with the view and adds presentation logic  Loads additional data, updates the GUI SEITE 22
  • 22. FROM CHAOS TO STRUCTURE  Layer architecture  Pipes & filters: filters process data, pipes transport intermediate results decoupling in many ways  Used in compiler, parser, image processing  Blackboard: specialized knowledge sources send possible solutions of a problem to the blackboard to find an overall solution  Used in image and language recognition, system surveillance SEITE 25
  • 23. SEITE 26 DISTRIBUTED SYSTEMS  Broker: imparts between client & server  Server sends service interface to broker  Broker finds service for the client and connects the request and response  CQRS  Command Query Responsibility Segregation  Separates commands (data changes) from Queries (reading access to data)  Good for parallel executions without dependencies  Commands: ACID transactions  Queries idempotent
  • 24. CONCLUSION  Every developer is also a little architects  Basic architecture knowledge is useful for every developer  Architecture knowledge helps to understand TYPO3 better SEITE 27