iUpgradable
About • Architectural concerns
• Developer level concerns
• Upgrading phase concerns
What is your
software
architecture?
Monolithic n-Tier
SOA Microservices
SaaS
Script / Desktop
/ Web / Mobile /
Embedded
Ilities
adaptability​ agility​ customizability​
degradability​ evolvability​ extensibility​
flexibility​ interchangeability​ maintainability​
manageability​ modifiability​ modularity​
reusability ​ scalability​ upgradability​
Upgradability
Component
Service
Platform services
Code behind
Libraries
User Interface
Component
• Refactor to separate
functions
• Refactor to separate files
• Refactor to separate
assembly
Service
DEPENDENCY
INJECTION
SEPARATE
FILE
SEPARATE
CLASS
Platform Services • Cloud resources
• Infrastructure access
• External vendor service access
Code Behind
• Encapsulation
• Separation of concern
• Docker
Libraries
• Extensions
• Third party plugins
• UI libraries
User
Interface
Desktop
Web
Mobile
Front-end
applications
The bulb
• Never modify external
libraries
• Isolate versatile
implementations
• Avoid direct usage
of external libraries
• Wrap by your own
implementation
Referral Projects • ANU LRP (Web)
• DGR Hub (Microservices and Mobile)
Your
thoughts...
Thank you!

iUpgradable

Editor's Notes

  • #3 Architectural concerns Developer level concerns Upgrading phase concerns
  • #4 Monolithic n-Tier SOA Microservices SaaS Script / Desktop / Web / Mobile / Embedded
  • #6 Component Service Platform services Code behind Libraries User Interface
  • #7 Refactor to separate functions Refactor to separate files Refactor to separate assembly
  • #8 Dependency Injection Separate file Separate class
  • #9 Cloud resources Infrastructure access External vendor service access
  • #10 Encapsulation Separation of concern Docker
  • #11 Extensions Third party plugins UI libraries
  • #12 Desktop Web Mobile Front-end applications
  • #13 Never modify external libraries Isolate versatile implementations Avoid direct usage of external libraries Wrap by your own implementation
  • #14 ANU LRP (Web) DGR Hub (Microservices and Mobile)