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:
- improved flexibility and
increased ability to respond to customer requested change,
- greater clarity of
responsibility – as to which code does what,
- improved code factoring –
reducing duplication within the code,
- increased consistency in
packaging rules,
- more manageable and well
understood dependencies between packages,
- improved test coverage,
- increased likelyhood of
achieving re-use,
- and, in general, greater
overall application stability and quality
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
|