Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Getting SPAMMED forarchitectureArnon Rotem-Gal-OzBiometrics Line Development ManagerRafael LTD.Haifa, Israelarnon@rgoarchi...
Famous Last Words…“It is a very humbling experience to make amultimillion-dollar mistake, but it is alsovery memorable….”(...
We don’t want to get there
So, What is SoftwareArchitecture exactly?
Software architecture is thefundamental organization of a system,embodied in its components, theirrelationships to each ot...
The architect doesnt talk, he acts.When this is done,the team says, "Amazing:we did it, all by ourselves!" (17)The archite...
ExplorerDesignerAdvocateThe role of the architectRon JacobsYeah – but a better analogy is
The Role of the Architect – take IIDesignerRenaissance ManVisionary & LeaderMentor
At the end of the day it is theArchitect who is ultimatelyresponsible for the quality of thesystem/product
First, who are we working for?
The Usual SuspectsCustomer End-User Project Manager ManagementDevelopers Maintainers Security AnalystsProject New comers T...
Mapping Stakeholderslow HighlowHighConcernImportance(or Power)InterestMonitor(Minimum Effort)KeepInformedKeepSatisfiedMana...
Architecture PrinciplesSet the direction for the solutionInitial guidelines to consider for the solution
And there are always someconstraints
Next, we have to thinkabout the quality Attributes
Quality Attributes• Performance• Availability• Usability• Security Maintainability Portability Reusability Testability...
UtilityPerformanceResponseUnder normal conditions -update of an entity in thepersistent storage <0.5SecondLatencyUnder nor...
Just remember that theyactually look like this…
The secret to quality attributeanalysis is the scenarios
Anatomy of a scenario– Under normal operation, perform a database transactionin under 100 milliseconds.Context StimulusRes...
Oh yeah – there’s alsomodeling and design…
RepositoryPCUIEntityPCPCMapUIC+UICUICUIEntityUIEntityMAPBusIBUSSomeServiceMessageHandlerRootUICPCMessageHandlerMessageHand...
sd Portal - Send MessagePortal CorrolatorServiceMsg1IBus MessageHandler MessageMapperUIC RepositoryServiceMsg2opt Needs ne...
Metacase –www.metacase.com
Pattern can saveyou the trouble ofreinventing thewheel
If you want thearchitecture tobe effective ithas to becommunicated
Two roads diverged in a yellow wood,And sorry I could not travel bothAnd be one traveler, long I stoodAnd looked down one ...
When you present an architectureyou should consider yourtarget audience
Compare this:id Service ViewUI«Service»COP«Service»Navigation«Service»OwnSiteESB«Service»Alerts
With thisCOPAlertsUI OwnSiteNavigationESB
Technology Mapping
vHuman WorkflowECM DW OLTPDALService AgentsBusiness RulesActivityWorkflowAuthorizationMonitoringFaçadeLog&TraceExceptionMa...
K2SQL 2005 SQL 2005Generated C#ILOG RulesC#BizTalk 2004Tamuz+Win2003CAUnicenterWCFEnterpriseLibraryEnterpriseLibraryEnterp...
Where are we at?ArchitectureQualityAttributesTechnologyPatterns &Anti-patternsPrinciplesCommunityexperienceStakeholdersArc...
OK then, so we are all set
The architecturehas to beEvaluated to makesure it is any good
Test EarlyTotal Risk ExposureRisk Exposure ReductionTimeRiskRisk ReductionPeriodControlled risk management periodTotal Ris...
Sometimes we need to do moreformal evaluationsATAM flow – SEI - http://www.sei.cmu.edu/architecture/ata_method.html
Formal Evaluation Example LAAAM• Assessment Matrix– Evaluate suitability of strategies againstscenariosValueCostStrategies...
LAAAM – Example (1/2)StrategyScenario Analysis WeightA. Performnorearchitecting. Maintainwith minimaleffort theexisting AB...
LAAAM – Example (2/2)Scenario Analysis Weight A B C D2. The XYZapplicationspresentationis customizedby the user todetermin...
All we have todo now is todeploy thearchitecture
StakeholdersPrinciplesAttributesModelingMappingEvaluationDeployment
It is “easy” in waterfall& incremental
Requirements Architecture Design Code Integration TestRequirements& planninggameR,A,D,C,I,T(Time boxed)R,A,D,C,I,T(Time bo...
Building in small iterationscan be dangerous
Winchester Mystery House
Can you do Agile Architecture?
JEDUF vs. BDUFComponent AComponentBComponentCComponentDComponentFComponentHComponentI
Evolve thearchitecturehttp://www.flickr.com/photos/hyperclouds/459716791/
Architect mustimplement?
StakeholdersPrinciplesAttributesModelingMappingEvaluationDeployment
SAF
SAF
Upcoming SlideShare
Loading in …5
×

SAF

874 views

Published on

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

Published in: Technology
  • Be the first to comment

  • Be the first to like this

SAF

  1. 1. Getting SPAMMED forarchitectureArnon Rotem-Gal-OzBiometrics Line Development ManagerRafael LTD.Haifa, Israelarnon@rgoarchitects.com
  2. 2. Famous Last Words…“It is a very humbling experience to make amultimillion-dollar mistake, but it is alsovery memorable….”(Fred Brooks - “Mythical Man-Month” p.47)
  3. 3. We don’t want to get there
  4. 4. So, What is SoftwareArchitecture exactly?
  5. 5. Software architecture is thefundamental organization of a system,embodied in its components, theirrelationships to each other and theenvironment, and the principlesgoverning its design and evolution
  6. 6. The architect doesnt 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
  7. 7. ExplorerDesignerAdvocateThe role of the architectRon JacobsYeah – but a better analogy is
  8. 8. The Role of the Architect – take IIDesignerRenaissance ManVisionary & LeaderMentor
  9. 9. At the end of the day it is theArchitect who is ultimatelyresponsible for the quality of thesystem/product
  10. 10. First, who are we working for?
  11. 11. The Usual SuspectsCustomer End-User Project Manager ManagementDevelopers Maintainers Security AnalystsProject New comers Testers Customer’s IT group
  12. 12. Mapping Stakeholderslow HighlowHighConcernImportance(or Power)InterestMonitor(Minimum Effort)KeepInformedKeepSatisfiedManageCloselyBased on Schekkerman - IEAD
  13. 13. Architecture PrinciplesSet the direction for the solutionInitial guidelines to consider for the solution
  14. 14. And there are always someconstraints
  15. 15. Next, we have to thinkabout the quality Attributes
  16. 16. Quality Attributes• Performance• Availability• Usability• Security Maintainability Portability Reusability TestabilityEnd User’s viewDeveloper’s view Time To Market Cost andBenefits Projected lifetime Targeted Market Integration withLegacy System Roll backScheduleBusinessCommunityviewA list of quality attributes exists inISO/IEC 9126-2001 Information Technology – Software Product Quality
  17. 17. UtilityPerformanceResponseUnder normal conditions -update of an entity in thepersistent storage <0.5SecondLatencyUnder normal or stressconditions, critical alertgenerated by the system willbe displayed in less than 1seconds (for generation)Data Lossunder all conditions, amessage acknowledged bythe system will not be lostAvailability Hardware IssuesUnder all conditions, when aserver crash, the system willresume operation in lessthan 30 secondsUsabilityComplianceThe system should complywith maritime datastandards (e.g. Mercatorprojection)OperabilityThe system should handleuser request withoutimpeding the users ability tocontinue controlling thesystem (e.g. initiateadditional requests)SecurityUnauthorizedusersunder normal conditions andconnectivity the systemshould alert an unauthorizedlogin attempt (intrusion)within 1 minuteAdaptability More UsersWhen additional users needaccess to the system, addnew /more hardware (tosupport load) under 4 manweeksIdentifyscenariosandprioritizethem usingUtility trees
  18. 18. Just remember that theyactually look like this…
  19. 19. The secret to quality attributeanalysis is the scenarios
  20. 20. Anatomy of a scenario– Under normal operation, perform a database transactionin under 100 milliseconds.Context StimulusResponse
  21. 21. Oh yeah – there’s alsomodeling and design…
  22. 22. RepositoryPCUIEntityPCPCMapUIC+UICUICUIEntityUIEntityMAPBusIBUSSomeServiceMessageHandlerRootUICPCMessageHandlerMessageHandlerUICCorrelatorPortal
  23. 23. sd Portal - Send MessagePortal CorrolatorServiceMsg1IBus MessageHandler MessageMapperUIC RepositoryServiceMsg2opt Needs new entityloop All message handlers1.01.1 Register1.2 Send(ServiceMessage,Service)2.0 message:=2.1 handle(message)2.2 entity:= Build(message)2.3 insertEntity(entity)2.4 RepositoryChanged2.5 CorrelatedMessageRecieved2.6 callback(cookie,EntitiesAffected)
  24. 24. Metacase –www.metacase.com
  25. 25. Pattern can saveyou the trouble ofreinventing thewheel
  26. 26. If you want thearchitecture tobe effective ithas to becommunicated
  27. 27. Two roads diverged in a yellow wood,And sorry I could not travel bothAnd be one traveler, long I stoodAnd looked down one as far as I couldTo where it bent in the undergrowth(The road not taken, Robert Frost 1915)
  28. 28. When you present an architectureyou should consider yourtarget audience
  29. 29. Compare this:id Service ViewUI«Service»COP«Service»Navigation«Service»OwnSiteESB«Service»Alerts
  30. 30. With thisCOPAlertsUI OwnSiteNavigationESB
  31. 31. Technology Mapping
  32. 32. vHuman WorkflowECM DW OLTPDALService AgentsBusiness RulesActivityWorkflowAuthorizationMonitoringFaçadeLog&TraceExceptionManagementConfigurationAuthenticationSigningRich UI Web UILogistics E-PublishFinance
  33. 33. K2SQL 2005 SQL 2005Generated C#ILOG RulesC#BizTalk 2004Tamuz+Win2003CAUnicenterWCFEnterpriseLibraryEnterpriseLibraryEnterpriseLibraryAzManSigningOutlook + C# ASP.NET 2.0 on IIS 6.0DocumentumWCFSAPLogisticsAdobeElementsSAP 4.6DFIBizTalk 2004
  34. 34. Where are we at?ArchitectureQualityAttributesTechnologyPatterns &Anti-patternsPrinciplesCommunityexperienceStakeholdersArchitectpeopleA “deliverable”ProduceKeyIs an inputConstraints
  35. 35. OK then, so we are all set
  36. 36. The architecturehas to beEvaluated to makesure it is any good
  37. 37. Test EarlyTotal Risk ExposureRisk Exposure ReductionTimeRiskRisk ReductionPeriodControlled risk management periodTotal RiskExposure
  38. 38. Sometimes we need to do moreformal evaluationsATAM flow – SEI - http://www.sei.cmu.edu/architecture/ata_method.html
  39. 39. Formal Evaluation Example LAAAM• Assessment Matrix– Evaluate suitability of strategies againstscenariosValueCostStrategiesScenariosBased on Jeromy Carriere
  40. 40. LAAAM – Example (1/2)StrategyScenario Analysis WeightA. Performnorearchitecting. Maintainwith minimaleffort theexisting ABCapplicationarchitecture.Introduce nonewdependencies on ABCcomponents.B.Incrementally wrapexisting ABCapplicationcomponentsin the modelprovidedwith .NET.C.Completely portexistingABCapplications to .NET.D.CompletelyportexistingABCapplicationsto J2EE,usingexistingenterpriseframeworks.1. A newapplicationleverages theXYZ data store.Value 1 Moderate Moderate-HighModerate ModerateDevelopmentCost1.5 High Low High HighOperationsCost1 Low Low-ModerateLow Low-ModerateAssessment 3 6 3 2.5Based on Jeromy Carriere
  41. 41. LAAAM – Example (2/2)Scenario Analysis Weight A B C D2. The XYZapplicationspresentationis customizedby the user todeterminelayout andcontent.Value 1 Low Moderate-HighHigh HighDevelopmentCost1.5 N/A Moderate Moderate-HighModerate-HighOperationsCost1 N/A Low-ModerateLow Low-ModerateAssessment 0 4.5 4.75 4.253. The peaktransactionrate for theXYZapplicationincreases by10x (afterscenario 2).Value 1 Low Moderate-HighHigh HighDevelopmentCost1.5 High Low-ModerateModerate-HighHighOperationsCost1 High Moderate Low ModerateAssessment 0 4.75 4.75 3Based on Jeromy Carriere
  42. 42. All we have todo now is todeploy thearchitecture
  43. 43. StakeholdersPrinciplesAttributesModelingMappingEvaluationDeployment
  44. 44. It is “easy” in waterfall& incremental
  45. 45. Requirements Architecture Design Code Integration TestRequirements& planninggameR,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 TestRequirements ArchitectureDesign, Code, Integrate,TestDesign,Code,Integrate,TestFinal Integration Final TestMoving from Waterfall to AgilewaterfallIncrementalAgilebased on Johanna Rothman
  46. 46. Building in small iterationscan be dangerous
  47. 47. Winchester Mystery House
  48. 48. Can you do Agile Architecture?
  49. 49. JEDUF vs. BDUFComponent AComponentBComponentCComponentDComponentFComponentHComponentI
  50. 50. Evolve thearchitecturehttp://www.flickr.com/photos/hyperclouds/459716791/
  51. 51. Architect mustimplement?
  52. 52. StakeholdersPrinciplesAttributesModelingMappingEvaluationDeployment

×