safintro
safintro
safintro
Arnon Rotem-Gal-Oz
Product Line Architect
www.rgoarchitects.com
What SAF isn’t
Detailed guidance on how to design
your next architecture
Prescriptive Process
So why do I need SAF
Congratulations !!!
You are the new lead Architect for Project X
What SAF is
An Architecture Framework
Activities – focus on needs
Techniques to help accomplish the
activities
Focused on Solution/Project
architecture
Lightweight
Core Activities
S – identify Stakeholders
P – set Principles, guidelines & constraints
A – define quality Attributes
M – Model
M –Map to technology
E – Evaluate
D - Deploy
identify Stakeholders
The Usual Suspects
Customer Security Analysts
End-User Project New
Project Manager comers
Management
Testers
Developers
Customer’s IT
group
Maintainers
Mapping Stakeholders
High
Keep Manage
Satisfied Closely
Concern
Importance
(or Power)
Monitor Keep
(Minimum Effort) Informed
low
low High
Interest
Based on Schekkerman - IEAD
set Principles, guidelines &
constraints
Principles & Guideline
Set an direction for the solution
Rationale/Benefits
Easier to purchase, deploy, upgrade
Easier to solve security, performance
issues
Enables administrator specialization
Multiple Tiers (2/2)
principle example
Implications
Need to carefully consider
communications of
layers/components/services that cross
tier boundaries
Alternatives
Single-Tier
N-Tiers (i.e. preset number of tiers)
Scope
Installable modules
Other examples
Principles
Layered architecture, federated database
Guidance
At least 2 threads on UI
Constraints
Technical – Platform/technology (e.g.
use .NET)
Financial – Budget (don’t event think about
that fancy Rule Engine)
define quality Attributes
System Quality Attribute
Performance
Availability
Time To Market
Cost and Benefits
Usability
End User’s view Projected life time Business
Security Community
Targeted Market
Integration with view
Legacy System
Maintainabilit Roll back
y Schedule
Portability
Developer’s view
Reusability
Testability
Growth scenario
Add a new data server to reduce latency in scenario 1 to 2.5
seconds within 1 person-week.
For a new release, integrate a new component implementation in
three weeks.
Exploratory scenario
Half of the servers go down during normal operation without
affecting overall system availability.
Scenarios examples (2/3)
Performance
Response
Under normal conditions update 100 moving
objects on the map < 200 milisecons
Latency
Under normal or stress conditions, a critical
alert generated by the system will be
displayed to the user in less than 1 second
Data loss
Under all conditions a message acknowledged
by the system shall not be lost (10^5
probability)
Scenarios example (3/3)
Availability
Hardware failure
When a mission is in progress, upon a server
mal-function, the system will be fully operable
within 30 seconds or less
Changeability
Add Feature
Add a new sensor-type to the system in 2
man-months or less
Model
Choose views
To satisfy stakeholders’ concerns
«Service»
Alerts
UI
«Service»
ESB Ow nSite
«Service»
COP
«Service»
Nav igation
Services & ESB – take 2
Alerts
COP Navigatio
ESB n
UI Own
Site
Map to tools/technology
Mapping
Work in lock-step with design
Scenarios
Strategy
A. Perform B. C. D.
no Incrementall Completel Completely
rearchitectin y wrap y port port
g. Maintain existing ABC existing existing
with minimal application ABC ABC
effort the components application applications
existing ABC in the model s to .NET. to J2EE,
application provided using
architecture. with .NET. existing
Introduce enterprise
no new frameworks.
dependencie
s on ABC
Scenario Analysis Weight components.
1. A new Value 1 Moderate Moderate- Moderate Moderate
application High
leverages the
Development 1.5 High Low High High
XYZ data store.
Cost
Operations 1 Low Low- Low Low-
Cost Moderate Moderate
Assessment 3 6 3 2.5
Based on Jeromy Carriere
LAAAM – Example (2/2)
Bohem
Final Words
SAF
S – identify Stakeholders
P – set Principles, guidelines & constraints
A – define quality Attributes
M – Model
M –Map to technology
E – Evaluate
D - Deploy