saf

54
Getting SPAMMED for architecture Arnon Rotem-Gal-Oz Biometrics Line Development Manager Rafael LTD. Haifa, Israel [email protected]

Upload: arnon-rotem-gal-oz

Post on 10-May-2015

368 views

Category:

Technology


4 download

DESCRIPTION

An presentation I gave in 2007 on architecture and the architecture process

TRANSCRIPT

Page 1: SAF

Getting SPAMMED for architecture

Arnon Rotem-Gal-Oz

Biometrics Line Development Manager

Rafael LTD.

Haifa, Israel

[email protected]

Page 2: SAF

Famous Last Words…

“It is a very humbling experience to make a multimillion-dollar mistake, but it is also very memorable….”

(Fred Brooks - “Mythical Man-Month” p.47)

Page 3: SAF

We don’t want to get there

Page 4: SAF

So, What is Software Architecture exactly?

Page 5: SAF

Software architecture is the fundamental organization of a system, embodied in its components, their relationships to each other and the environment, and the principles governing its design and evolution

Page 6: SAF

The architect doesn't talk, he acts.When this is done,the team says, "Amazing:we did it, all by ourselves!" (17)

The architect observes the worldbut trusts his inner vision.He allows things to come and go.His heart is open as the sky. (12)

Philippe Kruchten - http://www.bredemeyer.com/tao_by_Kruchten.htm

Page 7: SAF

Explorer

Designer

Advocate

The role of the architect

Ron Jacobs

Yeah – but a better analogy is

Page 9: SAF

At the end of the day it is the Architect who is ultimately

responsible for the quality of the system/product

Page 10: SAF

OK, so how do we do that?

Page 11: SAF

First, who are we working for?

Page 12: SAF

The Usual Suspects

Customer End-User Project Manager Management Developers Maintainers Security Analysts

Project New comers Testers Customer’s IT group

Page 13: SAF

Mapping Stakeholders

low Highlow

High

ConcernImportance(or Power)

Interest

Monitor(Minimum Effort)

Keep Informed

Keep Satisfied

ManageClosely

Based on Schekkerman - IEAD

Page 14: SAF

Architecture Principles

Set the direction for the solution

Initial guidelines to consider for the solution

Page 15: SAF
Page 16: SAF

And there are always some constraints

Page 17: SAF

Next, we have to think about the quality Attributes

Page 18: SAF

Quality Attributes• Performance• Availability• Usability• Security

Maintainability Portability Reusability Testability

End User’s view

Developer’s view

Time To Market Cost and

Benefits Projected life

time Targeted Market Integration with

Legacy System Roll back

Schedule

BusinessCommunityview

A list of quality attributes exists inISO/IEC 9126-2001 Information Technology – Software Product Quality

Page 19: SAF

Utility

Performance

Response

Under normal conditions - update of an entity in the persistent storage <0.5 Second

Latency

Under normal or stress conditions, critical alert generated by the system will be displayed in less than 1 seconds (for generation)

Data Loss

under all conditions, a message acknowledged by the system will not be lost

Availability

Hardware Issues

Under all conditions, when a server crash, the system will resume operation in less than 30 seconds

Usability

Compliance

The system should comply with maritime data standards (e.g. Mercator projection)

Operability

The system should handle user request without impeding the user's ability to continue controlling the system (e.g. initiate additional requests)

Security

Unauthorized users

under normal conditions and connectivity the system should alert an unauthorized login attempt (intrusion) within 1 minute

Adaptability

More Users

When additional users need access to the system, add new /more hardware (to support load) under 4 man weeks

Identify scenarios

and prioritize

them using Utility trees

Page 20: SAF

Just remember that they actually look like this…

Page 21: SAF

The secret to quality attribute analysis is the scenarios

Page 22: SAF

Anatomy of a scenario

– Under normal operation, perform a database transaction

in under 100 milliseconds.

Context Stimulus

Response

Page 23: SAF

Oh yeah – there’s also modeling and design…

Page 24: SAF

RepositoryRepository

PCPC

UIEntityUIEntity

PCPC

PCPC

MapUIC+

MapUIC+

UICUIC

UICUIC

UIEntityUIEntity

UIEntityUIEntity

MAPMAP

BusIBUS

SomeService

IBUS

SomeService

MessageHandler

MessageHandler

Root U

ICR

oot U

IC

PCPC

MessageHandler

MessageHandler

MessageHandler

MessageHandler

UICUIC

CorrelatorCorrelator

Portal

Page 25: SAF

sd Portal - Send Message

Portal Corrolator

ServiceMsg1

IBus MessageHandler MessageMapper

UIC Repository

ServiceMsg2

opt Needs new entity

loop All message handlers

1.0

1.1 Register

1.2 Send(ServiceMessage,Service)

2.0 message:=

2.1 handle(message)

2.2 entity:= Build(message)

2.3 insertEntity(entity)

2.4 RepositoryChanged

2.5 CorrelatedMessageRecieved

2.6 callback(cookie,EntitiesAffected)

Page 26: SAF

Metacase –www.metacase.com

Page 27: SAF

Pattern can save you the trouble of

reinventing the wheel

Page 28: SAF

If you want the architecture to be effective it

has to be communicated

Page 29: SAF

Two roads diverged in a yellow wood,And sorry I could not travel bothAnd be one traveler, long I stood

And looked down one as far as I couldTo where it bent in the undergrowth

(The road not taken, Robert Frost 1915)

Page 30: SAF

When you present an architecture you should consider your

target audience

Page 31: SAF

Compare this:id Serv ice View

UI

«Service»

COP

«Service»

Nav igation

«Service»

OwnSiteESB

«Service»

Alerts

Page 32: SAF

With this

COP

Alerts

UI OwnSite

NavigationESB

Page 33: SAF

Technology Mapping

Page 34: SAF

v

Human Workflow

ECM DW OLTP

DALService Agents

Business RulesActivity

WorkflowAu

thor

izat

ion

Monitorin

gFaçade

Log &

Trace

Exception

Man

agement

Configuration

Au

then

tica

tion

Sign

ing

Rich UI Web UI

Logistics E-PublishFinance

Page 35: SAF

K2

SQL 2005 SQL 2005

Generated C#

ILOG RulesC#

BizTalk 2004Tam

uz +

Win

200

3C

A U

nicenter

WCF

En

terprise Library

En

terprise Library

En

terprise Library

AzM

an

Sign

ing

Outlook + C# ASP.NET 2.0 on IIS 6.0

Documentum

WCF

SAP Logistics

Adobe Elements

SAP 4.6DFI

BizTalk 2004

Page 36: SAF

Where are we at?

Architecture

Quality Attributes

Technology

Patterns & Anti-patterns

Principles

Community experience

Stakeholders

Architect

people

A “deliverable”

Produce

Key

Is an input

Constraints

Page 37: SAF

OK then, so we are all set

Page 38: SAF

The architecture has to be

Evaluated to make sure it is any good

Page 39: SAF

Test Early

Total Risk ExposureRisk Exposure Reduction

TimeTime

Ris

kR

isk

Risk Reduction Period

Controlled risk management period

Total Risk Exposure

Page 40: SAF

Sometimes we need to do more formal evaluations

ATAM flow – SEI - http://www.sei.cmu.edu/architecture/ata_method.html

Page 41: SAF

Formal Evaluation Example LAAAM

• Assessment Matrix– Evaluate suitability of strategies against

scenariosValueCost

Strategies

Scenarios

Based on Jeromy Carriere

Page 42: SAF

LAAAM – Example (1/2)

Strategy

Scenario Analysis Weight

A. Perform no rearchitecting. Maintain with minimal effort the existing ABC application architecture. Introduce no new dependencies on ABC components.

B. Incrementally wrap existing ABC application components in the model provided with .NET.

C. Completely port existing ABC applications to .NET.

D. Completely port existing ABC applications to J2EE, using existing enterprise frameworks.

1. A new application leverages the XYZ data store.

Value 1 Moderate Moderate-High

Moderate Moderate

Development Cost

1.5 High Low High High

Operations Cost

1 Low Low-Moderate

Low Low-Moderate

Assessment 3 6 3 2.5

Based on Jeromy Carriere

Page 43: SAF

LAAAM – Example (2/2)

 Scenario Analysis Weight  A B C D

2. The XYZ application's presentation is customized by the user to determine layout and content.

Value 1 Low Moderate-High

High High

Development Cost

1.5 N/A Moderate Moderate-High

Moderate-High

Operations Cost

1 N/A Low-Moderate

Low Low-Moderate

Assessment 0 4.5 4.75 4.25

3. The peak transaction rate for the XYZ application increases by 10x (after scenario 2).

Value 1 Low Moderate-High

High High

Development Cost

1.5 High Low-Moderate

Moderate-High

High

Operations Cost

1 High Moderate Low Moderate

Assessment 0 4.75 4.75 3

Based on Jeromy Carriere

Page 44: SAF

All we have to do now is to deploy the

architecture

Page 45: SAF

StakeholdersPrinciplesAttributesModelingMappingEvaluationDeployment

Page 46: SAF

It is “easy” in waterfall& incremental

Page 47: SAF

Requirements

Architecture

Design

Code

Integration

Test

Requirements &

planning game

R,A,D,C,I,T (Time boxed)

R,A,D,C,I,T (Time boxed)

R,A,D,C,I,T (Time boxed)

R,A,D,C,I,T (Time boxed)

Final Test

Requirements

Architecture

Design, Code, Integrate, Tes

t

Design, Code, Integrate, Tes

t

Final

Integration

Final Test

Moving from Waterfall to Agilewaterfall

Incremental

Agile

based on Johanna Rothman

Page 48: SAF

Building in small iterationscan be dangerous

Page 49: SAF

Winchester Mystery House

Page 50: SAF

Can you do Agile Architecture?

Page 51: SAF

JEDUF vs. BDUF

Component A

Component B

Component C

Component D

Component F

Component H

Component I

Page 52: SAF

Evolve the architecture

http://www.flickr.com/photos/hyperclouds/459716791/

Page 53: SAF

Architect must implement?

Page 54: SAF

StakeholdersPrinciplesAttributesModelingMappingEvaluationDeployment