Application Architecture

(RAT799 – 1 or 2 days)

 

This one/two day workshop explores an application architectural reference model (ARM) applicable for large scale object-oriented applications. As object-oriented applications become larger, with ever more classes and interfaces, the complexity of inter-class/interface dependencies increases – potentially exponentially. This typically manifests itself in applications becoming increasingly brittle, making change difficult and quality uncertain.

 

See www.ratio.co.uk/W13.html for an introductory article on this topic.

 

The ARM assists in managing complexity through the time honoured principle of of divide and conquer. By using the ARM and its associated - and fairly easy to apply, set of rules – your application will have a far greater coherency of structure, leading to:

 

Agenda:

 

Introduction

  • ARM overview
  • costs and benefits
  • banking system worked example
  • introductory exercises and group
  • review

 

 

 

Strata/layers  in detail – comparing and contrasting

  • Interface - initiates
  • Application - serves
  • Domain - represents
  • Infrastructure – assists
  • Platform – underpins
  • Video stores worked example
  • Group exercises and discussion

Advanced ARM-our (1)

  • ARM and CCP/CRP
  • ARM and centre of gravity (the “push
  • it down” rule)
  • ARM and dependency injection
  • ARM and automated testing
  • ARM and domain decoupling
  • ARM and sub-system structuring
  • Email system worked example
  • group exercises and discussion

 

Advanced ARM-our (2)

  • ARM and relational databases
  • ARM and distributed systems
  • ARM as a discussion tool
  • The agile package map
  • Hotel reservation system worked
  • example
  • Group exercises and discussion