Systems Architecture

  • Uploaded by: Edwin Nájera
  • 0
  • 0
  • April 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Systems Architecture as PDF for free.

More details

  • Words: 15,701
  • Pages: 32
I

¿,r;l irt

/r/

' t--. '

' -\t

í'-. '. I \

| (.,-( 't

L\t vc l/

n

1) _ -.L-+

\ "/' /t..

,, ,--

/7_

Architecture Systems 'lhefrrstrequisit¿ islheúilituloapplu vrurphus. f|r success

q'ilÍ0t11 utrgiu lo atlcpr\bler'Ii'lúcssr¡Ílf, icalaú menlal gravi|gw tA. Thomas Ddiso¡ {1647-1931 )

ystenls anda discic¡¡ bestbcthought of0sbothn Dr.icess architecture plineto produc€ informatior systems. efficient andeffective produce the c,¡change a setofstcpsis follow..(lttr It is a troccssbecansc ¿rchitecture o[ a si,stem. people asto the infon,']5 lt.iri¡ dircipline bccause a boCyoflnowledge wayto design. mostctfcL:tive applications, ancinetseto{ machines, A systenir án inierconnectcd structure workresorrce5. Systelrsarchitectüre unificsthatsel by imposing oflhe thisst¡ucture alj€ns thefunctionality l¡oreimportantly, onthesystem. withthegoalsoi thebusiness. svstem l-1. layer of Figure encompasses theinfrastructunl Systems architecture

Busiñess lnfolmolon

0perationol

orgonirotionol Archite úl

Inlraslruclural

tiguret-l

T' Thebasicpurpose of systems arch¡teclure ¡sto support thehigherlayers ln manycompanies, oftheenterprise archit€cture. thesoftware andhardware portionof theenteDrise's a significant represent totalassetsIt is important lhat enterprise afchitects do not equatethejrdutieswiththe obiects, the applications, or themach¡nes thatcomprise theirdomain. Thefundamental purpose ¡sto supportandfurtherthebusiness object¡ves of theenterprise. andsoftware obiects arefundamentally Hardware transient andexistonlyto further thepurposes ofthebusiness. Systerns architecture is alsousedaspartof theprocess of keeping the goalsandprocesses enterprise architecture aligned withthebusiness of the organizatlon. lt is irnportant to understand thetechnical detailsof theinfraandtheapplications withinit butalsoto hav€ structure running theknowlwiththeenteDrise edgeto participate in theprocess of architectural change architectural team.Thatinvolves thefollowingr . Defining the structure relationships, views,assumptions, and rationales fortheexjsting systems architecture andthechanges in relationships, views, assumptions, andrationales thatareinvolved in anychanges required formoving fromwhatistovhatis desired. . Creation of nodels,guides, templates, anddesign standards forin üsein developing thesystems architecture. Aspaftof Letussetth€stagefoflu¡therdiscussion byfocusing onCanaxia.

Canaxia Kellolamessengineering of Canaxia's enterpse architeclure, lameshas Bringsan broughtonboardanarchitect, thefirstonein Canaxia's history. A¡chitect on Wearesittingin on a seminal meeting withsomeof Canaxia's C-level andMylesStandish, thenewarchitect. Heis bein€introduced to Board executives a semi-skeptical audience. lt willbeMyles's taskin thismeeting to establish the valueto Canaxia of systems architecture and,by extension, a systems ior afchitectAspartof hischa¡terMyleswasgivenoversight responsibility recommended changes in thephysical infrastructure andfortheapplication structure of theenterprise Thatmeanshe will be panof the a¡chitecture evolves teamasCanaria N,lyles begins hisrer¡arks bygivinga quickrundown ofwhathisresearch hasuncovered about thestate ofCanaxias systems architecture. Thediscussionproceeded asfollows . Myles partofCa¡axia thata large noted s fixed assets likethose of mastlafgeco¡porations. is in theapplications andmachines that comprise Canaxias systems afchitecture Thecorporations in Canaxias business environment thatbestmanage theirsystems architectures willtheieby advantage Caina competitive . Henotedthatthemaiority of thebudget of theinform¿tion technology is srvallowed bycostsrelated to Canaxjas llTldepartment AProclicol Guld€ . ¡nlrastÍuctu¡e Atthep¡esent timemostof these arefixedlf costs lo Enleryise Canaxia wishes togainanyaeillty inmanaging itsiniormation tech. Alchileclure nology resources. it willhave to putintoitssystems architecture the necessary , time.e[Íort. arrdattentio¡ to sharply reduce those costs

!

i

, Maiorbusiness at canaria information technology functionality thatwere, in Mylespointed out,is divided among silo-applications threedecades ago.Here,Myleswasinter' somecases, created vicepresident whoasked,'You arenot ruptedby an executive goingto tell usthatwehaveto rew¡iteof replace theseapplicathathehad tionsareyou?Wehavetriedthat."Mylesfirmlyreplied Rather than anyof lhe legacyapplicat¡ons. no plansto replace replace, hewasgoingto breakdownthesilosandgettheapplicationstalklngto eachother ¡ Theterroristattackthat completely the worldtade destroyed recovery on the ÍIont centerin NewYorkCltyhasput disaster a disarchitecture issues arecrucialto bumerfor Canaxia. Systems plan{DRP}.fThesystems of architecture aspects asterrecovery planning Aspart laterin thischapter.) datarecovery arediscussed Mylesbriefed thebusiness sideonthesystems of hispresentation, planthat hadbeen sed¡onof a disasterrecovery architecture developed bythearchitecture €roup. . Mylesthendiscussed storage. Heasked the theissues surfounding datastorthat,at theratethatCanaxia's executives iftheyrealized wouldequalthe agecostswererising,by200óthecostof storage komtheexecutives in the Thestunned silence cunentlT budget. fol theexecutive roomtold Mylesthatthiswasnewinformation team.Mylesthensaidhewouldalsoaskthemfortheirsuppo in gaining a fufthefcompetitive controlling thosecostsandthereby advantaee forCanaxia.

compaamong large, high-profile Therecentflurryof bankruptcies feporting ruleson lhe of stringent nieshasledto theimposition in theUnitedStatesThese toptierof publiclyownedcompanies reporting capabilities from afmost real-time financial rulesdemand to the is oneol thecorcolations subiect ITdeoartments. Canaxia manstringencies. Nlyles bluntlytoldthegathered newreporting financ¡alsystem wastooinflexible to provide agers thatthecurrent setofrepons andthatthefastest anything morethanthecülfent Mylesnextstatedthat canbetufnedoutis monthly. thosereports wouldbe a highpliorityon his financial reportin€ accelerated Thisblought nodsfromtheexecutives. agenda. intothestateof up theissuethatvisibility l,y'yles alsobrought ofa complete is animportant component Canaria's infrastructure infrato builda reporting viewof ihebusiness. Mylesintended managenent andupper-level thataflowed linemanagers structure sotheycould ascerintellicence attheirdisposal to have business impacting imporinfrastructure wasnegatively tainif thesystem's ln theback ofhis metrics, suchasorderfulfillment. tantbusiness Archileclurs antiquated systems archi- Sysl€ms wascertain thatCanaxias mind,l\¡yles customcrs 3 ofsome ofthedissatisfaction tecturewas therootcause

werefeelingabouttheautomanufacturer Heknewthatbringing perfotmance met¡ics ofthecompany's infrastructu¡€ intotheexist. (Bl)system ingbusiness intelligence wasanimportant component in restoring customer satisfaction Ievels. Thecumulative impactof thousands of lowleveldecisions hasencumprocess with an infrastructure beredCanaxia that doesn'tseNebusiness pu¡chase needs andyetdevouÍs themajofity of thelTbudget. In manycases, we¡emadeiustbecause decisions thetechnology was'neat"and"thelatest thing.'Undermytenurethatwill stop,"Mylesstatedfirmly"Wearetalkinc proiect aboutfartoomuchmoney to allowthat.Movin€ forward, howv¿ellthe withtheunderlyinC process, matches business andits returnon in'/estment (ROl)willdetermine where thesystem infiastructure budget Coes.' Thenthesubiectof money-thebudgetissue-came up."Youarenot expecting a big increase ¡n budgetto accomplish all this,areyou?No money is available fofbudget increases of anysize,'l¡yleswa3irformed. Heresponded bypointin€ outthatthesystem infrastfucture of anentefpfiseshould belooked at asaninvestment: a flajorinvestment. aninvest, value mentwhose should increase withtime,notasanobiect whose value depreciates. Theunderpeforming areas needto berevamped or replaced. growth,or cost-reduction Theareasthat represent income, opportunilies needto bethefocus. Both Afterthemeeting, bothKelloandMylesfeltgreatly encouraged. hadbeeninvolved in ente¡prise architecture and e[fotsthat hadfaltered failed.Theybothknewthattheprimereason forthefailurewasan inability process to engage theC-level managers in thearchitecture andkeepthem involved. Thismeeting madeit cleafthat, asfafasCanaxias topmanagement wasconcerned, theissues of increased financial ¡eporting, disaster recovery andcostcontainment wereon the shoÍtlist of concerns. N¡yles andKello knewthattheywouldhavethesupporttheyneeded to buildtheirafchitecwouldhaveto translate ture Theyalsoknewthatthatarchiteclure intofulfillment ofCanaxia s business concerns.

Architectural Aoproach to Infrastructure viewof allthepartsin a system It is importañt to takea holistic andali theitinl¿raaliakt. p¿thto understanding Wesuggest thatthemosteffective a system isto builda catalogue of thei¡t¿dr¿¿J thesyster¡exposes or thero¡tr¿¡¿ls thesys' temfulfillsFocusing onthecontract ortheinterface makes it much easier to withmachines move away froma preoccupatio¡ andprograms ¿¡dmove to functionality thatthesystems a focuson theenterprise mustprovideTaken higher uptheárchitecture stack, thecontract should mapdirectly to thebusiprocess thatthesyster¡ obiects aresupposed ness to enable Whendoneproperly, creating andimplementing a newsystems archiAProclicol Guide orchanging aneristing oneinvolves managing thcpfocess bywhich loEnlerprhetecture the organization achieves the newaÍchitecture as wellas manaCing the Archileclure thatmake assembly of'the components up that architecture lt involves man' 4

thepieces and thedisruption to thestakeholders. aswellasmanag¡ng ag¡nC partsThegoalis to improve new theprocess of cteating and/orselecting The thernintoexisting systems. andtheprocess of integtatlng applications payolfis to reduce theefficiency oftheexistlToperating costsbyimproving inginfrastructure.

Additional Architecture Concerns Systems whenb!ildto takeintoaccount Thefollowing aresomeconsiderat¡ons inga systems afch¡tecture to supportthcenterprise: . Thebusiness prccesses andnetmachines, thattheapDlications, concern of the worka¡esupposed to support. Thisis theprimary needs to Hence, anarchitect systems architecture foranenterprise. ptocesses and büsiness to theapplications mapallthecompany's should infrastructure thatis supposed to suppoftit.Thismapping lr all requi¡ements. be takendownthe lowestlevelof business lequirements likelihood, the business a 100pelcentfit between andtheimplementation will notbepossible. . Anypanoftheoverall Aleas architecture thatisbeinccompromised. architectures anddata thatoftensufferarethedataandsecurity quality. suffers because usersdon'thavethe Thedataarchltecture theeffects oi thei changes andexpertise to understand knowledge is often suffers because security to procedure. Secuítyarchitecture Datainteglitysufviewedbyemployeesasanunnecessarynuisance. people to produce morein lesstimeand fersbecause atepressured onthedataarenotpelormed. theproper cross-checks . Thestakeholders involved, architecture. Thepeople in thesystems includ¡ng thefollowing: o Theindividuals architectule whohavecreated theexisting o Thepeopl€ thatalchitecture managing andenhancing taskedwith positively and o Thepeoplein thebusiness whowill beaffected alchitecture byanychanges in thecurentsystems negaiively o Thebusiness's thathave andothetenterprises tradin€partners o[ functioning andcontinued existence a stakein theeffective thiscorporation o Anycustomerc dealtwithdirectly overtheInternet will havea lafceimpact on of thestakeholders Theneeds andconcerns change andhowsuccessful whatcanbealtempted ¡na systems architecture anvnewarchitecture willbe. . Thecontext encoÍtpasses. I¡ lhis thatthenewsystem architectufe realities inwhichsystenls to theglobalenterpfise lext,ú0rt¿xl refers thatis limitedto a findthemselves. lf yourea company arch¡tects you're willprobandcurrency, thecontext singlecountry, Ianguage, is a global corporation, andits simple. Canaxia ablyberelatively

Archileclure Syslems ¡

manydifferent stakeholders speak languages of andliveina variety timezonesithusits corporate cultureis a complex mixof many regional cultures. Thisdiversity is,onbalance, factofthat a positive increases Canaxia's competitiveness. . Thedatawithwhichthesystems architecture oeats.

. Stovepipe not beingdesigned to integrate appllcations definitely application inteintoa largersystem, be ¡t a resultof enterprise gration(EAl)or supply-chain managemenl. . It isdifficultto obtaintheinformation intel. necessary foIbusiness process management. ¡igence or business . Themarriage system thatis of application andhardwardoperating partof somestovepipe and applications creating a maintenance applications having a infle¡ibility thatresults in stovepipe upgrade (TCOl. hightotalcostofownership

Working withExisting Systems Architectures Allcompanies person havenothada single orgroup thathashadconsistent oversight of thebusinesses systems architecture. Thisis thesituationthatMylesfoundhimself in. Canaxia's systems architeciure wasn't planned yeafs Thecompany hadgonethrough without ofgrowth spending anyserious timeor effortonthearchitecture of itsaDplications, network, or machines Companies thathavenothada systems architecture consistentlyapplied during the€rowth ofthecompany willprobably have whaiis knownasa stovepipe uchiLcturc. Suboptimal architectures arecharacterized bya hodgepodge of equipmentandsoftware scattered physical plantThis throughout thecompany's equipment andsoltware wereobtained forshort-term, tactical solutions to thecoporateproblem of themoment. Interconnectivity wasanafterthought at best.Stovepipe architecture is usuallythe resultol large,wellplanned proiects thatweredesigned to fill a specifjc functionality fortheenterprise. These systems willquiteoftenbemission critical, in thattheeffective functioning of thecompany is dependent uponthem.Normally these systems involve bothanapplication andthehardware thatfunsit.Thereplacernent of prohibitively thesesystems is usually conside¡ed expensjve. A numbe¡ of issues accompany stovepipe architecture . Thesystems process don'tfitrvellwiththebusiness thatlheyate tasked withassistjng Thiscanbedueto anyofthefollowing o Thesoftware process design usedto buildtheapplication ir¡perfectly captu ringthebusiness requi.ements duringthedesign Dhase ¡ Theinevitable change of business requ¡rcments asthebusiness s competitive landscape changes SeeChapter 5,Methodology Overvlew, Chapter ó,EnteDrise Unified Process, andChapter 8,AgileModeling, formoledepthonsoftware develoDmerlt Drocesses.

AProclicol Guide lo Enlerpfise Archileciure ¡

Themonolithic design of moststovepipe applications maki¡git difficult to rationali¿e processcs discrepa¡cies between busjness andapplication functionality Thedatanotintegrating vith theentenrise datamodel, usually dueto voc¿bul¿rf d.tofo'rn¿t. or d?t¿d ¡t oñary is\ue(

archiof entelprise systems Manytimesit ¡susefulto tr€atthecreation problem. youshoulddivide In thebeginning, tecture asa domain-deflnition areas. Thiswillallowyouto setsoasto exclude theless-critical theproblem youreffortson crit¡cal benefits aleas.Thlscanyieldadditional concentrate ptoblems or become moot solvethemselves because smaller cansometimes information seNices whileyouarelanding thereallybigfish.In themodern ln sucha \'¡orld, timecanbe is change. world,theonlythingthatis constant yourallyandpatience thetoollo reapits benefits

reTypes Architectu Systems Fewafchitects will b€givena cleanslatear,dtoldto cleatea newsysMylesinherited anexistLikemostarchitects, temsarchitecture fromscratch. withsupporting and whoarecharged ingarchitecture, aswellasthepeople and theexisting systems ii andthefullsetofdep€nden ciesamong enhancing that depended onthem.lt mustbeemphasized thepartsofthecompanythat personnel valuable is anextremeiy tesoufce. ¡nfrastructure theeilisting js an en0metation afchiiectule typesihei¡ Following of thesystems andhowto b€stworkwiththen strengths, thehweaknesses, /

LegacyAppllcatlons

canbeextremely withthefollowing characteristics Legacy applications problematlc: . A monolithic ofaselies o[!rrocesses design. Applications thatconsist inanillogical mann€rwill notplaylvellwithothers con¡ected 'green . Fixedand inflexibleusel interfaces A chalacte¡-based use¡interiace example of a legacy is a common screeninterface (ul).lntelaces vith browsersuchasthesearedifticultto replace applications or to integfate intoworkflow based interfaces . lnternal. a¡e hard,coded datadefinitionsThesedatadefinitions to anentelp¡ise anddont confolm oftenspecif¡c to theapplicatlon Archileclure themcaninvolve Syslems Fufthermore. changing datamodelapproach. applications refactoring all downstleam

. Business In sucha situarulesthatareintemalandhard-coded. in business by changes to business rulescaused t¡on,updates to locateall thereleprocesses applications requireinventorying affected components. rulesandlefactor¡ng vantbusiness . Applications that storetheir own set of usercredentials to integrale canblockefforts credential stores Application-specific to enablesinglesign-onand with technologies the application identitymanagement. quitea fewhave havebeendiscarded' applications whilemañylegacy applications present legacy The surviving to time forward the beencarried difficLllt impossibly andconsidered willusually bebothvitalto theenteQrise to replace andexpensive legacy involved Muchof itslTdepartment situation. ThiswasCanaxia's thecafmanufacturcontrolled mainframe applications Several applications. (ERP)was planninC fromtheeally1990s. lesource Theenterptise incprocess. in wasfirstcreated system, a mainframe andordefsystem, Theinventory (CR[¡)application was management relationship The customer 1985. andbujlt on modularptinciplesThelegacyfinancials recently deployed concern wasof mofeimmediate forCanaxia application and that fell underSecurities was one of the 94t companies Canaxia teamknewit (SEC) Order4-4ó0,sothearchitectufe Exchange Commission thanthesysreports financial thatweremuchmoredetailed hadto produce produced. temcurrently Thearchi" theserequilernents wouldnotsupport financials Theexisting approaches, of the following it take one knew that could team tecture . It couldreplace linancial application. thelegacy . It couldpedorm intoa data application fromthelegacy extractions to satisfythe newreporting warehouse of the datanecessary fequ[ements. atlongandhard wasIooked application theexisting financial Replacing Theteamkncwihatif it withthatcourse riskwasassociated Considerable by theriskoffailure to reduce route, it wouldhave decided to cothereplace thatwere theteamhadotherareas it outat a highlevelHowevet, costing all jts goingto require resources. a¡d it did¡ot wantlo spend subst¿ntial situatidn the financial feportirrg capitalon to do application wouldallo\v thelegacy solution Thedataextraction

islt r it { to ( l o i 0 gr l 'l l r ( '( l ¡ l ;Irn i n l ¡ {. l i r l ) l ) r o ; r i l l wlr irill i. , u. , ir lloil, , ingwh( nr lollowing, buysCanaria.the . N,'tuch it g¡eater LJsing a datawarshouse teporti¡gresponsiveness viewof the(ompanfsiin3ncials an accurate is possible to ploduce basis on a weekly

AProclicol Guide lo Enlerprhe . Mo¡egranular access to datais oneoftho levelofdetailClanular Archilecture

t

oi thechartol primefunctions Reconciliation of datawarehouses

is ptinciples of theenteDrise theaccounting accordingto accounts not granulat applications, financial of legacy tlreprlrnefunction t0 data. access in will be avaiiabie . Ld hocque¡ying,The dalain thewarehouse accolding into drill can users cubesthat muitidimensional the butdenof producing Thisgreailvlightens to theirneeds. reports. of onlydoingwhatis necessary' . Accoldance withagileprinciples thedatawarehouse Youonlyhaveto wolryaboutimplementlng produce the desired to necessary the applications andcreating theuser that the financialrepofts assuredthat rest can reports.You andin the to will appealwhenneeded is accustomed cornmunity fom to whichtheyareaccustomed he that Mylesfoundat Canaxia' In termsof the legacyapplications hewas100 to leav€themintactln particular' withthedecision concurred intact application financial percent behindtheplanto leavethelegacy financial for canaxia's a datawarehouse andhe movedto impl€ment information. lt was optionwithmanagement wasnota popular Thedatawarehouse point in At one Rol not negative' moveandhada low if a defenslve clearly proiect, architecture the warehouse the data of the cost of the discussion of beinggullibleand wereaccused andMylesin particular teamin gene¡al anyt¡menew to explore valid area is a This towardn€wtechnology" biased teamhad architecture the However' board on brcught is being technology with andcouldstatethecostsol thepfoiect donea góód¡obofduediligence as as small ploiect was kept of the Thescope of confidence a highdegree theriskof lailure'Thealternative decreasing possible, substantlally ihereby and moleexpensive wassubstaniially application legacy replacingthe move, financial the blinging thal was tfue it of risk.Also' ca(ied; hiehe;degree of futuresynergies thepossibility datamodelopened dataintotheenterprise l¡ general theROIof thedatawarehouse increase thatcouldsubstantially cla' extremely ¿re is lhat they applications withlegacy thegoodnews terms, ate usually data secu¡ity and rvell Physical very do what they do thev bleand ¡ inflelibleTheyexpect is thattheyaleextremely Lesssatlsfylng excell€nt thell to Modifications output produce very specific a lnputand veryspecific applioflegacy theburden ateu majortasklnmanycases usualiy behaulor ro¡e) i" thalso I'tlrediscletroñary is oneof thereasons suppoft calron in mostlTbudgets. available Theymllst applications willhaveto wolkwithlegacy Mosta.chitects lnh'rvr"l lhcil by nlodilyrlrT strengths thel¡ ways to o(plolt on concentraie tl'ey'arrcrf'Jse theylulflllaadtheinterf¿ces ontheconllacts andfocus a¡ldunintcnded canhaveunexpected in anyoneapplication Changes Suchsituations in anolganization to theotherapplications consequences Ai highdegree to a functionality application thatyouisolatelegacy mandate you point whele the to decomposed will have been poini, a function some Thisisthelevelatvhichto extel' Sysloms Archlloclure andoutputs atlitsinputs willunderstand functionalitY nalizelegacy

7 Cllent/serverArchltecture >. effortintoa clientappliClienvserver architecture is basedon dividing whichfulanda server application, cation,whichrequests datao¡ a service canbeonthesameor different fillsthoserequests. Theclientandtheserver popu, filleda definiteholeandbecame machines. architecture Clienvserver va¡iety larfora of Íeasons. Onthe wasthebigd¡iverintheriseofclienvserver Access to knowledge users weregiventhedata,butthey applications, macro level,wjthmainframe whichesse¡it camedownto reports, wanted OnthemicroIevel, knowledge. viewon paperof data.lt waseasyto getthestanda¡d tiallyarea particular data viewof corporate fromthemainirame. Togeta different setof reports Also,reports wetetunon forthepreparation ofthefepo¡t. could takemonths notontheuser's schedule. a standard schedule, of wasanotherbig factorin the initialpopulafity Costsavings costin thesix-to seven' applications. [4ainframe computers clienvserve¡ to thatrunonthemIt is muchcheaper figurerange, asdo theapplications desktop. thatrunsontheclient's buildor buysomething a factor. Normallythe cheap network technology alsowas Theriseoffast, connected by machines, clientandtheserver applications areon separate requires a goodneiHence, to beuseful, clienvserver somesortof a network. (LAN5)to enable localarea networks workOriginally, businesses constructed a¡chitecture \¡,asableto utilizethesenetwolks. file sharing. Clienvserver and widealeanetworks networking hasgrownto include Ente¡prise {U/ANS) and3.4Mbstoken Bandwidth hasg¡ownfroml0 MbsEthernet theInternet. withGigabit Ethernet starting to makean ringnetworks to 100MbsEthernet of applications whilebandwidth hasgrown, sohasthenumber appearance. jssuefor is anever-present on a givennetwork. Network congestion chatting architects. of some ledto thedevelopment andmarketing clienvserver architecture partofthe verypowerful applications thathavebecome anintegral desktop world.Spreadsheets are two desktop corporate and personal databases thathave become ubiquitous inthemodern enterprise. applications of a application development tappedthe contributions Clienvserver whowe¡enotplogrammers. at Corporate employees largenumbe! of people withoutburdenall levels developed somerathersophisticated applications inganlTstaff. revolution haspretty r¡uch Theinitialhype thatsufrounded client/serve! facts aboutit dieddownlt is nowa verymature archilecture Thefollowing nave emergeq: . ThesupDort in clienyserver a¡ch itectu fehaveturned costsinvolved A largenumber of Pcshadto bebought out to tje considerable applications curandsupported. Thecostof keeping clienvserver distributing newreleases ornewapplic¿iions rentandofphysically A Proclicol Guids thatrequrred themcameasa shocl: to all thecorporate desktops loEnleprise one lTdepamentsClienlserve¡ applications areanothef to many Archileclure is of the¡easons thatsucha largeportionof mostlT budgets to devoted to iixedcosts

. Manyof the user-built werenot well applications clicnvserver data' thedatamodels usedin thepersonal Inparticular, deslgned. in a signif' Inaddition, unnormalized. bases wereoftencompletely datastolewerenot thedatain th€desktop of cases, lcantnümber 100percent clean. . Thehugenumbers andthe pasitrendof of th€seapplications difficultfor an alchitectto madeit extremely decentralization them. locateandinventorv has intocorporations applications ol cllenL/seRef Therapidpenetration sp¡eadsheets. At especially helper applications, byclienlserver beenexpedited dataanalyisthepremier hierafchy, thespreadsheet alllevels ofthecorporate ofspleadtoolsallowthedi¡ectinteglation development sistool.clienvseNer of spreadsheet client.Theimportance ¡ntothe desktop sheetfunct¡onality for replacements whenarchitecting functionality mustbetalenintoaccount spreadsl'eer ln mostcases, ifthe useris expecllnc appllcatlons. clienvserver it willhaveto bein anyreplacement. capabilities in anapplicetio.,, teamwasln alchitecture applications, theCanaxia Infegard to cli€nlserver inthefollowingwaysr oflarge coQorations thesame asmostarchltects oosition . canaxia to besupapplications ofclient/server hada largenumber ported. wouldhaveto besupported Furthermore, theapplications formanyyearsintothefuture. . cana{iawassti¡ldoi¡gsignificant appliof clienvserver amounts to existing Somewereiust enhancements cationdeveloDment. proposals entirely iocused ondeveloping butseveral applications, applicat¡ons. nev¡cl¡enVserver . oneof theDroblems alchitecture thatMyleshaswithclienyserver application ona para particular on€-to.one: is thatit ¡sbasically servetusuallya database talkingto a particular ticulardesktop for gfoupsof colpolate do€snotprovide serverThisarchitecture at the sametime.The the sameapplication resources to access in thedilection to movethecorporation teamwanted architecture andscalability applications to gainthecostsavings ofdistributed thattheyprovided. thatit hadtogetsomesortofgriponCanaxia's Thearchitecture teamknew couldbetaken approaches lt knewthatseveral client/seryer applications. . lgnofe forthose appllca' approach Thisistherecommended them. characteristics, tionsthathavethefollowing to moveto expensive o A¡ecomplex andwouldbedifficultand/or architecture. thin-client is not meaning theapplication o Have usually a smalluserbase, anlTPriolity. ¡¡ a steadt n Arestabie. muchmaintenance lhatis,dor'tlequire of th¡sapplil thatsuppo¡t usually meaning stfeamof updates, drainonthebudget. cationis nota noticeable

Archil€clure s)'slems tI

o Involves evena Attempting to produc€ funciionaliry. spreadsheet powefln a thinclientwouldbea smallsubset of a spreadsheet's pfoiect. accept' Inthiscase, wesuggest verydifficult andexpensive (GU interfac€ l) benefits that ingthefactthattherichgraphicaluser solution. to thetablearetheoptimal brings thespreadsheet ona sewerandturntheusers'PCsintodumb Puttheapplication version2000andlatel.is Windows Sewer, Microsoft terminals. rnode. Thisallows thelTdepan' inmulti.user ofoperating capable on theservet byjustproviding applications mentto runWindows the machines attached to it. Putting updates to individual screen clienvserver the job of managing on a servermakes application easier seveÍal orders of magnitudes applications of inter. of theapplication intoa se¡ies Extract thefunctionality application into a set of compofaces.Turnthe client/server jnto other can be incorporated nents.Someconponents into lf theclient/server application hasbeenbroken applications pieces, it canbereplaced a pieceat a time,ol thebitsthatare leaving the drainon yourbudget canbe replaced thebiggest reststillfunctional.

AProciicol Gulde l0 Enl6rPise Archileclurc

t2

appl¡cations arestill thepreferred solutionin many Clienyserver requires a complex CUl,suchasthat lf theapplication situations. produced PowerBuildeI, or a lavaSwingapplica. byVisualBasic, to t¡onor applet,manythingscanbe donethatareimpossible in a browser application, andtheyarefaslerandeasiel duplicate intensive thatperform to produce thanin HTMLApplications candidates. Youdonotwantto burden computation areexcellent yourserverwithcalculations bandwidth or useup youfnetwork pumping to the images to a client.It is farbetterto giv€access lhat dothework.Applications dataandletthecPUonthedesktop functionality arebestdonein clienvservef involvespreadsheet jn the folmof architecture. Excelexposes all its functionality These components common obiectModel(coM)components. andeasilyincorporated intoVBor N4iclosolt canbetransparently ([¡FC)applications ln anycase,all new Foundation Classes to the development shouldbedoneusingintelfaces clienVserver functionálity lather thanmonolithic applications architectufe. At thistime,thisusuallv Movethemto thin-client them.Thisis means creating browser-based applications to replace thathavean theidealapproach to thoseclienVservef applications datamodel. lt hastheimporimpo(ant impact onthecorporate con' tantsideeffectof helpingto centralize the dataresources intheaoDlications tained

approach to takea multistepped teamdecided architecture Thecanax¡a applications cl¡envserver library of its to thernbe" fellln the 'leave . Abouta thirdof theapplicat¡ons clearlv butnotenhanced Theywouldbesupported category. wouldno longetbe I Between of theappl¡cations I 0 andI t pefcent suPPorted. usinga forleplacement . Therema¡ning atecandidates applications architecture. thin,client is the discussions in clienvserver one matterthatis oftenoverlooked a scattered thfoughout databases the desktop in datasequestered enterprise withthe whendealing approaches amongseveral onecanchoose buslness. in userdatastores: datacontained corporate important . Extract andmoveit intooneof thecorporate it fiomthedesktop Connecll!iry vlaOpenDatabase thenobtalnaccess Usels databases. (iDBC] applicatio¡s (ODBC) supported or intothebrowset . ForthecllenUserv€r thatatemoved aoplications may be necessary. extladion is nota gocdfit for currentdistributed atchitectule WhileclienUserver lT wo¡ldwe are place corporate in themode¡n its has it still apolications, As applications rathelthanmonolithic of usinginterfaces advccates staunch immedimost biggest and on the con.entrate befoie, wehave¡ecommended ateofyourproblems.

¿ Thln-Cllent A¡chltectüre presento decoupling 'lhifi-clie(it is onepopularapproach 4t hitectur¿ were a rehash cli¿rh tfir Originally and data logic tationfrombusiness As thedumbterminal replacing witha browser computing of time-shale in somecasesthe clienthasgained has rnatuted, the architecture responsibility. hiddencostsin the havesubstantial applications Asnoted,clienyserver Drssatisfactlon them upglade majntain and to Ihe involved effod fo¡mol thatledto thecon' factors costs$,asoneofthemotivating withthesehidden allworkis per' architecture systems Withthin'client ceotof a "thinclient." a serve¡ formed on isthatthc architectu¡es partsofthin-client attractive Oneofthereally party no lequires and provided a third by is component soltware client a web in thiscase Theservel, of effortonthepadofthebusiness expense from aesponses andgathers to uSers'browsefs up content seryes seryef. applior ondedicated runoneithelthewebserver them. AIIaDDlications on the businesss All the data ale on machines cationservers. network. Archlleclure Syslerns lt

problematic Thin-client architecture hasseveral areasl . A thin-clientarchitecture canproducea lot of networktraffic. pa¡ticularly Whenthe connection is overthe lnternet, via a modem, round-trips fromthe clientto the server canbecome unacceplably Iong. . Thea¡chitecture oftheWebwasinitiallydesigned to suppo{static pagesWhenthenextfequest fora staticpagecomes in,theservef doesn t careaboutthebrowsing history of theclient. . Controlofwh¡ch browser is usedto access applica' thethin-client tionis sometimes outside thecontrol of lheteamdeveloping the application. If theapplication is onlyusedwithina corporation, thebrowser to beusedcanbemandated bytheITdepatment If parties theapplication isaccessed byoutside or overtheInternet, a widespectrum of browsers Your mayhaveto be supported. choices in thissituation areto giveupfunctionality byprogrammingto thelowest common denominator or to giveupaudience bydeveloping onlyformodern bfowsers. . Users demand rich,inte¡active applications. HTML isinsufficient to buildrich,interactive cUI applications. whendevelopinC thin. clientapplications, thedevelopmenl teammuststriveto provide whattheywant for usersto accomplish iustenoughfunctjonality and no morc.Agilemethodshavethe correctapproach to this problem anddo nomorethanwhatclientsrequest . Datamustbevalidated. Thedatainputbytheusercan bevalidated ontheclientand,if thereareproblems withthepage, theuseris alerted bya pop-up. Thedataalsocanbesentto theserverand validaledthere.If problems arise,thepageis Íesentto theuserwith a message identifying where theproblems are. . Themostcommon webdevelopment toolsa¡eusually enhanced texteditorsN,'lo¡e advanced Webrapidapplication development (MD)toolsexist.suchasD¡eamweaver however, andFfontPagei theyalllallshortonsomelevel, usually dueto thefacts thatthey onlyautomate theproduction of HTML andtheygivelittleor no helpwithlavascript or withthedevelopment HTN¡L ofseNer-side 1!( lr ,r, lirv,r,r rvrr l)ir{lc., ¡h(l J¡v;i,,crvhl:, ll:;1,:i) IrJll,rirlt,¡, . Se^,erresources canbe stfetched thin A singleWebserye¡can handle a srr4xrsrng nurrb0rof conne(tions whenall it is serving ul) ¡rc st¡traWebpdgesWhcnlho sesso|] becones¡nter¡ctive, lhe resources consurned bya clientcanrisedramatically.

The keysto stro¡gthin'clientsystemsarchitecture lie in application designForexampleapplication issuessuchas the amouf,tof informatiorl carriedin session objects, the openingdatabase connections a¡r(lthe time of a thrnAProclicol Guide spentin SOLque¡iescanhavea big impacton the performance lf the Webbrowser is runningon a desktopmachineii loEnlerprheclientalchitecture Archileclu16 to greally thecompuir¡g maybe possible sDecdup perfoÍnance byenlisting power clLc l of Lllc machiril t4

graphing, ca¡ heavily the typethat involves especially Dalaanatysis, invoives a fof analysis new request Each the serv€r netwolk and the burden m¡yhaveto gcl Thentheserver to theserver triptosendtherequest network oncethedataare thedatabase hosting fromthernachine úe data.üsually thegraph'All create processing to steps are required CPU-intensive in hand, Thenthenewgfaph timeandresources takelotsof server theseoperations asa fairlybulkyobiectsuchasa GIF usually hasto besentoverthenetwork, lhedatacanbe anddisplay to anallze application and an Ifthe data orIPEG. sentovelthewire,theusercanplaywiththedatato hisor helhearts conThiscanbe otherclientIequests canbe leftto service tentandtheserver aÍc\itccture semithin-client of as a thought canbe(orsld' phones asslst¿nts desklop lPDAsl andpersonal Mobtle intefaction you allow use lo can that have browsers They eredthinclients. withintheenterpfise andsystems thesemobiledevices between theabilityandtheexpectation 'Iheriseofthebrcwser clienthascreated andinternalusers a single,unifiedfaceto extefnal expose thatbusinesses intothe applications s legacy thebusiness bringing thiswillmean Inevitably, archiinto thin-client applications legacy lntegrating architecture. thin-clienl t\at appllcalions tecture canbeeasyor it canbeverydifficultThoselegaqy pleviously canbequitechallenging discussed areas e)úibittheproblematic can databases andarebuilton relational Thosethatarefullytransaclional application poftthandealing witha client/server oftenbeaneasier andobiect viainterfaces systems ofthelegacy functionality Exposingthe baich' firststep.Adaplingthe asynchronous is the essential wrappering Intemet average span of the to the attention processing mainfiame modelofthe detaillaterinthischapter thisingreater Wediscuss usercanbedifficult.

Value System to Enhance Architecture Using Systems and asmaintenance agetheyevolve syslems andhaldware Assoftware canbe andenhancement them.Maintenance change activiti€s enhancement to theenterpllse üe valueof a system lo increase usedasanopportunity and via maintenance architectule systems value of the Thekeyto enhancing to moditystovepipe asan opportunity is to usethechanges enhancement your Thiswillmake andcomponents applications intoleusable aDplications an(l¡)r ¡'l)L¡'cjr|il youwllllhcnbclrcclo r¡odify mo¡€ agllcbecause systcm it !vLll tc'rd Inaddition application thantheentire rather a fewcomponents oflered hv greater flexibilily 'futurc because the ptoof theapplication to lhr l I xl\ lln{{ llv r lL\ ! 'l l' gte ly ease t hechancc' .omponentsw l l l at lnct astheychange requiremenls ableto fulfillbusiness allthecontracts isbyundersta¡ding iheprocess to begin Thebestplace thatthe wemeanall theagreements fulfills.Byú0¡tfalls, thatthestoveDipe part of the ¿s use it Then wish to that with applications nakes stovepipe viaan thecontlact externalizes theStovepipe or maintenance, enhancement it application legacy with a rnonolithic is repeated Asthisprocess interface (onsume lools somc er¿f.ple Fot of components lo as a set fu¡ction beeins ior the moclules Syslems coBoL copybooksand producean obiectwrapper" ^rchrleclurc inthecopybooks. descdbed

Messaging technology is a usefultechnology forintegrating legacy functions into yoursystems architectu¡e With messaging, the information required fofthefunction callis putonthewireandthecalling applicatjon eitherwaitsfora reply(pseudosynchronous) or goesaboutits business (asynchronous). Messaging is verypowefulin thatit ro¡¡y'I¿t¿lu abstracts ihe calle!fromtheca¡led function. Thelanguage in whichtheseNetprogram is written, theactualdatatypesit uses,andeventhephysical machine upon whichit runsareimmatetial to theclie0t. Withasynchronous messaging callsthesewerprogram canevenbeofflinewhenthetequest is madeandit will fulfillit whenit is refurned to serviceAsynchronous function callsare veq/attractive whenaccessing legacy applications. Theycanallowthelegacy application to fulfilltherequests inthemodewithwhich it is mostcom[ortablebatchmode. Tobeofthegreatest utilityobjectwrappe¡s shouldexpose a logicalr¿l of theunderlying functions Wethinkyouwillfindthatexposing every functionthata monolithicapplication hasisa waste oftimeandeffodThefunctionalityto beexposed should begrouped intological unitsofwork, andthat unit ofworkiswhatshould beexposed whatis thebestwayto expdse thisfunctionality? whencreatine an objectw¡appet themaio¡consideration shouldbe themanne¡ in which yoursystems planindicates atchitecture thatthisinterface or contract wiil beutilized. Theeffortshould bemadeto minimize thenumber of network taiDs. Wrappering depends on distributed objecttechnology for its effectiveness. Distfibuted obiects areavailable underCommon Object RequestBroker (CORBA), Architecture lava,.Net,and by usingMessaging Oriented (MOM)technology. Middleware Distributed obiectsrelyuponan effectjve network int¡anet, or WANIto operate effectively. llnte¡net, In addition to inc¡easing thevalueof a stovepipe application to other segments oltheenteprise, exposing prothecomponents ofthatapplication videthefollowing opportunitiesl . Thepossibility ofsunsettlng st¿gnant orobsolete ro!ttnes ¿ndtn€ inc¡emental replacement of thembycomponents thatmakes more economic sense to theentemrise . Thepossibility of plugg¡ng in an e)(isting component lhat ls cheape. to maintain in place oftheIegacy application foutine. . Outsourc¡ng func|onái¡ty provider (ASp) toanappllcation seNices lftheintedace ispropefly designed. anyapplication accessing thatinterface \\'illbekepttotally ignorant ofhowthebusiness contract isbeing ca¡¡ied out Therefore, it isextremely important to design themprope¡y TheCana¡ra group architecture hasano¡Coi¡g proiect todefine interfaces iorlegaq.applicat¡ons andimport¿nt client/server applications wf]tten thatwere ¡n,house APfoclicol Guld€ Thebestpl¿ce to st¿rtwhenseeking añunderstanding oftheinterlaces I-0tnlerpflse thatc¿nbedefrled lrom¿napplication is notthesoutce codebuttheuser Archileclule goodsource manuals Another of knolleclge of a lecacy application,s con, ló

what knowexactly whousually itsusers, customers' tractsistheapplication! its surrounding rules business do and the to is supposed the application availis occasionally for the application Usefuldocumentation operation. codehasto bedoneat somepoint,butthemore thesource able.Examining theiobofdecieasierwillbe gathered thefasterand beforehand, information thesoulce. phering data fol sending andspecifications protocol is a setofagreements A netwolk into a dive protocols today Lets in use are network Many overa network. familiarwith this quickoverview of protocolsusedio helptou become decisions inf[astructule to allovyouto makeinformed domain

Network Protocols

TCP/IP 1¿lPrcIacal ControlPtotocal|l^te IICPllP)is the net'{orkprotocol Ttat$nissiaü thathasthewidestusein industry. culrently systems . TCP/lP protocol stacks existlor all operating in use. protocol robustandreliable It is anextrenely disparate thatit canbesentbetween whichmeans It is routable, networks. the EvenNelware systems alloperating forfreewith It is available protocolSPX' offe¡sTCP/lP network homeoftheonceverypopular protocol. to its proprietary in addition hasb€endevelfunctionality robustsuiteof security Anextremely viaTCP¡P opedfofcommunlcation other by andlatgeusesTCP/PSeveral communlcation Internet canbeandareusedoverthelnternetTheywill nelworlprotocols communi thelnternet However, laterin thisseclion. bediscussed andFTPall uselP SMTP, HTIP,HITPS, cationprotocols webseN'ces useTCP/IP . Messaging useTCP/lP Prolocols . All remoteobiectcommunication, suchasDColúlavaRMLand CORBA canuseTCP/IP

Subnets drcctlyw¡lheachothetApetsan ol o new* kot concomñlnicole subnett orc segrnen! añlhol subnelNef¡/ar|t dircdlywítholl lheothetcon,pule5 ano subnelconcoñmunkote net súnphry subnels by thesubnelnaskpono{ke TCPIP Prcpedtes orcvil inlr subnels ondconbeusedtaprc¡desecu'try' ¡@ odmi4tsrcton wlh canlputeson ollel rcquie rcutetslo connun¡cate Conpute!on diflercnlsubnets sobnels

Sys'ems Archllecluie

n

TCP/lP is a suiteof protocols builton a fourlayer model: . Thefi¡stlayeris the network inteíace.Thesearethe LANtech. nologies, such asEthernet, Token RinC, andFDDI, ortheWAN technologies, suchasFrame Relay, SerialLines, orATMThis layerputs frames ontoandgetsthemoffthewire. . Thesecond laye¡is thelPprotocol. Thislaye¡is tasked withencapsulating dataintoInternet data€rams. lt also¡unsall thealgorithmsfor routi¡gpackets between switches. Sub-protocols to lP are functions for Internet address mapping, communication between hosts, andmulticasting suppon. . Above theIPl¿yeris thetransport layer. Thislayerprovides the actual communication protocols Twotranspoft arein theTCP/IP suite TCPand UserDatagram Protocol{UDP).Thesewill be explained in greater detailinthenextsection . Thetopmost layeristheapplication laye.Thisiswhere anyapplicationthatinteractswith a networkaccesses theTCP,4p stackP¡otocols suchasHTTP andFIP¡eside in theapplication layer. Under thecovers,allapplications ptotocol. thatuseTCP/lp usethesockets Sockets canbethought of astheendpoints of thedatapipethatconnecis applications. Sockets havebeenbuiltjntoall flavors of UNIXand havebeena padofWindows operating systems sinceWindows 3 I, seeFigu¡e l-2 protocolis the actualmechanism Thetransmission of daradelivery between applications. TCPis themostwidelyusedof thetransmission protocolsin theTCP/IP suite.lt canbedescribed asfollows: . TCPis a packet-oriented protocolThatmeansthatthedataare splitintopackets, a header is attached to thepacket, andit is sent f¡flrc l-l

. .

. . .

hasbeenp'Jt untilall theinformation is repeated off.Thisprocess onthewlr€. ihe requires proiocol in theta seryer TCP¡sa connection-or¡ented to It befoteit cantransnitinformation clientto connect whena packelis sent delivery lo offerguaranteed TCPaitempts thenwaitsfof an acknowl the senderkeepsa copy.Thesender lfthatacknowledgemachine. recipient bythe of receipt edgement is lesentAftel time,thepacket in a ¡easonable mentisn'treceived will a packelthesender lo transmit of attempts a certainnumber giveupandreportanerror oncethey thepackets sequence to propelly a means TCPprovides arived. haveall to givea basiclevelofvalfeature a simplecheclcum TcPprovides pácket and the data. header to the idation in theorde!in which will bereceived lhatpackets TCPguarantees theyweresent.

place in lP yetit hasanimport¿nt UDPis usedmuchlessthanTCP/IP the following, of because communication do notlequilea connection . UDPbtoadcasts Servers infotmation. car sit a¡ld via UDP A UDPserver the network over to senddata to suchasthedateandtimewithoutrega¡d information broadcast is listening whether or notanyone fromfailurethat to recover . IJDP doesnothavethebuilt-infacilities prevents a particfailure, suchasa network TcPhas.lf a problem, applica' the sending the datagram from receiving ularapplication TcP is necessary' tion witl neverknowthat lf rellabledelivery will haveto provide application shouldbe usedor the send¡ng natureof UDP unreliable theinherently to overcome mechanisms TCP than . UDFis fasterandrequires lessoverhead packets andTCPtorlargedata . Typically, UDPis usedforsmalldata stleams.

Appllc¿llon

OtherProtocols llansporl

Protocol

APrccllcol cuide loEnleprise Archiloclure

ts

Network

Alldatastreamed likeEthernet technology network MM is a high-speed sizeof thccells Theconstant cells. downinto53'byte overATMarebroken capabilitics transmiss¡on higher issues andcanp¡ovide switching simplifies between a connection establishes TCP/IP Mbs Ethefnet. thanl0 or even100 a circuita fixedset establish butit doesn't mach¡nes, andrecipienl sender of theseswhichall thetlafficwillgofortheduration through cf machines physical loute actual the to modify conditions network allows sion.TCP/IP TcP/lProbustandsell Thismakes will takeduringa s€ssion. thatpackets problems ln thecaseof videoor voicetransin thefaceof netwolk healing Archlleclure pa ies Syslems thecomrnunicating between a connection to have it is best mission, canbesentoverATN'I that.TCP/IP canprovicle t9 and,ATM

Anotherprotocolthat hasemerged is Multiprotocol LabelSwitching MPLScompetes withATMin that it allowsthe establishment {MPLS). of pathsbetween labeled thesende¡ andthereceiver Thisability to establish pathshasmadeMPLS of inte¡est to thecreatorc of virtualprivatenetworks. Unlike ATM,it is relatively pathsacross easywith¡.,1PLS to establish multiple layel2transpoÍslikeEthe¡net andFDDI. lt alsooutpelorms ¡'TMandoffers someveryusefulpathcontrolmechanisms. LikeAT[,,], MpLSuseslp to send dataoverthelnternet

to vó pointof viewconverting system Froma hadwareandoperat¡ng maior all the that facts lhe on is based Thls canbeverycloseto cost'flee bulltintothemandthataddingvósup' havevólP stacks systems operating update a software onlylequires suchasrouters no,tto deuices issueof concernlt is a is another of thelP namespace Theexhaustion sucn lnnovations exhaustion is facing space factthatthecuÍentiPaddress last when the day postponed the (NATI have translation address asnetwork to vó lPv4 from tla¡sition lor an otderly time buying assigned, is addtess

AddressTranslation Network Theemergence of CigabitEthernet implementations hasprovided enough rawbandwidth to allowTCP/IP overEthernet to compete withATM forvideo andolherbandwidth,intensive applications. Thebigquestion to consider aboutTCP/lp is whether to utiljzelpv4 which wasreleased waybackin 1980, orto move towatd lpvó.lpvóhasmany features of imponance to theinfrastructufe ofanenterprise: . Virtually unlimited address space. . A different addressing scheme thatallowsindividual addresses for every device in anenterprise everyvhere in theworld. . A fi)(edheadef lengthandimproved header formatthatimproves theefficiency of routing . Flowlabeling ol packets packets allowsrouters to solt {Labeling packets intost¡eams, making Tcp/lpvó muchmorecapable than TCP,/IPv4 ofhandling stream-oriented trafficsuchasVOlpo¡ video streams ) . lrnp¡oved (Secure secuity andprivacy communtcatlons atecompulsory withvó,meaning thatallcommunications existina secu¡e tunnelThiscanbe compelling in somecitcumstances The inc¡eased pfovided security bylPvó willgoa longwaytoward providing a SecLlre Cyberspace.)

Secure Cyberspace 1 ] t' ln | l!Nl| | ¡ t' ' I1 \I]l¡ lw¡ ]¡ ,1 lfllty| | L xt[L ]l .|](t^h|'L|u|¡'kj |.n|]l l l !1|!|J|l h||l 'u¿j colastaphK eventsas a nucleotwat. Ihe nlrcsltuctue, úe netpan, js securehon otto.k. Hawevet,lhesttuctue aí the lnte.netprcvidesno secunq/for o singlenode,rcutet,ar (jm. pulet connectedla lhe lnletnel Unprote(ed canpüte9 orc the key to one al the Eeotest cune tlveotsto the lnternet: den¡al.alseNtce ottocksIhe alhersarc wotns ond ernailv¡rusesthateat up bandwidth.

A Procllcol Guido TheU.5.govennent hosauthneda natiornls¡alegyIa prctectthe tntenel.fot detoitsseethe "NotonolStrctEy to SecueCybe\poce,al wwv.whjtehouse.gav/pcipb drcft l0 Enlerprh€ Npet entiled Archilecfure

n

Ia in,¡deo business is o Eúnologythotalbv'aail compLrets Neüotkoürcsstonslolion lntenet to the p be rcuted cannot privote ond thotáie a¿""es ol t¡i t"s iii inuii rhe i5noi possible q theina¡neton oddrcss canfit¡1 íi*"1 iiut" oi¿iiirt .*ot tu seen to tl''elntenelwlh 0 os thenelwotkoürcsstonslatotis connected nothinethotis octing canputesusingiheptivolelP and oalsoso rouletb allav\/ tp -oddress náÁol. routobh lnleñet lhe on¿ Lse to lo connecl addrcsses

tolhe devrces inconnecli¡8 imProvemenls incfemental numerous lPvS contains ¿ndlre dooressr¡8 sp¿ce ol thenaming expansion lnrernet lhe enomous t0 lo becon¡e(teo dwiceonthepl¿nel forevery it possible th¿tmake chanees o¡lyc¿n Forcanaxt'.nol formoslenterP'ises areüuVrevolutionary thel;ternel vr¿ to a cerlr¿llocarlon becon¡ecled oneol itsplanls inevery machine everv rts c0'1own h¿ve can m¿chine th¿t of subcoÍnponenl evely br¡ thátnternet. wilhó viathelnternel canbemanageo niaán.Áii.áo* dt ¡t"atehbuses Gnartac¿fsc¿nconne(lnelrs¿Les selling dealers connection, secute lntemet C¿¡a{i¿ lo a cenlr¿l depalmenls andtheirsérvice io-oarüeitpans¿ep¿,tments, f¿cility. manaBement to IPvóis notgoingto becost" enterprise of anexisting Theconverslon stacl( nothaveanlPvóprotocol may systems of operaling hee.Oldetversions corporallon a laEe ln replacement their perhaps necessitating available, wilhvóvill will workseamlessly applications thaiall existing ascertaining withvó But coexist lPv4 can theory a substantialundertaking.ln orobablybe wesaythatif youhaveto mixlPv4r¡ithvó youwill haveto plovethatthere ploblems. arenocoexistence conlenlplating when asa template beused thefollowing Werecommend to IPvó aonvftsion i¡ternational firmvithoutany . tfyouareasmall ot medium'sized youvLll c¡se any In manciatoty presence, waituntilit isabsolutely net' of the edge the vó on implementing get with by to Leable lust youintedace withtheIntelnet work,whe¡e or a lilm thathasa large cofporation . I[ youarea multinational youshouldfofthatneedlnteÍnetaddresses of devices number and a[vayslookfot edge plan at the start mulatea vóconvefsion Archilsciure Syslems 2l

application incompatibilities. of course,you shouldhave exhausted optionssuchasusingnontoutable along lP address€s withNAt . lf youdodecjde justto convert, startaltheedgeandtryto practice in-time conversion techniques. Because of its sizeandinternational reach,Canaxia hasformulated a strategy toconvetolPvóTheefforlwillbe spaced overa decade. lt willsta¡t attheedge, whe¡e Canaxia inte¡faces withtheIntetnet andwithitsWAN. New sjteswillbevófromtheverystaf.Existing siteswil¡beslowlymigrated, with this effortnot due to beginlor anotherfiveyears.As applications are upgraded, replaced, or purchased compatibility withIPvó willbea ¡equirementas muchas!s econom¡cally feasible. Canaxias atchitectu¡e teamis (onfident noc¡isis willoccur anltime inthenextl0 yeats dueto lackofavailableInternet add¡esses.

Systems Architecture andBusiness Intelligence lfyourenterprise runsontopof a distributed infraandheterogeneous thehealth structure, of theinfrastructu¡e canbevitalto thesuccess ofyour In thatcase, business. thearchitect willneedto provide visibility intothe status of theente¡prise systems. Theabilityto provide nearreal-time data perfolmance on system to business customerc is clitical. Following is an exanple' . TheWebseruer wasup 99percent of thetime,whichmeans it vasdown7 3 hourslastmonth. Whathappened of custo sales tomersatisfaction du¡ingthosehours? lf thecustome¡s didnt seemto care. should wespend themoney to goto 999 percent u p t¡me ? . TheWebseNer wasup,butwhatwastheav€rage timeto deliver a page? vhat did custorner satisfaction looklikewhenthe pa€e delivery timewastheslowest? . Howaboutthenerwo¡k'? Paftof thesystem is stillon l0 ¡,4Bits/ second wiring. HowoÍtenis lt afflicted withpacket With storms? \¡/h¡tothorv¡ri¡blcs dothose stormtimescorÍelate? . Partol these¡vrce staffisexperlr¡enting withwireless devices to gatherdataon problem systems Whatwastheirproductivity

ln temt ol quohlyotlnbules, lhelallovling liguesfor uptirnerctoteto o\,alob¡t¡ry: , 99percenluptinepetyeotequotes toJ.65dop ot dowttrne. ,

uplmeequates to.365doysot 8.76houtsdawnpetyeot. A Procllcol Guide 99.9percent ¡n.ny lo Enleerhe. 9999percentupttreneonstholthesls.tenis dat^nno ñore thon52 m¡nutes Archil6clufe g^enteat.

n

anangr-v in ma*eting'afterreceiving fora managel It shouldbepossible client,to drill intothedatastreamf¡omsysfroman important complaint between andseeif thereis a correlation theenterprise temsunderpinning needed to workwith thecustomer thewebpages thetimeit tooklo display of thetimesthat several Perhaps of hisor hercomplaints. andthesubstance was lhis wher cuslomer with times co¡ncide wasdown theWebserver tloulllespots W¡thout datafÍomall thepossible to dobusiness. attempting oftheproblem to pindownthelealsource it willbeirnDossible datathetoolsto monitorthehealthof networks ln mostorganizations, overintotheenterprises arenotplugged bases, andtheWebinf¡astructufe thateitherprovide applications stand-alone They areusually all Bl system. ng - loalog aparhof t iculalsyst em or dum pPver yt l' snapshol srntoth ehealt scripts basis. oftentheyarelittlehomeglo\\'n atonanirregular thatis looked problel¡o¡ theya¡e to solvea palticular together throrvn or applications andmuchless wetemuchsimple¡ f¡omthepastwhenlhesystems inherited interdependent. pelform¿nce [o¡yoursystem indicato¡s Startwiththemostimpo¡tant utilization bandwidth or percent theyarepagehitspersecond Perhaps oiyou!entel" thesegnent first.Pelhaps lntegrate lhisdataintotheBlsystenl bustness withoneof thecrmp'rnys aligns pnseinfrast¡ucture a¡chitecture il lo the ¿ndplesent to theunitsoutptrt metrics unitsFittheDelformance makers forvouru¡it. decision timeto buildperforis anexcellent stagefora newsystem Theplanning oitenare systems New inio its architectufe mancemet¡icsmeasulement as regafding suchmetdcs setof assumptions usinga¡ optimistic conceived comesonline,you whenthatnewsystem úptime. andsystem Derformance thedatato ouantilyhowacculate fortheabilitylo generate willbegfat€ful becomes cropupwhenthesystem were.lf problems theinitialassumptions whentheploblen to identify youwill havethedatanecessary ope¡ational, liesatyoürfingertips.

Agreements Level Service (SLA5) of thequalityattrib' area folmalization levelagreements Service in a docLlthathavebeenexte¡nalized andpefforrnance utesof availability morcvitallo buslllesscs becomc andapplications mentAsinfrastructu¡e guarantee in w¡itlng. assets of those thattheproviders theyaredemanding afea Sl.As reqtlires andstability thatthebusiness thelev€ls of performance h¡sluonx'lo lrro\l' ce ainlTfun(tion¡lity of howlmpoÍtant manifeslation processes. ernbusiness aboutthe partof deallng withanSLAis to thinkcafefully Thecrucial e I'tge"spon<e to provide it.lfyouarerequlred to support metrics required pageresp( nsetilles o' youwillhaveto me¿sure timeunder3 seconds. youcdrno ¿nd when limes detenor¿te lesponse !¡,hat happens But course thedata At thatpointyouhadbetterhavegathered longermeetyourSLA? Hastheolerallus¡€e.tf Svslems occurred necessary to figureoutwhytheproblem Archileclure is Webserver architeclute theexisting to thepointwhere thesiteincreased ,¡

overlo¿dedr,what doesthcmemory usage ontheseNer looklike? Forexampte.lavagarbage collection is a veryerpens¡ve operation. fo reduce gffie srterunnrns lavap¡or,r.r, e)(amrne theravacodein the ::l:,tl:l :':

t¡günt-3 Thethreestorage

svst"' :iiH""",fi ,ld:f;'.',.',"J.,1""1',; i:i:lf.::-^'our l'' n'mb", Thebottonlineisthts:When plannjng rnesystems architectute youwill ,h¿ve to thinlbeyond themetric IntheaB;

::l:,:Ii,yá;hi;;il .. ü::i1",::ili:ffi1'Jil1""lti;ili

youtorgan¡zatjon belooked uponasanoppottunity ratherthanathreatand .:i ro.fo¡cerfe organriation ro updare. ¡arion;t;;;';;; ::^1 :,1::i*, io,i"hastrucrure measurements tfanew proiect does nor :::]"":,:1"j.!:'.

iil;:';il.trT'T,1ftldnt,ro

wnte upap¡rvate sLAorvoul ownThe dis-

SystemsArchltectureand Storage Thevast majority ofbusinesses data s

fi chlledure Corll/ónüon8l SloIaqó

re-r arrl The co*s are b",n;;;;oñffi['ff:.'::i:T'. i:',inffi..n,", l<\ocate4virhthpIndrt|du,rs Ie¡dedtornanage

upgrade andenhance tl.e storage devjces. problem.wrth storage costs is thattherealcostto theente¡pnse , ,,One ts ntdden Inhundreds orthousands ofplaces VortUurin"rrar rpgol" ltorrCu a machine and-¿harddriveat a time Thisresufoin ,.0*, áil,n¿ruJ, "oi purchases rhat never show up as lrne¡temson rhe rT :T-"]! il.!rÍil: depa¡tments budget seeFigure l_3 is notthatyouaoopra particulaf arch¡recture ,,^,l!: lil"n:* ig,.t but

,n.benefits and trade,offs associarcd w¡th t¡l áiiie¡eni llli,u,!l,fll",r,.ro -Iheconven tionalapproach is to attachthestofage devices, usually ,,.. directly hard dnves. tothemachine Thisisdirect attac¡.¿ito"C. u;á to¡sl üln excettent choice forsjtlarions in whichtight*.ri,v ,r"rii1 ,riiüi..j in rlresroncedevice. ttsdo"wnside r t¡a it ¡s io ::::]T !::, upgrade andmaintain upgrade ""pensjue costsa¡isemorefromt¡..ortr.,ri.1ul io moveapplications anddatafrom ;;-il;;;;;;; l::::^*^fl1"ll1 to thenewer. btgger devi(e "td;; thanf¡omthecosts related tothestora;e :evlcl Inaddirion, rhissror¿Ce nechanism makes ir ditfi.ul, ,o uri""Ol::'::.],:"tf,*,rhe s-e¡¿gs ¡651.or tt-eorsani¿ar.on areandro m"nage ;il::.".j,l areanetwotks fSANs) offe¡basically unlimited .Storage sto¡age thalis d rJÍnB daralransfel :,lill such :nrernod\ l":l asTl "¿rnrdrnL,(t exrremety,Igh.spee(J FDDIrt.r pors.ble to remove t¡"""1g. ,"d¡rlr"r;i;ii connection to thecornputefs backplane withoutaf..tinj p",ior.rn* iañ, *,lpiise-lev€t sroraee rhatjse..v,oir*c. .nd; c,;* ::::i:.-:i:.i::t r.SeNis a largeoperation thatrequires tiorougir;rJi.o-11 1l?,.r:n,ine Loj.orr cosrsHowever, A Proclicol cuide :1.:ll._,,:lr-llil rr,t subsrdntr¿t theROtfo. mos( loEnlerprlse Afchiteclure

u

:t#[::i"'::,:;:l i;li.l;:;l[Hl:1y¿Xi::,::iif,T"J;:5;:i

Archllodurs 8Lr¡Coao¡ Notvr¡rk

Notro ¡nached Slordqe

Arch iteclu re Syslems 25

If themachi¡es to beconnected aregeographically remote, diffetent stora€e architectufe is required. Nelwo*attached (NAS) storage devices a¡e¡ow-cost, very-low_rnaintenance devices thatprovide storage anddonothing else.youpluga NASintothenetwo* turnit on.andyou havesto¡age. Setup andmaintenance costs areverylow. theonlycost¡sto relocate theex¡sting, attached storage to theNAS.These devices arepefectforincreasinC storage togeograph ically distributed machines. Themaio¡determinant fofchoosing between NASandSANshould be thedatastorage architectu¡al design. Thefollowing willhelpyouchoose between thetwo: . Disaster recove¡y stro¡gly favors SANbecause of theeasewith which it canbedistributed overlarge distances Asofthiswriting, fibercanexte¡d upto 150kilometers without amplifica_ {95miles) t¡on.This¡¡eans thatdat¿canbeminored transpatently between devices thatare300kjlometers (190miles)apart . Di\tributtd p{rrfo¡n.{rtsbe cr wilhS^Ns . Theiollowi¡g functjonality favors SANs: Very large database applications " o Application server duties . Filestorage defjnitely favors NASS. . E¿se of administ¡ation is a tie.In thejrownways, bothstorage solutions areeasy to admjnister Witha NAS, youplugit intothe wallandintothenetwork andyouhavestotage. Theworkliesin pa itioning thestorage. moving dataontothedevice, andpointing use¡s tothedevice SANs requite quitea bitofup"front design and setup. butonceonline, adding storage is ve0,simpleandmore transpare¡t tha¡witha NAS . Highavailability ispretty mucha tie TheSANcanmirror datafor recovery, andtheNASS all havehot-swappable harddrives in a MID5 configuration. . Costfavors NASS. Initial costsforanNASstorage installation are about one,fifth thecostofa sirnilarsized SANstorage installation Howeve¡ theongoing costsof a SANareusually lessthanfora simllar NASl hisjs.lueto thefollowing factofs: . Stailing costsafelessdueto thecentralization of thestorage devices Thismakes thetaskof¿dding stotage quicker much ancl easel : ll¿rd\lare costs areless. Less is spentonslot;tge delicesLess (lrsk space ts¡eeded wjtha SANbecause thcyafemore€lficient iñtheutilization ofstorage Normally. SANslorase lvillaverage ;5 to 85percert utllization whileutilization for sonreNASs stüaee devices \\,ilL bel0 to It pe¡cent. AProclicol Guide jnl¡¿st(rcture . llN spe[ding loEnlerp is less. se NASS areaccessed overthe net\vork. afd backups Archilecluro areusually conducted overthenetwork Thisincrease if nenvork traificcanforcecostly ¡etrvork upgrades 26

mission-critic¿l databases hasa SANthathoststhccompany's Canar¡a physically centers to data data are mirror€d Poftlons of that data. and eachcampany campus flomtheopentioncenteritsetf.In addition, removed of rackof lar€enumbers facilitythat consists hasa cenlralfile-storage to the SAN aleconnected sewers mounledNASalIays.Mostapplication continue to growat a steadyrate,but the costof requirements Stofage asthedalahavebeencendropped hasactually thisstorage administrating NASS. ontotheSANandvarious tralized that lt is impcttant Nlostofyouwillus€a mixof theth¡eearchitectures. to costand a¡d beeasyformanagers byyourarchitecls ihismir beplanned to iustifv ploviding ofa complanninc backup isnotabout whiledisaster recovery canmakethetaskof protecting panysdata,theslorage chosen alchitecture andeasierlt cheaper materially th€enteDrise datastolage and¡ecovering (DAS) asrobustjn stolage effoftto makedirectattached lvilltakesignificant suchasa sANof a alchitecture, asdisfibutedstorage thefaceof disaster \'rilh¡ is po\sit)|. (a fcwhourslrccovcry Ouick mirrorlng NAS,vithremote SANarchitecture.

SystemsArchltecttre Aspects of Securlty thattouches on operation security is a wide-ranging Ensuring enterprise grow inte¡' ofextensive has to out As such. it area of a business aimost every teamOne andthearchitectule management between thecompany's actions archiof theissues thathasto beonthetablefirstis howto builda security 1s Si¡lce seculity advantage a competitive that increases companys tecture teamis the inputof the entirearchitecture an enterDrise-wide endeavot andapplytheproper appfoach fequired. lt is inpo¡tantto adopta graduated proper spots in the enlelplise. levels at the secuÍity consists ofthefollowing: cnterDrise secufity Effective policies . Effective, seculity comnunicated wellthought out,clearly policies . Effective, by a comof these ¡mplernentation consistent panystaffthatis motiYated security to protectthebusinesss . A systems secuÍity considelatLons thathastheproper architecture level. builtin al every rs to discr.rss oneofthefiÍstmattcrs enterprise sccurity When discussjng lofthat isaporopriate andwhatlevelofprotection $/hat needs to bepfotected lllanfronllr)ventory particular itemA usefultuleof thumbca¡beborrowed proper intothree lerelsA B articles divides inventory management agement ¡ecuritlprovl' andextensile andC TheA levelitemsarethemostvaluable andupdate Trade creditcadnumbers forthem. seclets, sionsareappropriate systems areiusta fevol theitenlsth¡t Nould Syslems access to financial Archilecture anddelete considerations41 butsecurity be on anA Iist.B itemsneedto be plotected,

against C ¡t€msrequire litdefinitely needto bebalanced operational needs. protection. tl€ or no security Asa ruleof thumb,t percent of thelistshould be A ¡tems,l0 to l5 percent shouldbe B items,andthe restshouldbe c items.A similaranalysis is appropriate forthesecurity aspects of anenlerprise's systems arch¡tecture. Thedataassets arelocated onmachinesthatale partof its syslems archiarchiledure. ln addition, elements of thesystems tecture, suchasthenetwork, willmostofte¡beusedin attacks uponthebusi, vitaldataresources oi ness's Thefollowing is a list of the maiotclasses in roughorderof f¡equency, thatmustbeconsidered when security attacks, partof thesystems buildin€ thesecurity architecture: . Vi¡uses andworms . Attacks bydishonest ormalicious employees . Destruction or compromise dueto of theimpoftant dataresou¡ces employee negligence or ignorance . Attacks fromtheoutside byhackers . Denial-ol'service attacks problems. Viruses andwormsarethemostcomrnon ITsecurity Thevast maiority oftheviruses andworms thathaveappeared inthelastfewyears do not actually damage datathatareresident on the computer thathasthe virus.However, in thep¡ocess of replicating andsending a copy themselves on a corporate mailinglist,viruses andwo¡msconsume a lalge to everyone impact onproamount ofnetwork bandwidth andusually cause a noticeable vifuses ductivity. Forthelastcoupleofyearsthe mostcommon havebeen psychological wellknown security vulemailviruses. Theyexploitertremely ne¡abilities in a businesss employees. ln addition, someperson or group of pe¡sons in cofporate infrastructure willberequired comsupport to monitor puternews viruses andto immesitesdailyfortheappearance of newemail getandapplytheprope¡ prevent diately antivirus updates to,hopefully, the business frombecoming infected bythisnewemailvirus Unfotunately, the state ofantivirus issuchthatdefenses lorviruses canonly current technology becfeated afterthevirusappears Themaiority ofattacks against corpolate dataandresources areperpeyourorganization Toprotect attack, utilize trated byemployees against inside thefollowine . . . .

groups gfo!p'level permissions User a¡dclfecti!e p¿ssword policies Eflcctiv€ to pfotect access to systqm Íesources regular ¿udits Thorough. security Effective logging security

groupanddesigning policies Assigning use¡sto theproper security thatcompletely, totallyrestricts access to onlythedataandresources the AProclicol Guide grouprequires its functions is thefirstlineof defense to perform against lo Enlsfprissattacks Dont forget to remove whohave byinside¡s theaccounts of users Archllocluro leftthefifm

n

anolher areafol effecForthoseenterprises thatstillrelyon passwords, passat thesystems architecture levelis effective tivesecufity Intenention passwords, theuseof effective make wordpolicies. Inaddition to mandating orwell-known suchasdatabases, areleftwithd€fault sur€thatnoresources, passvords in place. Allpasswords anduserlDsthatareusedbyapplicatjons form,notasplain to access systems resources shouldbekeptin encrypted method ofauthentication textinthesource code.Passwords arethecheaoest thepasswoÍds ifstrongpasswords areassigned to users, andcanbeeffective afechanged ona regular basis,andusefsdon'twritedowntheirpasswords if they to remember onestrongpassword Users canreasonably beexpected of applications usethatpassword onat leasta dailybasis.sincea multitude we recommend In mostenterprise envitonments, arepasslvord-pfot€cted system logonusername thatenterprises standardize onwindows operatinc ¡s the standard for authentlcation and¡equireeveryothcr andpassword Thiscan asits authentication. applicatlon usetheWindows authentlcation service or bythe mak¡ng a callto thewindows security beviatheapplicat¡on ticketfromtheoperating system appllcátlon accepting a Kerberos ol applihavea muhitude thevastmalority of enlerp¡ises Unfortunately, Asa r-.sult, mostuselshave thatrequire a usernameandpassword. cations passwords willbeusedseveral timesa Somepasswords iive,ten,evenfifteen cannot day,somewillbeuseda couple oftlmesa yearoftenthecorporation evenstandardize ona slngleusetname, sotheuserwillhaveseve¡alofthose, maintain written usemame and such asthis, mostuserswill too.lna situation password ls always clairnis forthissitualion cost,The lists.Theiust¡fication madethat it \¡,ouldcosltoo muchto replaceall the currentpasswordpfotectedpfogramswithonesthatcouldgetauthentication fromthewindows the When faced withthisargument, it isusefullodocument operaling system. passwords lostby andtheproductivity timeandmoneyspenton resetting thattheyneedto dotheirjob we users whoarelocked ouiof anappl¡cation peryear youwilldiscover expect costsintherange ofSl0to $20perernployee thatcouldoccurif Those figures, coupled withtheknowledge of thedamage listsfell into the wronghands,r¡ightget youthe oneof the password solution resources necessary to lnstitute a singlesign"on canauthentiandbiometlic devices Devices suchassmartcardreaders devices allowextremely süong andretinascans. These cateusingfingerprints dailyor even authentication methcds, suchaschanging of thepassword passwotd rightafteftheyhaveloggedon Thecostol changing the user's withsuchdevices is conside¡able. a¡d they rquipping anentire enterprise lf lhe uscrhastcn p¡ssvo¡donlygetyouintóthe operating system. protected programs to dealwithonceheor sheis loggedin.thedeljcehas youmuch. withoneof thesedevrces notbought Protecting A-level assets makes excellent sense. asingle signandthemaiority oibusinesses. Forthemaiority ofemployees passwo¡d everycou' onestron€ onsolution withtheuserexpecled to memolize pleof months solution isadequate security andthemostcost.effectilc youarevulne¡able canexploit where andwhatattacks Youneed to know vulnerabilit¡es Ifyouhavenotruna security aud.t¡¿leplan'ledo these ^ Arch¡l0cluro to audrtrhc syslems may*an, ro angrguouirideconsultants so Largeenteprises 29

entirefirm.Asanalternative, somesoftware packages probe caneffectively yoursystem fo¡ vulnerabi¡ities. Youmightconsider buildingup a security cadreof individuals in yourorganization. Theywouldbetasked withknowine andunderstandin€ alllhecur¡ent hacke¡ aLtacks thatcanbemounted againsi systems ofyourtypeandwithrunning anysecurity auditing software thatyou mightpurchase. Finally, effective, tampefproof auditsystems willallowvouto detect that anattackhasoccurred andwillprovide youwiththeidentity of theattacker Thisis wherescrupulously removing expifed useraccounts is important. lf BobSmith hasleftthecompany buthisuseraccount stillexists. thataccount canbecompromised andused inanattackwith youhaving noclueastowho reallyperpetrated it. Inanycasethecostof implementing thepatch to thevulnerability has to bebalanced against these¡iousness ofthethreatandtheprobabÍlity that someone in yourorganizátion wouldhavethesophistication necessary to carry outsuchanassault Lockthemostimportant doors Ílrst. Inadvertent damage toorcompromise ofbusiness databywell-meanin€ or rgnorant employees causes substantial business losses annually While thistypeofdamage hasro mallcious component. theresults arethesame as for a malicious attack. Inadve¡tent damage canbeprevented in a variety of ways.Training is firstandforemost. Whennewcofpofate applications are bein€brought online, it is c¡ucial thatpeople whowillbeusjngthemare thoroughly trained. Effective provides train¡ng a positive ROl.Aftefanappl¡cation is i¡ regula¡ oper¿tion. tr is tmportant thatexpeenced oDeratorsbe given thetimeandresources to tra.randmentor newoperators. Howeve¡. eventhebesttraining programs arenot100percent effective. lt isalsoimportantio makesu¡ethatpeople arein theproper folesandthatthesecurity parametefs oftheserolesaresocrafted thatpeople aregiventheleastoppottunityto do damage withoutrest¡icting theirabilityto carryout thei¡ assigned f!nctions. AudittrailsareLrseful forestablishin€ exactly whatwas damaged or compromised. Aftefthathasbeenasce¡tained, it is theroleof thebackups thath¿ve been applied tothisdatathatwillallow vouto fecover lror¡thesltuation Hacker attacks arehigh-profile events thatinvariably become news ite¡ns when discovered. lt isdifficult to accurately thesjzeoi business losses iudge caused byhacke¡ attacks ffomtheInte¡net youhaveto takethem ln anycase, se¡iously All companies canexpect to experience hundreds of low,level "doorknob tattlingattacks. suchas portscans runagainst them.in the course of a yearOnthepositive side.thevastmaiotity of technical hackef exploits arewellknown andthemeasures necessary todefcai themarestandardpartsof allcompanies' Internet defense systems Themajortesponse lhatha(ker atacks willprompt isyoukeepirg allyourmachrnes borhinside thefirewall andin theDMZ100pe¡cent upto dateonsecu¡jty patches. Any stratagem thatyoucandevise to stteamline theapplication of security patches wlrlgtveyoufcompany a slrateCic advanlage overa comp¿ny that A Prccllcol ouldg doesit allbyhand or ienores theproblem completely loEnlenrlse ihat canoccuff¡ornthe outside-fíomthe lnternetArch¡lscluie Of the attacks denial-of-seMce (DOSI attacks aretheleast common butpotentially themost 30

DOSattacls¡nvolve therecruitmerrt destruct¡ve. ol largenumbe¡s of outside andthesynchron ization of themto floodyoursystem with computersystems of requests thatit eithercrashes sucha large¡rumber ol becomes unable to to legitimate respond sewlce requests byyourcustorne¡s. Fortunately, dueto effortinvolved thelarge-scale on the partof theatiaciiers, DOSattacks are rareandarenormally directed against high,profile targets. DOSattacks are difficultto combat, extremely andit is beyond thescope of thisbookto discussmethods to dealwith them.ltisimponant. though, thatifyourcompany is largeenoughandlmportant enoughto be a possible targetfor a DOS youbeginnowto research attack, andto pul lntoplacecountetmeasures to fendoffa DOSattack. Allsecurity polimechanisms, suchasencryption andapplying security cies,will havean impacton syslemperformance. Providing certificate ser, vicesmstsmoney. principles Byapplying agilearchitecture to thedesign of partofyoursystems youcansubstantially thissecur¡ty architecture, mitigate theseimpacts. Tobeagile¡nth€areaofsystems architectufe security design r,'reans applying at iustthe¡ighttime lt means iusttheright¡evelof security beingrealistic aboutyourcompanys needs security andlimitin€ theintrupiovisions sionol s€curity intotheapplications andmachines thatmakeup yoursystems architecture. security shouldbeapplied to givethe Justenough maximum ROIand nomore. Asa finalnote,donotforgetphysical security foranymachine thathosts sensitive business data.There a¡eprograms thatallowanyone withaccess to a computer andits bootdeviceto grantthemselves administrator rights. paradigm. Once more, wereconmend theA-,8.,andC¡evel C-leveldata and g.leveldataandresources physical resources havenospecial security. have a minimallevelof security applied. ForAleveldataandresources, wesuggestyousetup security containment lhatalsoauditsexactly whois in the roornlviththeresou¡ce at anvtime.

SystemsAtchltectü¡e and Dlsaster Recove¡y planning Disaster recovery ls sometimes tefetred to as"business continuityplanning." DRPforlheenterprise system infrastluctute is a majorsvstemsarchitect responslbility. pueose The ofDRP lsto produce a setofplans todealwith¿severe.iisiüption ofa companys operations. DRP is independent ofthemodality ofthe (flood,fire earthquake, disaster terforistattackandsoon).it involves the following, . ldentification of thefunctions thatareessential forthecontinuitv oftheenterpdses business . ldentification of resoufces thatarekevto theoDeratiotr oí those functions, suchas: o Manufacturing facilities o Data Syslems Archileciure o Voice anddatacommunications

3t

o People o Suppliers o Etc. Prioritization of thosekeyfesources Enumeratio¡ of theassumptjons thathavebeenmade duflng the UKPprocess Creation of procedures to dealwithlossof keyresources Testjng of thosep¡ocedures Maintenance o[theplan DRpisnormally a large project thatinvolves inputfromevery unitinthe comp¿ny Tl'esheer srze of tfe elfortcan,.1. , *.rn p,"t,¡,ii"j¡, s.ve. DRP isla¡gely peÍect about money. "rp.ri disaster protection willcost an enormou-s,amount of it. A disaste¡ coupled withina¿equate ¡np.an ¿eltro}, u n**ul theDRpprocess willbetit. unyot¡.,.orp.nvp,o.Éri :-o1Til rn¡harthesizeandcosrofrheDRpeffo¡twill beadi,ju.¡t" iit ,,l"illbi. .".l p¿ny tesou¡ces To.provjde thebestDRpforthea*ilr¡f" ouital thatthean¿lysts ph¿se correctly dothefollowtrg: "rou,*r,,t . ldentifies allthekeyresources . Accurately prioritizes thekeyresources . Thatit provide accutate costing fofprotect¡on of thosetesources . Thatit prov¡de accurate estimates oftheprobability ofthedestructionol thekeyresources oivenan accurate resource aralysrsthe lT/business teamcanwork .together.to buildanaflo¡dable DRpwhencosting theOnlprogram. Aonái neglect themaintenance oftheplan DRP plannrn€.lor wjllinvotve rhecoofdination , DRPpJans mostenterptises of indtvrdrlal ftoma vanety of departments Wefoc,ls on C¿nax¡as DRp andthep¡ocess of itscreation disaster planning team(DpT) wascreated andtasked with -_--Jnitially,-the creatrnC a DRppfocess. Canaxia s architecture groupwasa co¡epartof that teamIt quickly became obvious thatCanaxia

m.intu¡n,n¿ a¿mrni,L;;;;"d ;:; ;11,':lh'Sff,TJilliT'fi:R::

Continuity wascreatecl IDBC) Followingare some oftheciticalCanaxia resources thatthe DRp identified: . Lngi¡emanulactu¡in€ facilities. AIIeng¡nes fortheCanaxia lineof vehicles weremanufactured in onefacility. . Brake ássemblies. Canaxja useda unrque brake system available A Procl¡cot supptief Gutde Thatsupplier wasro.rt.O'in u por,ti.riiy l::l^: :'l¡l: unstabte region lo Enlefpr¡se of theworld Archilscture . Data0l themountain ofdatathatCanaxia maintained I0 percen,! wasabsolutely critical to dailyfunctiontng. Fu¡thetmote.45 Defcentofthedatawasdeemed írrepiaceaore

n

--

. Voice anrldatacommunicatjons. Canax¡a clepended ontl)eIntetnet for the communtcatlo'r necessary ro k.it';c;i;; ¡;;";;;^; departments. . Theente¡prise resourcc planning system {ERp) th¿¡totally auromatedall of Canaxia! manufactu,-ring ard supply actrvities . A^core groupof lTemployees thathaddonetheinstallation of the Loss rhemanager andtwooi rhea.uurop.,,*orta fe^s^y:T.i. 9j navea severe negative iropacl onthefunctionjng ofthe¡npsyster¡. Oncecriticalresou¡ces hadbeenjdentified, tlteyweredividedintoth¡ee . calegor¡es: . Survival critical.Survival criticalI

,eq1,ied ror the survivar ;';;:;d::;'i,"il:i;::;i i:i:lllXl

act¡/itiesmustbe restored v/ithin24 h"r,, D;i.,;p;fi;;;;., ¡nfrasttucture, andphysical facilities iequirecl lo¡tf,"0.."p,",,.0,,i otdersandthemovement of ccrmpleted vehicles frorn,nunrtuiiurrngptantsareexamples of survival critic¿tl resources fo¡Canalia . Misslon critical.Missio¡criticalresources ¿tefesources that¿fe absolutely.rcquired forthecontinued functioninc;i;;; i;;;;.. However, thecompany canlivewithoutthesere;u,.", ;;;;;;;, weeks. . OtherThiscategory contajned all the ¡esources that couldbe destroyed ¡na dlsaster butwerenotdeemed to besurvival o¡ mis_ sioncriticaL lí theywerereplaced, it woulcibe mo.t¡i", v..rr.ii", *ng".O,rhereamarr¿ched a probabijity thdttheresource ,,,^ .|YIll:r:n wourc become u¡available anda costto protect it Alltheassrmptrors usJ rntheanalysis p¡asewefe deta¡led to ajlowthei.di"dr.i, ,uJJ;;;;;: IngtheDRpto doa reality check onthenumbers given them. Docu,menting existing procedures sothatotherscouldtateo- lhefunc. ,. tio¡rng_of keyCanaxh employees was¿ subst¿nttal pa¡toftheDRpCanaxt¿. irKe,many otherenterprises, hadneglected dorumentation foralongtime.ihat

hi*,9 b"reclified aspartofrheDRp rn,.nv."r..lproJr.¡*

l:!l::,l:yld decades oocumentation aftelasystem wasbuiltw"rld b" r;;*;;".;;'" enume¡ate a setot teslsrrdrw.ltr.to{.t-econr1ll,h.*to pany tohave "."..:tjl^O-*l confidence intheDRpRunntnE

;ffi: ü;:l,i:ti:ffJ::i::"jf :t:::1.:.i"!" lh;Ji; ;[ff;nr:,

resoufce toss, aM critrcalityof the¡esource ,*,,* ,.. r*¡ i.l*,.,._",, ' rnerneassumpflons fromtheanalysis phase foraciuraci hry.",,obe mainta¡ned. As sysrems and business ¡eeds cnange, "¡.^-1^Oll the:ll DRpwill haveto be revised. In somecases, theOnpneeds can q:.':,*s. canaxiamadethedecision ,o rno_",o *...u, l:ll^ 1:'::: ora(eassembly thatcouldbeobtained " froma uarietyol sorrrces Ciia as

oritstechnical y* setring points, and,r.rr.r;;; ijill l,.I.I:1" Kn€s,that moving to a"ne generic brake would not

helps¿les C.n^ioalr., Syslems Archiiecture *y:rt rulethatsrronety drsca¡¡¿gu6 r,]rcsrri.c. sel[,8 ill"-?51Í : source supplier relationships 3inthefuturF

Werecommend aniteralive approach to DRpFirstdothetopof thesur_ vivalcritrcal listall thewaythrough phaseUsetheexperience thetesting gainedin thatpfocess to makethenextincrement morefocused andeffi, cient.T¡ying to dotheentj¡ejobin onebigeffortriskscostandtimeoverruns thatcancause theprocess to beabandoned before anythi¡gis protected. Thereafethreeimportant aspects to emphasize aboutsystems architecturel COnCIUSiOn l. lt mustalignwiththebusiness oftheorganization. €oals 2. lt mustprovide whatthestakeholders needto perform theirfunctions. Thisisa two-way streetThea¡chitectuÍe teamshould take ¡esponsibility toestablish communication withsystems architecturestakeholders andto understand theirissues. 3, Thesoftware andhardware infrastructure of an entetpse is a majofassetthatmustbemanaCed to provide thegteatest return onthatinvestment.

Software Architecture Maps¿ne|wage boldness. Ihettn' lú¿ (uptti l e ht,'ts Th.?U mdft(lr,UtÍ,ing seenp0ssi6k. ,ToTimbuktu. jenkins Mark

Thefollowi¡g should beconsidered assystems architecture bestptactices: l. Knowthebusiness processes thatthesystems atchitecture is suppofting Know theminside andout. 2, Keepsuppo¡t of thosebusiness processes fitstandforemost on youfagenda Know whatthebusjness needs andkeep thebusiness sideaware ofyouraccomplishments. 3, Knowthe components in yoursystems architecture, all the mach¡nes, applications, network connections, andsoon. 4. Instfument, yoursystem. Thatis,installmonitoring andmeas, urement systems thatallowyouto findtheproblem areas and thebottlenecks 5. Attack thecheap andeasyproblems firstThatwillbuildand helprnaintain credibility andt¡ustwiththebusiness sideofyour company ó. Prioritize andbeproactive lf youarenotconstrained to ptoduce immediate results identify thentostinportant systems a¡chitec, tuÍeproblems andattackthemfirst.evenbeforetheybecome problems Coodsystem rneasurements arekeyto beingableto problem identify areas inyoursysterns atchitectu¡e a¡dto est¿b_ lirhthemosteffective me¿ns to dealwith them 7. Know allyourstakeholde¡s Thepeople aspects of yoursystems ¿rchitecture a¡eat least asjr¡portant asthemachines 8. Onlybuyasmuchsecurity asyouneed. Civeupontheideaof prioritize becoming invulnerable yoursecu¡ity issues intoA, B. andC lists

A Proclicol Guid6 lo Enlense Asarchitects team withthebusiness sidetoalig¡systems withbusiness AÍchlleclure processes andkeepthemaligned asbusiness needs evolve, theywillgetthe 34 opportunity to develop skills in understanding thebusiness andworking wrrh fina¡cial algo¡ithms andcalculations

architectuÍe ofa system ora fa¡ilyofsystems ha\oneol thc The software |' rnostsignificafit ¡mpacts on thequality of anorg¿nizaiion s entetp¡.sc architecture lvhi¡ethedeslgn of softwa¡e systems concentrates onsatisfying thefunctional requlremenls for a system, thedesignoi thesofrwarc archr_ tecturefor systems concentrates on the nonfunctional or qualityrequircmentsfofsyste.rns. qualityrequifemenis These aÍeconcerns attheenterprise level.Thebetteran organization specifies andcharacterizes the softvare architecture for its systeins, the betterit cancharacterjze andmanaee its enteDrise architecture. Byexpl¡citly defining thesysiems solt*ar.archtec. tures,anoreanization w¡llbebetterableto reflectthepriorities andtradeoflsthatareimportant to theorganization in thesoftware thatit builds Thesoftwafe architectufe of a system suppo¡ts themostc¡iticalrequire_ Forexample, if a systetn r¡ustbe accessible . mentsfor thesystern. froma wireless device, or if thebusiness rulesfora system change ona dailybasis thenthesetequirements drastically affectthesoftware atchitecture fo¡ the system. lt is necessary foranorganizátion to characterize softwa¡e architectures andthelevelofqualities thattheirsystem s support to lullyu¡derstand lheimplications ofthese systems ontheoverall enterprise a¡chitecture Since thisbookhasa focusona€ilemethodolo€ies it is intnort¡r)l to , d.s(uss lherelationship between soft$are a¡chrlert.,rc,rl.LI¡Rrl, -llr\.r.l. . giesTherecent pushin software development toward agllemethodologies suchasext¡eme (Xp){Bectlg99l,in some\vays Programming counrels thc belief in¿nexplicit andfo¡mal definition ol softw¿re ¿rchrtectujp \,¿,tv dutlc methodoiogists asse thatsoftware desiCn istheresult of ire¡orrre reÍ¿ct'oringof a system bydeve¡opers untila sufficiently workable designemerges Howevef, in XPtheseiterative refactorings atedonein a small,easilyunde¡_ standable conceptual framewotk forthesystenc¿llÉd tl.e(tstr,,r nr.l¿?¡fo, The system metaphor is a simpleshared storyforhowthesystem workslt consistsof thecoreconcepts, patterns, classes, andexternal metaphors that I E

shapethe systembeingbuilt.Thesystemmetaphorplaysthe samerolein thc lt providesa development of a systemas conceptualsoftwarearchitecture. vjsionfor the development of the softwarc, andit isthe goalthateachsystem stakeholder muststrivetoward.A lo¡maldefinitionof the softwafearchitec. ture is mofetechnicalthanthe systemmetaphof, but both playthesamerole Theexte¡t to which in providinga centralconceptfor systemdevelopment. an organizalion needsto providea formaltechnicaldescriptionof the alchiit wouldnol becost" tecturesof its systemsdependson manyfactols.Clearly, for a smallnoncritical effectiveto formallydefinelhe softwarearchitecture to nol fordepafimentalsoftwa¡eapplication,and it wouldbe unacceptable of a highlyavailabletelecommunicamallydelinelhe softwarearchitecture is diffe¡entandhasa differentneed tions softwaresystemEacho¡ganization software architecture. Theagileprinciple of "lf youdont needit, fo¡detailed as well as to all the other then don t do it" appliesto softwaÍearchitecture partsof an organization Formoreon agilemethods s enterprise arch¡tecture. seeChapter9, AgileEnterpfise Architecture andarchitecture, m¿ny No singlestandarddefinitionol softwarearchitectu¡e exists.However,

Whatls authorsand fesearchers archil\lure. haveattemptedlo define the letm sollv'drc Software Following aresomeof the mostnotabledefinitionsl Architecture? '"Ihe softwarearchitectu¡e of a prcgfamof compütingsystemis the compostructu¡e o¡ structures of the system, whichcomprise softwa¡e andthe visibleproperties nents,lhe externally of thosecomponents, LenBass,Paul rclationships amongthem;'Sah';i¡aft ñchil¿cluft ¡nPrdcli¿¿, andRickKazman, Addison'Wesley, 1997 Clements,

''Anarchitecture is thesetofsignificant decisions abouttheorganization andtheir o[ the st¡uctural elements of a soflware system, the selection withtheirbehavjor interfaces bywhichthesystenis composed, toeether asspecified in the collaborations amongthoseelementsthe composi lafger tionofthesestructuraland behavioral elements intoprogressively subsystems. and the architectu¡al stylethat guidesthisorganizationandthei¡interfaces, theircollaboÉtions andthei¡comtheseelements position Tf¿ UML Mod¿1i,14 L.angu\qe Uw C¡1¡d¿, Booch,Jacobsen, Addison-wesley. Rumbaugh. ¡999 'software aboutthe a!chitecturc is a setofconcepts anddesign decisions structure andtextureol software that mustbe madeDdorto concurent significant engineering to e¡'iable effective satisfactio¡ of architecturálly functional rcquirements of erplicit andquality requireme¡ts andimplicit the pfoductfamily,the p¡oblemand the solutio¡domains SdÍl4r¡4 AKhil¿uE lor Prcdu(lFlu¡lits:Pr¡ndples lnd Prd(liú¿, N4ehdilazayeli Aiexander R¿n.FranL vanderLindenAddison-wesley, 2000 guidemustinclude a These delinitions are¿ bit academic, anda practical p¡acticaldefinitionof softwarearchitecture and the reasonsfor havingone. woulda of résearch havebeendoneon the subject,but whyexactly L¡ountains proiectneedtodefinethesoftware With architectu reof thesystemi! is building? architecture, thispracticalguidein mind.weoffe!ourdefinitionof software

Guide A Proclicol loEnlerpise Archileclure



consists Thesoftware architectu¡e ofa system or a collection ol systems andthe oftheimportant decisions aboutthesoftware stÍuctules design These inteúctions between thosestfuctures thátcornDrise thesvstems

deslgn dcclslons support a deslrdsct of qualities th¡t thc systen provide should s{pportto besuccessfr.¡I. Thedesign decisicns a conceptual basig forsystem development, suppon. andmaintenance Creating softwafe archltecture is a difficultendeavor, andthesoftware a¡chiproject. tecthasoneol themostdifficuhjobsin a software Heor shemust TheRoleof havetheconfidence of all thestakeholde¡s. Thisconfidence is basedon a a Software proiects trackrecordof successful who Atchitect andthe respect of the develope¡s regard himor herasa technical leaderThearchitect mustbeableto communicate withvariedconstltuencies. Heor shemusthaveexcellent design skills,technology skills.andanunderstanding of softuare enginee¡ing best practices. politics HeoÍ shemustbeabteto ¡avigate through organizational to €ettheDroject donecorrectly andont¡me.Thesoftware archiLect mustbe a leader, a mentor, anda courageous decision make. great Atchitecture, likelife,is all aboutthepeople. Creatpeopledeliver archi¡ecture, andthereverse iskue.Thetechniques outlined in thischapter willgiveanarchited greatarchitecture someconcepts andtipsfordelivering greatarchitecture butthebestwa!,to trulydeliver is to startwithtrulygreat architects ln cartography, a singlemapcannotfully characlerize a place.Therearemany kindsof maps,suchashighway maps,biketrailmaps,andelevation maps WhyWeNeed Eachtiypeexplains anddescribes differentaspects of the samephysical Soltware place.Eachmapis relevant to a different useror stakeholder Thefamilyon Architecture vacation is interested in having a highway mapin itsglovecompartment The cyclistneeds thebiketrallmap,anda mountain theelevation climber needs map.In addition, a mapdo$n'thaveto bepelectlyaccurate to beusefullf a perfect scalemapof rid€sandpathsweregivento visitors to WaltDisney world,it wouldbeaccurate andsomewhat useful. How€ver, themapthatis prettypictures actualiy handedout at WaltDisneyWorldcontains of the interesting ridesandthepathsarenotto scale. Worldvisitor FortheDisney thismapis moreinteresting, thoughuseful, andit impansa betterunderstanding ol theiayoutoftheparkthan a ca¡tographer's mapwould Thesame holdslruein software aichitecture. Thearchitecture thatis p¡esented to the end-user contains lessinformat¡on andis moreinteresting, but focuses on thécriticalaspects of thesystem thattheparticula¡ stakeholder community shouldunderstand. Thesoftware architecture thatis needed bvdevelooe¡s canbemo.elikea cartographer's depiction architecture. lvith of thesoftware multiple maps outlining themultiple aspects of thesystem in ñro¡e det¿il of software afchitecture is to impartan lust likemaps,the purpose u¡derstandingof thedesign ofthesystem to thcre¡der. Thepoi¡tofsofhrare architectu¡e is to communlcate anidea.lt takes thefeader intothesoitvate andexplains theimponant concepts lt helpsthemunderstand theimportant aspects ol thesystem withoutactually andgivesthema feeling fora system having to seeinside it. Despite we theinvention of satellite image¡y, maps arestillimportant. cannowgetanexactpicture of Earthat anylevelof detailweneedThepictufesshowrivers, oceans, andmoreaswellasthelayout ol WaltDis¡ey Sofwore Archileclurc World ln theirexactine detail sl

'Mapshav€thecharacter ofbeiñg textual irithattheyhave words assowiththem, c¡ated thattheyemploya system ofsymbolswithin thehown syntax, thattheyfunction asaformofwriting (inscription), andthatthey arediscurslvely embedded úithinbroader contexts ofsoclal actio¡and "Text, power"lohnP¡ckles, Hermeneutics andpropagandá Maps,in Trevor andlames I. Barnes S.Dunca¡, eds.,W¡iti¡g Worly't D¡ro(s¿ d¡rd M¿Idphor h theRqt¿t¿ñtaliok olt-í¡ds.ap¿, London: Routled€e, 1992, I93. Mapsandarchitecture don'tdescribe ¡eality. Theyarerepresentations of realityvithina chronological andcultural context. Theyalsohavea djstinct jn otherwotds, pefspective ontheplacetheydescribe. reverse enginee¡ing a (UML)diagram Unified Modeling Languace fromthesource codeol thesistemdoesnotcreate anatchitectural modelThearchitectural modelcommu, nicates theimportant design decisions thatweremade at a particular time andthatwereimportant group to a particular ofpeople. Thecartography metaphor wofks, except forthefactthatafchitecture is anupfront activity. Incanography, mapsarecreated places. forexjsting They aremeantto describe something thathasaheady beencreated. In software architecture. themapsor models depictsoftware thatisyetto becreated. The models embody theimportant design decisions thathaveb€enmade about thesystemBycteatin€ andcontfasting dilierent models of software thatfulfill thesamepurpose, intelligent decisions canbemadeaboutwhichdesigns arebetterthanothers. Thisis thesecond pueoseof software a¡chitecture

Ine lw0txtfemes Softwafe development approaches varybetween twoextremes. Thefirst method involves littleor noupfront modeling or design. Thisis the.shanty town'method of system development in whjcha fewdevelopers codewith, outa mentalpicture in theifheads aboutthesystem theyarebuilding. Also, somemanaCers believe thatif developers aren'tcoding, theyafen'tworking. projectnanagers These alsobelieve thatthesooner developers begincoding,thesooner theywill bedone.Thisstemshomtheincorrect beliefthata constant amountof timeis involved in thecodingof thesystern no mattet whatupfrontprocess is used.ln thislypeof environment, developers dont fullyunderstand the requirements for the system. Someof theseenviron, mentsdeliverdecentsoftware throughheroics bydevelopers andfrequent rewrites, although thisapproach is notrepeatable, andit isextremely risky. Theotherextreme in softwa¡e development is,ivory tower" softwa¡e archijn whicha design tecturc teamo¡ a singlearchitect design a system in eve¡y detail, downto th€classandmethod levelTheafchitect hasa cleafpicture in hiso¡ herheadaboutthedesign of thesystem buthasnotjeftmanyofthe impleme¡tation details to thedevelopers Thebelielin theseenvironments is thatthearchitects a¡ethemostexperienced developetsand thuscandesign the bestpossible system fromstaftto finishNoo¡epeÍson o¡sma rearn canoossiblyundeGtand all therequitements, predictevery change in ¡equirements AProclicol Gu¡de andhavee{pe¡tise inevery technoloey thattheproject isbuiltupon. Developers lo Enlerplsein theseenvitonments alsosuffeffromlowmorale because theyarepercejved Archlleclur€assomehow infefiortothe designers ofthesystem Motale isalsopoorbecause fnustimplernent thedesign ina presc¡iptive 3S thedeveloperc waywithlittleorno inputintothedesign of thesystem

The Mlddle oí the Road Sowhatdoesall thishaveto do withsoftware architectuie? Sofhvare architecture is themiddleloadbetween nodesign andcomplete designlt is a vlewof thesystem design thatshowshowthedesign satis¡i€s thecriiical requirements oí thesystem. lt ¡stheroleof thesoftware afchitect to design thestructures of thesoftware suchthatthosecriticallequirernents aresat;_ fied.lt is alsothegoalof thesoftüate architecture to facilitate lhedevelopmentof thesystem by multiple teamsin parallel. In addition, if multiple teamsor depaftments withlnanorganization wilj support andmaintain the soft$,are, thesoftware architecture willal¡owthosepartsof thesyste¡n to be managed andmaintained separately. Themostimportant rolethatthesoftwareafchitecture hasis thatof an ofganizing concept for the systemThe softwa¡e atchitect hasan ideahowthe systemshouldwo¡k.fhesoftwate architecture is thecommunicat¡on of that¡deato othersystem stakeholders sothateveryone understands whatthesystem doesandhowjt doesit 1na practical sense, tworulesdetermine whether or nota design detail shouldbeincluded in thesoftware architecture: l. Thedesign detailmustsupport a quality requirement 2, Thedesign detailmustnoidetract lromstakeholder unclerstand. ingof thesoftware architectu¡e. ¡fthedesjgn detail doesnotsomehow improve ona quality ¡equireme¡t of the system, it shouldbe leftout.Forexample, the architecr mjghtnot choose XMLdueto performance concerns. However thesystem mighibene_ fit morefromthemodiflability of XML.withoutanelicitation of th; qualiry ¡equirements forthesystem, thesetypesof decisions mightbemadebased on personal preference Instead of qualityrequirements. Also,il a design detailis complex andcannot bedescribed in a simplewaythatstakeholde¡s canunderstand, it shouldnotbeincluded in thearchitecture. A design detaij thatisnotunderstandable isalsoa signofa baddesign. Manypeoplebelieve thatthesoftwaie architecture is meantonlyforclevelopersto useasan overall guidefor system designandconstruction. While TheSystem thismaybethesoftware architecture's primary purpose, othersyster¡stake_ Stakeholders holders canusethearchitectute asa basisto guidetheiractivities aswell Thefollowing afesomeof thesystem stakeholders . Developers . Mana€e¡s . SoÍtware architects . Dataadrninistrators . System customers . Operations . N,,larketing . Finance . End-userc

Sofly/ore Archileciuie

39

Cenefal rnanagement Subcontfactors Testing andqualityassurance Uldesignels lnfrastructure adrninistrators Process administrators Documentation specialists Enterprise architects Dataadministfatots Thesoftwafe architect mustelicitinputf¡omallthesystem stakeholders to tullyunderstand thetequtremenls forthearchitecture Thtsis imDortanl because therequirements arebuiltftomtheperspective ofwhatthesystern should do However thea¡chiteclure mustreflect howthesvstem wtLlDerformthose functlons Thesystem s customers wantthesystem to beof highquality. They want thesystem to bedelivered in a tirnelymannetAndtheywantit to bedevel, opedasinexpensively aspossible. js looking Thedevelopment organi¿ation fora visionfo¡thesystem it is goingto design anddeveloplt wantsto knowthattheafchitecture is easvto implement lr hasharddeadlines thatit muslmeet,soreusability is important.Thedevelopers ¿tegoing to beIooktng lottechnologies ir thearchitecturethattheycufrently understand Theywant thearchitecture to match their platforms, desired development tools,libraries, andf¡ameworks. Theyneed to meetdates, sothearchitecture shouldeasetheirdevelopment effort.ly'ost ofall,theywantanarchjtecture thattheyhave participated indeveloping and evolving throughout thelifetime oftheproduct. Theopefat¡ons group wants a product thatissupportable andmaintainable. Theproduct mustnotfail lt hasto meetservice levelagreements that it canonlymeetiftheproduct isreliable. lf thesystem goes down. thisgroup is on thefÍontlinest¡fingto getit backup.Whenjt doesfail,theopefators needto findoutwhysothatthep¡oblems canbefixedTherefo¡e, thesvstem shouldpÍovide somet¡aceability forsystem transactions sothatwhatwent wrongcanbetracked downTheoperations groupalsohastheresponsibility forinstalling newmachines andupgradin€ platforms software ona schedule It needsthesoftwa¡e to beflexible andpo¡table sothatmoving it to a new macnrne orontoa newversion oi theoperating system isfastandeasy Thema¡ketin€ people a¡elookinC fotanarchitectu¡e thatcandelive¡ the greatest number of features in theshortest amount of timeAnarchitecture thatis flexible andcaninteg¡ate oflthe.shelf packages willwintheirhearts. lnaddition, if théptoduct isa comme¡cial product, thearchitecture maybea porntSawy(ustomers keyselling of conmercial products wrllrecognize a froma badone. AProclico¡ Guldo €oodarchitecture lo Enlorprho End-users needg¡eatpefformance fromthesvstem. lt musthelDthenr Archltoctuf€ gettheirlobsdonemorequickly andeasily. Thesystem mustbeusable. The mustbedesigned withend-usef 4o intefaces tasksin mindand.ideallv the

system shouldbecusiomizable sothatend-use¡s canchoose hov/theywish to useit. Every stakeholder hash¡sor hefperspective o¡ whatis important forthe systento do.lt is uptothearchilectto mediate among theseindividual concerns.Not all stakeholders canget everythinC theywantall the time Sometimes, a requúenentcan beeasilymetwithoutdetracting fromanother fequ¡Íement. Somet¡mes trade-offs haveto be madeamongihe various requirements. These afethedecisions thatthearchitect mustfacilitate within theconsüaints places thattheproiectsponsor ontimeandmoney Ourfictitiousautomobile manufacturer wasIosingsalesto other Cana(ia a manufacturels because it relied comDletely on itsdealer nehvork to sellits Creating carsOtheraulomanufacturers Web created sitesthatalloNcustorncrs t{l Software customize andordertheircaronline. Theotherautomanufactute¡s shipthe Arch¡tecture: carsf¡omtheirmanufacturing facilitiesdifectlyto the customers through AnExample localdealerships. Thisresulted in greater custotner service andreduccd th. p¡ocess hassle ofbuying a carlroma dealership andstruggling withthes¿les Canaxia wasabout twoyears behind theircompetitio¡ Themanagerne¡t ofthecompany hasdecided tofunda proiect fo!twelve r¡onthstocreale ¡ WL'i) siteañdrelated infrastructu¡e thatexceed thecapabiltty of iheircompetition. Canaxia hasa malnframe system fororders, inventory, andfinancials lts irtvento¡y andordersystem waswrittenin the 1980s. lhesysterllu¡ctions. butit is veryexpensile to chanCe. Thef¡nancial waspurchased system and custcmized in thelate1990s. Thcinfraskucture architects havedecided th¡t lBlúlvlQseries willbeusedto integrate all theenterpnse syster¡s. ThestandardfotWebdevelopment in thecompany is Java andJ2EE. Theatchitects o¡ theproiectfaceda difficultiob.Theyfealized thatthe software architectufe is implemented at thebeginning, middle. andendot everyproiect.However, muchmofeemphasjs is on it at the beginning of proiect. every Before thearchitects stafted. theycreated a checklist of princrplestheywouldstriveto followwhiletheycreated thearchitecture, l. Thearchitecture should bethin. 2. Thearchitectufe shouldbeapproachable 3, Thea¡chitecture shouldbereadable 4. Thearchitecture should beunderstandable 5. The¿rchitedure should becredrble ó. Thca¡chitecture does¡'t have to bepelect 7. Dont dobiguphont design lfgivenachoicebet$ee¡ N¡kin{th(. perfect model orimplementing it,implement it 8. Dothesimplest pfecludthingthatcouldpossibly workwithour ing[uturerequirements. 9. Thearchitecture is a shared asset. 10, lnvolve allstakeholders butmaintain control I l. Thearchitecture teamshould besmall. 12.Remember thedifference between a oieanda chicken

Sollwafe Archileclufs ñ

1 ThePigandtheChicken o pigondo chicken decide¿ Onedoyono fom neotConox¡o, to openo restoúrcnt. Ihep¡gtumedIo lhech¡cken ondoskedhin, 'Soúlhatshouldwecollthisrcstouanl?" 'HM obouttkn h' EWI Ihe ó,¡c*enrcpl¡e¿, lheptgthoughtfoto nonentondso¡d,"tdonl thinkthot'so verygoo¿¡deo.Youwouldbe inwluEd, butI wovldfu connitted.' Ihe Sdun (Schwober eI ol.2001) &velopnentmeko¿ology usesth¡ss|oryosthecentrol thenetotd¡i¡nfu¡shing futweenthose peaplewhoorcp¡gs(oss¡gned wa*) ondthose who (¡nfercsted, otech¡ckens butnotv@tking). Vy'hen cteatngsaf¡worc otchrcdue,chikensconMeckthepocess ¡ntwowoys. I chr',kens arcon theotch¡lectute leon,pu shauUjustg¡veupondopeno rclouont.Assunngthot theorchiEcturc leo¡ncons¡sls o{ollpigs,nokesutethotke architedue addresses thecon.ens o[ thepigsin theorgon¡zot¡on. Don'tletke ch¡ckens sneok¡noneggorI' o on¡lñoke yaudes¡gn t'otsometh¡ng thatisn'tteov irnponont.

Thefollowing sections describe thestepsthatthearchitects at Canaxia performed (Bass, to create theirarchitecture Clements, andKa¿man 1997).

TheBusiness Case Canaxia wasluckyiit involved thearchileclure teamwhenit cfeated the business caseforthesystem. Manyorganizations do notinvo¡ve anarchitect at projectconception. Thearchitectute leamwasinvolved fromthestartof theproiect. Thebusiness customers needed to understand therelat¡ve costs of the varioussolutions theywerecontemplating. Thearchitectufe team undefstood thecurrent technical environrnent andthetools,processes, and personnel required to implement thevarious oplionspresented bythebusi, nesscommunity. Thebusiness customers tealized thala great solution that is lateis sometimes worse thana mediocre quickly solution thatisdelivered Onlythe architecture teamcanevaluate the various oDtions andDrovide inputintothetimerequired to create eachone. AtCana¡¡a, theafchitect wasinvolved upfro¡twithautodealefs, management at thecompany, systern e¡d-users, andthedevelopment team. The business case tookintoconsideration thetimeframe andthetechnical com. l r ( ft' ¡ lin ft n Wcl)sltc I l .xily in v( ) lvr { ir

l hc ¡¡¡l ontol )i l obüf;i ncss ' ( jr

Understanding theRequirements Canaxia reali¿ed thatanarchitect couldn't buildarchitectu¡e fora svstem thatheorshedidn't understand provide Therequirements ofthestakeholders A Proclicol Gu¡de thearchitect witha context fromwhichto create a desien. A usecaseisa comlo Enlsrprlse monwayofcapturing a requitement. Theusecasedesc¡ibes someactionthat Arch¡leclure thesystem mqstperformA usecasedesctibes in detaileveryinpuvoutput pe¡fo¡ms 42 interaction thatthesystem witha useroranother These system are

howthe the usecasesspeci¡y addition, knownas f!¡4i0Í¿lrüuircuenlt.lr k¡ownas"nonfunctional aremodifying clauses willoccurThese interaction presses entel amount, thelr5¿ t(s¿,"ljserenters requirements. Forexample, A nonfunctional is a functionalrequirement. displays theinvoice" andsystem presses phrase, enter, amount, suchas"Userenters requirement modifiesthis "within, is a seconds" The t seconds." andsystem displays theInvolcewithln qual¡ty of lhesystem. nonfunctionalor requirement will accepttheamount howthe system Thearchitect mustdocument validating thelequest, described h theusecaseby usinga userinteface, fortheuserThere aninvoice andgenerating storingihedatain a database, all the mustsatisfy is no architecture for theusecase,butthearchitectufe ThearchitecoI quality lequi¡ements thenonfunctional usecases, including suchas"Userentersdata tureshouldaddress eachpatternof intefaction, displayed." o¡ error is are saved to database, a result an data but evennore werewelldocumented, At canaxia, the requirements in everystageof theproiect wereinvolved importantly, userrepfesentatives o[thcsyst.nr anddcvelopmelrt andprovided dailyinputiutothearchitecture

orSelecting theArchitecture Creating requiregathering process a setof functional delivers Therequirements these At Canaxia, with eachrequilement mentswithqualitiesidentified or uselstofiesEachusecasehada set requlrements werea setof usecases by theusecase.Thea¡chitecture thatneeded to be supported of qualities andqualineeded to supportall theselequirem€¡ts thatcanaxia selected technolotechniques, were easily met using ties.Someof therequirements werefamiliar gies,andpractices andarchitects withwhichthedevelopers qu¿lifiPs ll"ose partof selectinC wassattsfying thearchitecture Thedilljcult and unknown that wefe lisky and technologies usingtechniques thearchitects risksin theproiect, andreduce thetcchnical Toaddress qealedar' ltchitcclurc in thedevelopThiswasthemainmilestone baJ¿lifl¿. 1998)ThearchitecRumbaugh Booch, mentof thearchitecture {lacobsson, portionofthesystem. A srnállthread turebaseline isthefústfullyexecutable to plovethatthesyswascompleted all system layerc of execution through team thearchitecture baseline, anarchitecture temcouldbebuilt.Tocreate palagraphs These stepswetc in thefollowing follovedthestepsdescribed lperlormed voÍking Iovard¿r a¡cL wilhtheatchtte(ts Inaniteretive manner lorlh. andqu¡lityÍeqrlircrnents thefunctional tecturc baseline thats¡tisfied syslcm S el ect U se C ases lL'IthesYStem flomtherequirements asmallnumbetof usecases Select cf thes,Ystem risky aleas themosttechnically These areselected to address 'lhissubset usecases[or cr'¡f]plc. 5¡rrlii(t¡ll is the¿¡ÍÍileúlür¡¡ll, of usecases fronlthesyspackage documents forprinting chose a newsoftwate Canaxia r'1 aÍchlp'lLre printing tl" documenls use cases for tem.lt lncluded the to tlrenc$so[t\v¡r. baseline to demonstrate thattheinteface l)¡rk¡cc$.rq Sotlwore ^rchilgcluro golngIo vorK.

4a

tdentlfy lmportant oüalltles Canaxia couldnot get lhe architecture requires trade.offs. Software way.Therefore, ¡nthebestpossible to satisfy everyrequirement architecture Forexam' wereprioritized. shouldsuppo¡t thatthearchitecture thequalities required ple,Canaxia pelormance Whendecisions valued overmodifiability. qualityattributes, whatqualit washelpfulto understand between a kade-off weredesired morethanothersin thesystem. ity attdbutes

DeslgntheArchltécture theuse thatwasableto implenent designed anarchitecture canaxia oneor mole forthesystem. Thisinvolved adopting thatwercchosen cases (described laterin this chapte0andfleshingout those st¡'les orc^iteclutal to usethemostwell' design. canaxiadecided stytesintoa moredetailed style architectural style,the model-view-conttoller knownarchitectural il wasmaking canaxia knewit wasdonewrththrsstepwhenthedecisions on whichto Iesstancible information harder andharder because becarne relywasavailable. Set Up a Developme[t Envllonnent that¡ncluded: environment canaxia thensetupa development . Serv€rs application andspaceon servers suchas file servers, anddatabase servers servers, tools Modeling anddrawing Whiteboards of whiteboards Digitalcamera lo¡takingpictures websiteandfilesubfolder Proiect withwhichtheyneeded to integrate Software (lDE) development environment Integrated (XUnit) fiamework Unittesting Version controlsoftware buildprocess Automated l m p l e me ¡t th e D e s l g n Thiswasdoneby first staftedimplementing the design. Canaxia outthe thetestsfleshed thetestsfor thedesignWriting implementing thedesign, whencanaxia began implementing cont¡acts in themodules. whatwas willprove whatdidanddidnt work.lmplementation it leaÍned provide of the understanding and will a concrete in the design theory iust whenit implementing beingdeveloped. Canaxia stopped architecture Guide exhausted AProcllcol the improved whenthishappened, Canaxia theinitialdesigns lo Enlonrlse design r¡oleitelain sevelal moreof theafchitecture andimplemented Archllocturotionsuntiltheywerehappy withit

u

Know When You Are llappy wlth the Deslgn or notthe howto knowwhethel teamtriedto establish Thearchiteciure early warn' of good follolving checklist lt adopted the wasa one. architeclure (Abowd et al 19961: ingsignswhenthingsmightbegoingastray is folcedto malchthe currentorganization l. Thearchitecture someone because is changed a goodarchitecture Sometimes canbe polluted Alchitecture says,Wei st don'tdo th¿lhe¡e." of theolganiinfrastructure andtechnical because thepractices for the proiect['4any zationdon'tmeshwiththe alchitecture to ensure arenecessary ¡n thearchitectute times,complonises of thearchi' integlity consistency, buttheconceptual enterprise asmuchaspossible. shouldbemaintained tecture (too components 2. Thereare too manytop-levelarchitectulal a level reaches lf thenumbefof cornponents muchcomplexity). for toocomplex (usually becornes mofethan2t).thearchitecture of integrityTherolesandlesponsibilities it to haveconceptual of too consists Whenthesystem mustbeclear. eachcomponent tendto ofthccomponent theresponsibilities manyconponents, blendintoeachother. are Someproiects therestof thedesign. drives 3. Onerequirement the goalin mindthatis sometimes overriding buiitwitha s¡ngle proiect o! proimanaget petfequjrement of theproiectsponsor overiding a single is built around whenthesystem ectafchitect. maynotbeaddressed otherfequirements requirem€nt, presented by the depends on lhe alternatives 4. Thearchiiecture is thewrong platformSometimes chosen theplatfcrm operating a high a ploiectthatrequires Forexample, onefortheproiect. for chosen if theplatform mightnotbepossible levelol usability is a 3270terminal. theuserdisplay standard ofequallygood arcusedinstead components 5. Proprietary areoftenlutedbythelatestcool anddevelopers ones. fuchitects stanthatmayhavealternative designs or interesting technology proiects takeadvanshould Forexample, dardtechnologyavailable. when seNeltechnology of application tageof the capabilities oI pelslstence schemes loadbalancing developerc b€gincreating thatthefeis a problemlt an ¡ndication Í¡ameworks, it is usually of¡¡;rl)dicrliorr capabilitics to usethestandald {ouldbebette! to solvethebusiness software server andspenddmedeveloping features problem newtechnical rather tha¡creating divi' from comes thehardware definition division 6. ThecomDonent withouttegatdforthe shouldbedesigned sion.Thecomponents thala nel\orl' physical to recognlze except topology ofthesystem. Thecompo' components. databetween is involved intransmilting function ofthe o¡technical business maptoadiscrete nents should shouldtake that is beingbuilt.Thesecomponents application Archileclufe Sofwore systems coriputing ofmode¡n features scalability advantageofthe 45

Ff¡r. t-l architeclure Soltware volatiliw thrcushour develop. asoftw;re mentproiecl

Soltwaf o Archit€clure Voliiility

gn

tema¡d howthearch ¡tectu rewouldsuppolthe¡rneeds. Therefore, thearchitectsprovided a stotyboard anda prototype to describe that.Thiswasa lery effective means of conveying thoseaspects of thearchitectu¡e to thiscornmunity. Thesupport organization wanted lo knowhowto maintain thesystem,soa discussion of thesoftware desi€n usingUMLanddata¡¡odelswas anappropriate means of conveying thisinformation to them

Analyzing andEvaluating theArchitecture

7. 'lhedesign is exception driveni theemphasis isontheertensibilityofthesystem rather thanonthecoretequifements fo¡thesystem.By"exception driven," wedo not meanexcept¡on handling butrather thatthesystem should notbedesigned exclusivelywith the requirements thatsomeday mightbe necessary in mind.li shouldbedesigned to solvethemo¡eimmediate requirements. Thearchitecture teamfin¡shed thebaseline architecture andfeltgood "code about it.ltwascareful tonotice smells'duringthe creation ofthebaseline.These wereaspects ofthecodethatiustdjdnt feelright.Whentheteam sawsomething sneak in thatdidn'treallybelong or required extensive refactoringit hadthecourage to rip it outandsta¡tover Asshown in Fi€ure 2-1,thearchitecture isvolatile untilthea¡chitecture period baseline iscomplete Duringthe oftimethatthearchitecture baseline is wo*edout,majordesign decisions willchange. Du¡ing thisperiod, the overalldesignis p¡ovenWhenthearchitectural baseline is complete, the architecture forthesystem shouldsettledownsothatfulldevelopment can bedonebased onthestable baseline. lf thearchitecture isvolatile through" process, outthedevelopment theproiect willlikely fail.

Representing andCommunicating theArchitecture Thearchitects at Canaxia knewforthearchitecture to be effective. it needed to beeifectively communicated to allthestakeholders ofthesvstem. Afterall,architecture reallyhasnoolherpurpose thanto provide a concepl forth€system aboutto bebuilt.Thearchitecture needed to beclearconcise. andunde¡standable sothattheimpo¡tant concepts withinthearchitectu¡e couldbe implemented andsupported bythestakeholdefs Thealchitects thatit wastheseimportant AProclicrl Guide understood concepts that¡n manywaysdeter" toEnlorprlsominedthesuccess or failureof theproiectat everystageof its lifecycle &chlleclure Toeffectively comnunicate theatchitecture to thevarious stakeholders, 4ó the teamcreated targeted material for eachstakeholder conrmunitv Fot example. theusercommun¡ty vasveryinteiested in theUsability ofthesys,

Throughout thedevelopm€nt of thcsystem, Cana¡ia wasca¡eful to continuously evaluate thearchitecture to make surethatit mettheneeds of the proiect. lt knewthalthearchitecture really isn'tfinished untlithep¡oecris delivered, andperhaps notevenuntllthesystem is retifedlt usedaniterative process ofevaluating andevolving thearchitecture to improve it asnecessary process througho'Jt thcsystem lifecycle. Thearchitecture evaluation in the initlalphases of a p¡oiect wasdoneth¡ough scenario-based te(llniqucs 1. evaluate software architecture, Canaxia identified signilithearchitecturally cantscenarios forthearchitecture to support Some methodologies. suchas provided XP,callthesescenarjos ri¿¡rto¡ir5. These scenados a context irom whichthe qualityattributes of thearchitecture couldbe estimated Asthe ploiectdeveloped, theestimates became measufements andtestcases for qualityattfibutes verifying thatthedesired wereactually suppoed bythe softwale thatwasbeingcreated. Forexample, whenthea¡chitectu¡e wascre' ated,theteanestimatedthe levelofperformance ihatthearchitecture should support basedon thenUmber hopsOn.ethe oi computations andnetwork architecture baselinewas completed, theestimates became measurements of performance for the setof scenarios thatwereimplemented. lf the pedormance requifernent wasnotmetorexceeded, thearchitectu¡e wasfedesigned to support therequiremeni. process, At eachstageof thedevelopment wasevalu' lhearchitecture ated.At laterstages in theproiect, someestimates wereveryp¡ecise becaLrse theywerebasedon realworking code.Howevet someof thequalityatt¡ibulesweredifficultto measure andweresomewhat subiective. ForexamDle. it waseasyto usea stopwatch to measure theperformance of a t¡ansaction th¡ough thesystem, however estimating themaintainability of thesystem wasmuchmoredifficult. Themaintainability wasbased estirnation o¡ many criteria thatincluded thetechnology thatwasused, whether or notthesystemwassrfficiently modulat andhowmuch datawereusedto configuration pafticular configure thesystem at run-time, aswellasmany othercriteria to thesystem thatwasbuilt.Estimating wasbu¡Lt was thiseven afterthesyste¡r difficult andstillsomewhat subiective. Canaxia hadto ¡elyo¡ thearchitec' tureteam'sskillandexperience withintheorganization andwithsoftware designs to deliver therightlevel of maintainability fo¡theproiect popula¡ Canaxia considered forevaluating three nethodologies softvare architectures Kazman, andKlein2002) lClements, (ATAMI l. Architecture Trade-off Analysis N¡ethod 2. Soft\rare A¡chitectufe Analysis Method lSAANIl (ARID) 3. Active Revievs forlnte¡mediate Desiens

Sollworc Archileclur€

ti

Canaxia understood thatforcriticalproiects thatrequire a lafgeamount of rigorduringthe development process, formalmethods helpto formally evaluate thesoftware a¡chitecture ofasystern. TheATAM andSAAI¡methods for evaluating software architectures are comDrehensive. whilethe ARID method is meantfo!inte¡mediate design reviews to ensure thatthearchitectureisontrackthfoughout theproject. purchasedthe Canaxia bookEralüalir4 Sollu,arc Neúil¿cturc Kazrnan, andKlein2002) lclements, to learnabouteach method in depth.ln theend,Canaxia created itsownadhocmethod to evaluatethesoftwarc a¡chitecture thatwaspa¡tially basedonthethreemethods presented in thebook.

Ensuring Conformance Theafchitecture teamrealized that evenwith the bestarchitecture, development teamsdont alwaysimplement an architectu¡e correctly. Usually. thisis thefaultof a poo¡architecture or poorcommunication of the architectufe to developers Inorderfo¡thearchitecture to ¡¡attet, thearchi, tectufein concept mustbecome executing codejn a system. At Canaxia, the architecture wasimplemented correctly in thefinalsystem. All thedesired qualities system weremetandthesystem wasdelivered ontimeandundef budget ln addition, thearchitects anddevelopers realized thatthearchitecture is anongoing effortin refinement, evenaftertheproiectis completed. The architects understood theyneeded to beinvolved notonlyduring design and construction butalsodu¡ingmaintenance of thesystem. At Canaxia andat every othercompany thatis developing software, theques-

Arch¡t€ctu r€ tionof howsoftware architecture shouldbe represented is a difficultone. DescdptionStakeholders of the systern needtargeted materialthat speaks to them above all else,stakeholders mustunderstand theatchitectute in [anguatesbecause, Fo¡technical stakeholderc or thosewho andUMI o¡de!to implementit co¡rectly. undefstand soltwafe

d€velopment, U[4Lis the mostpopular¡otationto describe thedesign of software systems. Onthesurface, UMLapDears to be wellsuited asa notation fotdescribing softwa¡e architectures IJMLhasa largesetof elements thatcanbe usedto describe software designs. The (RUP) Rational unified Process bestrepresents thev¡ewpoint thatU[,41 is adeq!ate forrepresenting soltware atchitectures RUPis an 'afchitectute.centric" process thatpromotes theuseof IJML lor depdingsoftwarc aÍchitccture Howevet academics haveouestioned UMLasa means ofdepicting (N,,ledvidovic software architecture 2002). Th!sis mostly because early versions of UMLdidnotcontain notations forcomponents andconnectots asfirst,class elements Othe¡ consttucts ateimponant whendescribineaoftwale atchitecture, suchasportsor pointsof interaction witha component androles otpoints of interaction witha connector ln tJ¡\¡L I 5,components areexpected to beconcrete, e)(ecutable software thatconAProclicol ouide sumes a machines resources andmemory. Although somepadsof software lo Enlo0rise archrtecture a¡econcrete components, notall architectural components are Archilectureconcrete soltware entitlesTheymaybean entiresystem or a federation of 4S systerns thatneed to bedepicted asa si¡glecomponent thatprolides a sinplefunction

nany ot ontloddrcsses thrcughlhel¡{eoFle ond@nneatols UML2.0 nows coÍ¡¡}í/¡,ents Itreseconce¡ns.

somenolionthatdescribes is anarchltectural ln addiiion. a connector to oneor many a conduit fromoneoI manycomponents thingthatprovides mayalsoadapttheplotocolandfomatol the Theconnector components. a simito anothelUf¡L I 5 doesnotprovide message fromonecomponent as a connector although on€couldgetaloundthisbydepicting la!concept, or asa component. a setof cooperating classes manyol theseissues in lune2003andaddresses UML2.0wasreleased to useaninterlace canbedepicted a component ln UML2.0, inthelanguage. portthatprovides andconsumes a port.A portcanb€a complex andprovide withattribution that canbedesignated Eachintelface multiple interfaces. andhas whether or notit is a service indicates thevisibililyof theinlerface, becor¡ing towald strides capability o¡ not.UML2.0is making asynchronous alchitectules notation fordepictinC thestandard notation for oi beinga standard UsingUMLhasthedistinctadvantage architec' softwa¡e to useUMLfol describing desi€n. lt is desirable software ol Ul\4Lforthispurposc Touseearlierversions turebecause it is standard. their mustbewillingto suspend description readers of theUMLarchilecture described bya could be componenl an afchiteclufal Forexample, disbelief. popular is lo use¿ apploach Anothel in a UflLdiaglam UIVL component doesnottakethisto Thiswillwolkaslongasthereader ste¡eotyped class. a thatit desclibes entity and is an actual software the component meanthat nota phys¡calone. conceptual component, description architecture several havecreated ln addition,res€afchers thatallowforthefist-class languages thathavea smallsetof coreelements focuson a precise languages These representation of architecturalconcelns. wayto assess the only algue that architecture. They of software descriotion is to precisely archibcture andcorrectness ofthesoftwale thecompleteness sufferirom methods andlanguages These thesoftwale architecture. describe thego¡lof precisiorl aredozens ofthem, andtheyallhave thefactthatthere overund€¡standability. fordocumentinq notation lineis thatthereis nostandard Thebottorñ laIg'raiea mooe'rre w\enchoosrng Thekeycritetia atchitecture sollware the fúrther thatit shorrld whether it isUML, anADL, oryoulownnotation-is bythoscwhoIc¡
treflects thoseattributes. Thequality.. be concerned withate{Bass, Clements. Kazman Klein20021: I. 8l{f.Q{n¡¡fJn-a measurement of thesystem response timefora functional tequitement. 2. Availability-the amountof timethatthesvstem is uDandrunning.ft ü measured bythelength of time'between iailures. as wellasby howquicklythesystem is ableto restartoperations aftera failure.Fotexample, if thesystem wasdownfor oneday outof thelasttwenty, theavailability of thesystem fofthetwenty days is l9/19+ I or95percent availability. Thisquality attribute is closelyrelatedto reliability. Themorereliable a systemis,the moreavailable thesystem willbe. 3. Reliability-theabilityof the systemto operateovertime. Reliabil¡ty ismeasured bythemean-time-to-failure ofthesvstem. 4. Functionality-the abilityofthesystem to perfomthetaskit was created to do. 5. Usability-how easyit is fortheuserto understand andoperate thesystem. 6. Secufity-the abilityof the systemto resistunauthorized attempts to access thesystem anddenial,olservice whjle attacks stillprovidin€ seNices to authorized users 7. ModifiabilityJhe measurement of howeasy¡t is to change the systemto incorporate newtequifements. Thetwo aspects of modifiability arecostandtime.Ifa system usesanobscute tech, nology thatrequires high.piced consultants, eventhoughit may bequickto change itsmodifiability canstillbelow. 8. Portabi¡ity:-measu¡es the easewithwhichthe systemcanbe platforms. movedto different Theplatfo¡m mayconsist of hardware,operating system, applicatjon seNersoftware, or database seryet software. 9, Reusability-the abiliry podions to reuse of thesystem in other applications. Reusability comesin manyforms.Therun-time platform. sourcecode libra¡ies, components, operations, and processes areall candidates fof reuse in otherapplications. 10,Integrability-the abilityol the'system to integrate withother systems Theintegrability of a system depends on theextentto whichthesystem usesopenintegration standards andhowwell theAPIis designed suchthatothersystems ca¡usethecomponents ofthesystem being built. I l. Testability-how easilythesystem canbe testedusinghuman effort,automated testing tools,inspections, andothermeans ol AProc,llcol Guldo qualityCoodtestabilitv testingsystem is relatedto themodulo Enlerp se ' Iarityof thesystemlf thesystemis composed of components Archlleclure withwell-defined intefaces, itstestability should beeood

50

canhandlenewrequrle12. ElhUiliv-how wellthe architecture may fotmsNewrequirements in several comes ñÑs. Variabiliw the systern time At development be plannedot unplanned At newfunctions to perfoim easytoextend codemightbe souice that components mightallowpluggable thesystem run-t¡¡ne, isclosely onthefly.Thisqualityattribute behaviol system modify modifiabilitY. to related ol lhe a subcet to suppon abilityofthesvstem 13. S-ubl9!¡úlllly-the it ic For inclementaldevelopment tvstem Gñrf,iieiui;e¿¡vt¡e todemonscmefunctionality canexecute thatasystem important lt is thepropdevelopment dulingproduct strate smaliiteratio¡s setof a sm¿ll ¿nd execute it to build thatallours ertyofthesystem is system the entire LIntil over time add features to and features onlhe propefty if thetimeor resources built Thisisanimpoftant reishigha subitectu ofthearch lfthesubsetability plojectalecut it intoproducllon maystillmake setotfeatules thearcl"rte'turetÓ'omnru¡r' I4. Conceptqalintegnty-theabiliiyof wrr'et I FledBroofs uisiou forIhesystem caiea ilearconcis¡ tc is cenrrdl lnle6rily IhanevefConceptudl ammoleconvinced lmportant most is lhe alchitect a system quality. product Having a soltintegrity Afterteaching conceptual singlesteptoward morethan20timesl cameto insist labotatory wareengineeri¡g ano a manage¡ choose foulpeople teamsassmallas lhatstudent that atchitect(Biooksl99t) KentBeck-helieves a separaie part oí the extleme are the most important metaphors is a powmetaphor (Beck The 1999). methodology Programming lora sysconcepts oneot morecentral ofproviding eful means a 'haled vlsion and provides a cor¡mon tem Themetaphol provides a metaphor The stakeholders. foratlsystem vocabulary integrityWhenthe designof the conceptual meansto enfolce Ihemet¿phor of then'et¿phor' goes thebounds oulside system the otheNise be added; must metaphors ol new mustchange Ifanyofthesedesigndeci' direction isgói¡ginthewrong design righttheconceptual feeling sion;aremadewithouttheconcept the syslem Sometimes lost will be system of the integrity patternsuchasMVCo¡ Blackboa¡d is anafchilectural metaphor prop¿tterlq archlecturdl These laterinthischaptel) ldiscussed who o¡ othels developels for system metaphof videa common theydont helpthcstákchol(lHowever' thepatte¡ns unde¡stand pattelns onegoodth¡ng¿bout with the t familiaÍ erswhoaren is thattheydescribe pattelns forthesystem alchiteclulal using in mofedetailon lhodownsidc of thesoftware the;tructures theleferences' willunderstand notall stakeholders (a¡ r' ason¿bly be or notthedrchilecture 15. Build¿bilrty-whether t hc yof andt im eavailablef or dcliver bui l tusi ngt hebudget , st af f qualrtyatt¡ibute is an often-overlooked project.nuildability fora tooar¡bitiorls aresimply thebestarchitects Sometimes, Archileclufe Solfwofe project given co¡straints teamto complete Dro¡ect ;a al

ls Agilitya QualityAftribute? Someorchlects usethetem allleto desd¡be thei odlitedue. WhileflujbtlryondoElry orc inpotohl kese'aodshovenony diñehs¡atÉ ¡sogile,daeshot ff he orchitedurc neon thotf ¡seoiy chongepls ¡t eosyto ¡ntErcteit kto ke enHpt¡se? ls ¡t ponoble, rcusoble, testobh? lhe onswet to olllhesequest¡ons ¡sptobobly'pt' Ag¡liry is o cornposte quoliqthol¡ncludes nonyal ke bosequol¡ty potto. oftt¡butes lt ke levekofnoinloinobilitl, b¡liv,testoüiy,ondkEgtoüliryo@high,theorchibd.ue ¡smostlkelyonog¡leone.

$!iriJ-

what is the impactola failure? failuresideñtified? andsoftwale Howarchardwate be opeGtio¡alafteta systemfailure? Howquictlymustthesystem thatcantak€overin c¿seof a failure? systems Arethelefedl¡ndant havebeenreplicated? Howdo youknowthatall cdticalfunctions done?Howlongdoesit taketo backupandiestorethesystem? Arebackups what arethe e¡pededhoulsof operation? up-timepe!month? what is theexpected ls thisacceptable? is thecurrentsystem? Howavailable

(on\^',q\: \ ¿.4\. Reliability. faihre? or hardwarc what is the impactofa softwa¡e impactreliabilitv? will bádpelotmance onthebusiness? system of anunreliable whatis theimpact

It is important for thesystem andenteFrise to architecture designeF understand thedesired thatthesvstems oualities muste)úibit.Todoso.the

quality architects shoutd enióiiácu .r pi.iirii i';!áiil;iüí6ftf; áÉsired provides attr¡butes aspossible. A checklist a wayof ensuring thecompletenessof thespecif¡cat¡on. Following aresomeof thequestjons to askin order qualityattributes to fullycharacterize thedesired for a system[Clements, Kazman, andKle¡n2002r Mccovefn, Tyagi, Stevens, andMathew 2003):

Perlorm¿nce what is theexpected ¡esponse timeforeachusecase? Whatis theave.age/ma)dmin e,(pected response time? Whatresources arebeineused{CPU, LAN,etc)? Whatis theresource consumption? Whatis theresource a¡bik¿tio¡policy? Whatis theexpecled numbe¡ofconcuÍentsessio¡s? Afethereanypafticularly longcomputations thatoccurwhena certainstate is t¡ue? AreseNerprocesses singleo¡ multith¡eaded? ls the¡esufficre¡t network bandwidlh to all nodes on thenetworl? Aretheremultiplethreadsor processes accessing a shaledresource? Hov is access managed?

Cantheintegrityofthe databecompromised?

Fünctionality "Dóes sntemmeetall thefun.ticnalrequirements bytheJsels? specified the requireme¡ts? to unanticipated adapt and respond Howwellcanthesystem

Ulability undetsta¡dable? ls the userintedace withdisabiliUes? ofpcople theneeds to suppod adaptable tstheintedace thesystemusable forcreating findthetoolsprovided Dothedevelopers andunde|standable?

5€!.u.rlty Howcriticalis thesystern? what is theepectedimpactofa seculityfailure? lailu¡esidentified? How¿Iesecudty in thepastwhatvaslhereimpact? failu¡es anysecurity been have lfthere vulnembilities? AletheYanYknown issues? Haveuselsbeentralnedin security breach te¿min placeto handlea security añda tespo¡se Aretherea process

Will badperfcírmance dramatically alfectusability? ls the response timesynchronous or asynchrcnous?

AProcllcol Guide loEnlsrprise Afci¡l€ctur€ 52

Whatis theexpected batchcycletime? HowmuchcanpeÍormance varybasedon thetimeof day,week.monthor systemload: Whatis theexpected ofsystem load? €rowth

Modifiability/vatiabilitY to thesyslenr? be required Howoftenwilla change addingin futulelersio¡sof the do youanticipate what nev functionality system? platlorn? oftheexecution ¡ev releases Howwillyouhandle

Archileclurc Sollwore

53

Doanycompone¡ts haveaccess to thelmplementation detailsofglobal variables? Doyouuseindirection mechanisms suchaspublish/subscribe? Howdo youhandlechanges in message formats? wefedesigncompromises madeto eñhance pefomance? Howmanyintedaces mustcha¡geasa resultofa change ln a pieceoi fuñctionality? Doesthesoltware usemetadatato conf¡gure itselfusingdeclarations rctherthancode?

Canautomated testing toolsbeusedto testthesystem? Canthesystem runina debugger?

s.s!*!¡!!lig lsthesystem modular?

Whatchanges resultfromaddinga ¡ew datainputsource?

Arethe¡emanydependencies betveenmodules?

ls thesystempreparcd to movefrcma singleprocessor to a multjprocessor platform? execution Howmuchwill it cost?

Doesa change in cnemodulercquirca change in othe¡modules?

Howlongdoesit taketo deploya change?

Portab¡litv Dothebenefits platform ofapfoptietary outweigh thedrawbacts?

Conceptual InteSlity, Dopeooleunderstand thealchitecture? Aretheretoo manybasicquestions beingasked? ls therea centr¿lmetaphor lor thesystem? lf so,hownrany? Wasanarchitecturalstyle used?Howma¡y?

Canthee¡peñse ofcreating a sepatation layerbe lustifled?

Werecontndictory decisions madeabouithearchitecture?

At whatlevelshouldsystemportability beprovided? At theapplication, application seNer, operatin€ system, or hardware level?

Donewrequirements fit i¡to the a¡chitecturc easily. or do newfeatu¡es requirecodesmells"? Ifthe software stansto "stink,theconceptual lntegrityhaspfobably bee¡lost.

Reusability ls thissystem thestanofa newproduct line? Willothefsystems bebuiltthatmo¡eor lessmatchthecharacteristics of thesystemunderconst.uction? lf so,whatcomponents will bereusedin thosesystems? Whatexisting cot¡ponents areavajlable forreuse? AreihercexistingfÍameworlG oaothercodeassets thatcanbe reusedt will othe¡applications ¡eusethetechnical infrastructure thatis c¡eatedfor thjsappljcatio¡? tsthereexisting technical infrastructu¡e thatthisapplication canuse? what¿retheasrocráted cosls.risks. ¿ndbenefits ofbuildi¡greusable co|l1ponc|l1\r

Integrability

?{ -

Areiher€tools,prccesses, andt€dniques inplace to testlanguage classes, componcnts, andselv¡ces? ArctherehooLs in thef¡amewo*s to perform unittests?

Cantheuserintefacechangeindepe¡de¡tly of logi. components?

Whois expected to makethechange?

APfoclicolGuldo l0 tnlefpftO Afcnfecrufe

Testabil¡iv

Arethetechnologies usedto communicate withothersystems basedon standards? interlaces Arethecomf,onent cñnsrslenl andunderst¿ndablel ls there¡ process tr p'¿ce lo \e.sioncompone¡t Interfaces)

Buildability Areenoughtime,money, andrcsources available to buildanarchitecture h:.él i ñF 2nd r hF ñr ^ i . . t t

lsthearchitectufe toocomplex? parallel lsthearchitecture modulaf development? sufficiently to promote Aretherctoomany technical flsks? Thisisbynomeans anexhaust¡ve listof questions to askaboutarchitecproiect, questions tureoradesign. On€very therearespecific to askabout the domain ol thatproject andorganization. Forexample, if an o¡ganl¿aticrrl questions usesmessaging middlewale,-th€re is a listof veryspecific about howthatmiddleware system is usedandwhethe¡ or notthf archiiecturc uscsit cffcclivcly andcotrcctly. lf lllcotB¡ni¡¡lr(nr fi,I¡t\(,,r1. h.ili,ll rn-h('1r!. lorcreating components andservices, thefeis a listofquestrors abc.ul the design ofacomponentor seryice thatusesthatframervork Thequestions that mustbeasked vary.lt is important oneachproject thatthear.hitectirrc learr u¡derstand the intricacies of the organi¿ations domainthr a¡chitecl re that supports it, and,especially, the obstacles thatrnaybe encountereJ sothatlheycanbeavoided Onlyil a design te¡mis ¡war.¡i tht',l¡t¡ils o[ particular ofgani¿ation canit pfope¡ly detign a slslen] th,rtrunsin llr.¡i Soltvofe Archileclur€ .; organizatio¡ c5

Nonfunctional Requirements andQuality Attributes sane.a:qlaliryauributes. ry,9jlun.tlg$lt9q,ri,gre_ltq it.ei¡!nlast.!¡e. Nonfunctional reqqüqt0enllgJ.e_qg.r¡ed as$É ng¡ob5gryaf lgpropertres -ot the,ystem. A classical funct¡onal requirement canbestatedasa noun-veib "rhe phrase, suchas slstell require4*lpHti€,ÍW$. A nonfuncrional mentcanbethought ol asa modifying clause. suchas-Thesystem displays seco¡ds." !h9.Iep.gtlvi{hls: In otherwofds, a functional requircment is statedin mathematical terms. An inputis givento a function.andthefunctionreturnsan outDut.Thenonrequ irements functional statehowthe functions oftheslstem willbep€¡formed. Thebigproblem withnonfunctional requirements is thatmostrequire, mentsgatherine teamstendto leave theserequirements out,ot theydo not fullystatethe nonfunctional requirements ofthesystem. Theydothis because theyfocusonlyonthebusiness casefotthesystem. Theyconcentrate onthe business stakeholders andnoton thetechnical stakeholders of thesystern. Requ¡rements suchasmodifiabjlity, security, andsoonareusually overlooked because theyarenotperceived asdirectly impacting thecost-benefit forthe system. Theserequirements a¡eperceived asbeingonlytechnically related requirements Thisis not true.Nonfun(tional requirements.¡re critically imponanr to thesuccess of anyproieft.Theyare.te_chnical risksthat,ri not adüessed, cen makeor breaka.syste$¡or examiie.i?'i*reirjri'¿¡sptavs corectlybutit doessoin thirtyminutes instead of a morereasonable thúty seconds, the functional requirement is metbut the syst€mis not usable because it doesnotmeettheusef's perfomance expectation. If a hacker is ableto retlievecreditcardinformation for the businesses customers, for example. thefutufeof thecompany naybein ieopardy. Nonfunctional requirements arenotonlywithintheiurisdiction oftheproiectunderdevelopment Thequality atttibutes ofa system aresupported at the enterprise level.Typically, p€rformance, the¡eljability, availability, andother quality attributes aresupported bytheplatform onwhich theproiect isdeployed. OncethequalityattÍibutes ofthesystem havebeencharacterized howdoyou

Architecturaldocument howtheywillbefulfilled?Creatingthesoftware arch¡tectureofa sysViewpoints temcanbea largeendeavor, depending onthesizeandcomplexity of thesystem.Thesoftware architecture shouldbepa¡titioned intomultipleviewsso thatit is moreunderstandable. Whenwedesc¡ibe anyentity*beit anarchjtecture, a pfocess, oranobject-the¡e perspectives aremanydiffefent orviewpointsto describe. Forexample. ifyouweretodescribe anorange to sorneone, youtalkabout would itscolorweight, sweetness, skinthickness, orsome other attribute ol theoranBe? lhe a[ributes thatyouwouldchoose to describe lvoulddepend on therole theneedsandtheperspective of thepefsonto whornyouaredescribing theorangelf thepercon is a pu¡chaser ata gtocery store, thepufchaserwould bemoteinterested inthecoloroftheoranCe sothat wouldbuytheorange. customers A consumer oforanges wouldbemoreinterestedin thetasteof theorange thanthecolor.A chemist thatis consjdefing AProcllcol Guldo usingoranges jn thechem" product ina cleaning solutlon lvouldbeinterested lo Edsns0 ¡calpropenies of oranCes thatcouldbe applied to cleaning solutions. The Archileclurepointis thateyery stakeholder in oranges hasa dilferent needanda diiferent 5ó pefspective. andth!stheorange mustbedescribed to themin different wavs

inthearchitecture hold All stakeholders Thesamegoesforarchitecture. perspectives ontheproiect andwithin theirdifferent viewpoints thatspeakto descliption to separate thearchilecture It is alsoimpoftanl theotganization. canunderstand diifer viewpoints sothata singlestakeholder intodifferent entaspects of thearclriteclule.

Architecture 4+ l ViewiVodel of Software for softrva¡e mustbe described setof viewpoints No singlestandard In fact,wediscuss architecture ¡l$Jlgpulfl'ttCggll.!gillusllatethepoifl softrare Krut(lten fiomRatlon¿l arenecessary. Pfl¡lippe thatmultiplev¡ews discussed Ln 1995) intothe4+l viewmodel(Kruchten divides architecture thefollowing sections. Logical Vlew view.o! logical architectur€. is iheoblect¡lodelfor the Thelogical thatsollelheiunclion,¡l of thesoftware designIt Cescribes theshuctures The classes ofthesystem is a subset ofallthe syslefn.lt lgquirementstcrthe includlng theirnporvievofthesoftwate viewis stfictlya structural logical ¡elationshjps in thearchitecture tantclasses andclass ProcessView theviewofthea¡chiview, Theproless describes 9r.plolelq.ilchilcc!-ur,e, proceFses thateristin obiects th3tjnll.vdes andlnslantiated teciure running jmpoftant issues concurrency andsynch¡onization the¡ystem. it describes DevelopmentI'lew organization viewfocuses onthemodule Thedevelopment architectule andit outintopackages, howclasses ateotganized ofthesoftware. lt shows packages ofsoftwa¡e Thisis theviewof the between !inésthédependencies andwhattherespon' structures o[thesoftware design thatshows thelayered in thesystem are. ofeach laye¡ sibilities PhyslcalVlew andhow thatIunthesollware ThephysicaLview describes themachines and atedeployed ontothosemachines componenls, objects, andprocesses seeFigl¡re 2-2 thcirconfigur¡tio¡rs at fun-time,

th¡l thearchitecdesc¡ibes thesce¡arios The+ I inthe4+I viewmodel requirements Thescenalios represent theimportant tureis meant to satisfy th,rt¡rc Thescenarios th¡tatechos€n af|'thosc mustsatisfy thatthesystem cxe' themosllrequently theyaleeithel to solve because themostimportant thatntustbeplolel)out riskor unknolvn or theyposesometechnical cuted Archileclure Sollwofe on thesetol arecenterL'.i Theotherfourvietvs bythearchilecture baseline. forthecreation ofthearahttectufe scenarios thafarechosen

ti

Rír. r-2

ModuleVlow ThemoqlJLeJe-w.-ol'igjlwgrgef ofthe elements. chiteclu re.rhatry$. bgw.the sgf.!wpI,9,,9R$e9ffdiq¡9.&Cd$E The moduIe architecture S0,$ubsystems. viewshows howthesystem willbepanitioned intoseparate run-time components. Some ofthequestions thatareanswered bythisview areasfollows platform? Howis thep¡oduct mapped to thesoftware -t: , Wiatsystem supporlseNices doesit useandwhere? Howcantestingbesupported?

4. Howcandependencies between modules beminimized? Krulchen. P Tfu4 + I Vi¡¡'M0d¿10/ A¡(újl¿rl¡rr¿. |EEESoftwarcpp.42_10. November t995.

). llowcanrcuse of modules andsubsystems bemaximi¿ed? ó. what techniques canbe usedto insulatethe productffom platform. changes inthird"party softwafe changes inthesoftware

Applied Softvvare Architecture Viewpoints The4+I viewmodelisonlyon€ ofseveral suggest ionsfortheviewpoints . thatshouldbeincluded in software archltecture Nord,andSon¡ .H9Jr¡giSte¡, (1999)_propose a different setof viewpoin$. ConceptualArchlt€cture Vlew Theconceptualarchitecture viewis similartothlhglqO,L,v,iew in the¿+t view.model. However, theco¡ceptual architecture viil ü moieconceptual andbroader ¡n scope. lt tatesintoaccount existing software andhardware integration issuesThisvrewrsclosely tiedto.theappl¡cation domain, The runcoona tyot thesystem is mapped to architectural elements calledcolraplüalJoüpo¡?filr. Theseconceptual components arenot mapped directlyto hardware, buttheyaremapped to a function thatthesystem performs. íhis viewprovides anoverview ofthesoftware architecture.It ¡sjhefjrstplace that people willgoto findouthowthesystem doeswhatlt is supposed io do,The concerns addressed intheconceptual viewinclude thefollowing

,\r .h:hdF <

r ^ . rá ñ d ¡r¡l (l

ExecutlonVlew viewof software Theexecution architecture showsholvmodules are therun.time entrof the.syste0r Thisviewshows thel¡ardware Tgp.!e-d-grtlo and tieSándtheirattributes andhowtheseentities areassigned to machines processor lt shows usage, usage, andnetwork usage networks. thememory expectat¡ons. This-vjs{.ihg}yrüeflowof confrolbetween hardware systems thal gxgcule-the software of the systemSomequestions that thrsvrew

,,'*;;ih;i;iiild

"

'

l. Howdoesthesystem recovery, andreconmeetitspe ormance, liguration requirements? 2, Howis resoürce usage balanced? inthe 3. Howareconcuffency, replication, anddistribution handled system? platform 4, Hov canthe ¡mpact be of changes i¡ the run-time rninimized?

l. Howdoesthesystem fulfilltherequ¡rements? 2. Howafethecommercial off,the-shelf (COTS) comoonents to be integrated. andhowdorheyinte¡act {ata function¿l level) with therestof thesystem? 3. Howaredomain-specific hardware and/ofsoftware incorporatecl intothesystem?

Code Vle$ Thecodeviewshowshowthesource codeandconfiguration areorganpackage i¿edintop¿ckages, including It alsoshowshowthe dependencies. po(ions ¡nd.onl¡f]' executable of thesystem aiebuiltfromthesource c,.de quesiions, Thisviewanswefs uration thelollowing

4.. Howis functionality partitioned intop¡oduct releases?

), Howdoe;thesystem incorporate portions ofpriotgenerations of

APrcclicol culde lo Enlerprise Archileclure 5S

thepfoduct, andhowwillit support futuregenerat¡ons? product How are linessupported? ó. Ho[,cantheimpactof changes in thetequitements domainbe minimi¿ed?

t. Howarethebu¡lds donc? Howlongdothejtake? 2. Howafeversions andreleases managed? whattoolsareneeded ¿ndconfiguto support thedevelopment rationmanagement environments? 4. Howareintegration andtesting supported?

Sollwore Archileclure 5

yourarchitecture Howimportant ¡s¡ttodefine using oneofthese standard is:notat all.These viewsarepresenied hereto give setsof vlews? Theanswer youanideaofthekindsofquest¡ons thatneedto beanswered whenyoudefine yoursoftware architecture.

1999) bookto get proiect keepinmind,butevery andevery organlzalion forthekindsofthingsto is to have Thebestwayto develop soundsoftware architectures aredifferent. architecls anddevelopers. whounderstand theintrithebestsoftware People processes. of thetechnology, andpol¡tics ofyouror€anization andwho cacies concepts willsuccanapplysomeof thefundamental outlined in thischapter forcapthebestpossible software architectures. Ifthemethod ceedincfeating is completely ad-hocor loosely basedon theabove tur¡ngthearchitecture methods, thatis fine Again, themostimportant issueis thattheimportant getanswered questions andthateveryone knows whatthea¡swers aie.what istheparticular format is notimportant of styleoftheanswers pallem Whatisthedifference between anarchitectural style,anarchitectural

I anda system Architectura Theanswer isnotmuch. metaphor? Anarchitectural style(Bass pattern (Buschmann Styles, et al.1997) andanarchitectural et al.199ó) aree5senA system melapho¡.iÉ€imilar.but.no¡e.conceptu¿l than Patterntand tiallysynonymous. patlernor anarchitecturAl_style, a realan ar,chitecture and it relates mqre to Metaphors wo¡ldconcept style thanto a software engineedng concept Anafchitectural pattern patternin thattheyboth andanarchitectural aresimilarto a design a solution describe to a problem in a particular context. T¡eonlydilference pattern, is thegranularity atwhichtheydescribe thesolution. lna design the is relatively finegrained andis depicted solution at thelevelof language patternthesolution grained In an architectural is coafser a¡d is classes. or modules and described at thelevelofsubsystems andtheirrelationships pattern Eachsubsystem or modulewithinan aÍchitectural collabo¡ations. patterns. consists of manylanguage classes thataredesig¡ed using design Everysystemneedsa central,organizing conceptThe conceptual integrity of thesystem depends onhowstfongthisorganizing concept is for thesystemSowhatis an organizing concept? Someexamples of architec(Buschmann tu¡alstylesandpatte¡ns et al. 199ó) include thefollowing, patternTheI\¡VC l. Model-View-Controller {MVC)architecture stylei5a popular architectural organizrng co¡cept forsysterns. ¡ep¡esents Themodel thedataforthesystem, theviewrep¡esents lhewaythedalaafcp¡esentcd to thc!ser,andthecontrollcr handles thelogicforthesystem

AProcl¡col Gu¡de loE orplse Archilecluro

óo

pattern 2. PubliSh-subscibe. Thepublish-subscribe is architecture publishes a systemin whicha publisher dataon a bus Subscribels subsc¡ibe to portions ofthedatathata¡epublished bypublishers onthebus.Theyfegister forvarious topicswhena message appears on thebusthatmatches thetopicin whicha sub,scribef isinterested. thebusnotifies Thesub. thesubscriber canthenreadthemessaÉe scribe¡ ÍÍomthebus.

wrll whois familiar withIJNIX systems Anyone PiDesn¡d filters. patternThepipe¿ndfrltelp¿ttern rlffirl¡]iTrc¡iieaulal called/iifromsmallprograms allowsa system to beassembled l¿r5. A filterhasaninputandanoutput.Thefiltersareassembled filtef intoa chainin whicheachfiltergetsdatafromthep¡evious thedatato thenext thedata,andpasses in thechain.processes is Thebestexample of a pipeandiiltersystem filterin thechain. semantic analysyntax analysis. Thelexical analysis, a compilef. occurin a codegeneration, andoptimization sis,intermediate pipeandfilterstylechain. layelsof the is onein lvhichdjfferent 4. l14yers, A layeled system Eachlayer function oi thesystem takecareofa specific system thathasa of software architectural styleis a package in a Iayered with dependencies interface anda fewwell-known well-defined within lunction implements onetechnicai Each layer otherlayers layeris respo¡s¡ble Forexample, a dataaccess theapplication. loraccessine a datab¿sc means forencapsulating thetechnical gcthloughthedataaccess requests to a database Aildataaccess hastheresponsibil' Thedataaccess layet layer foIthatdatabasc. lll itornupst¡ea¡I layers mechanism thedataacccss ityof hiding layelsln adiacent layersystem, a layermayonlyaccess a closed an'/othellayerirl the layersmayaccess an openlayersystem, notiusttheonesto which theyaleadiacent system, patterns a conceparchitectural areusedto provide Many otherpopular Anapplication canuseoneor morearchi' architectule iualbasisforso[tware canbebuiltusi¡g pattems Different subsystems in itsdevelopment tectuíal canfollov patterns. interactlon forcompone¡t Also,themethods different could implementations of thecomponents onepatternwhiletheinternal pattern usea diffe¡ent people patterns to useandundelaremeant folsoftware Architectural N,IVC o¡pipes theconcept thepattern andundelstand stand. Onemuststudy between anarchiin Ieallife.Thedifierence andliltershavelittleo¡nobasis rsundel' metaphof pattern metaphol is thata system anda system tectural a peopleand customers alike.For example. by soltware standable pattern Ina publish-subscribe publish'subscribe isalsoa system metaphor publjsher provides or á bo.lk a publisher thedatalikea nervspaper system. toplc to a particular publisher articleor bookrelates Eachnewspape¡ artiale ora booki¡ a ntagazine tova!ious topicsWhen consumers subscribe comes out theybuytheboolor nl¡g¡¿]¡f whichsuscribers areinterested ¿rcnolalw¡!sl'lllc Nl¡R¡ilrr. metaphots Asyoucanim¡gine, syste¡¡ artiale \ lthi¡lhenl,ld magazine, notiusl¿rliclcs totheentire subsctibers subscribe purchase them to books, they don't subscribe ln addition, consumels azine llkea isdesi€ned outwith"The syster¡ metaphor usually starts A system conrellom in sofhvare developmeft and concepts Manyproducts Following area lewexamples: metaphors . Library . Sta.k

Afchileclure Sollwore

ót

Oueue Desktop ACCOUnt

Directory window Scheduler Dispatcher haveto make butthe metaphors canhavemanymetaphors. A system jtsconceptual Forexample rnteglily. withinthesystem to maintain sense wouldit have windowshasa desktoo thal contains windows. Microsoft windows mea¡tto move to beplaced ona wall?Are beenbetterforwindows of the multiplemetaphors, someaspects aroundonthewall?Bycombining with time, andothermustbe emphasized. mustbe forgotten metaphorc we no longerthinkaboutthe a metaphor. the systemjtselfcanbecome to an relating to a physical desktop or a windowrelating desktop windows in themselves. FoIexample, canbecome metaphofs Products actualwindow. desktop. couldsaythattheuserintefaceis likethewindows a newsysLem

Service-0riented Architecture

software *henit comeE.rq.cre4lingsoltvlerg.aqhitectl¡te

ConclusionIlgJSJLlg.0egf whatis important aboutthedesig4.and commu¡icates captures architecture architecture ¡s on theproieclEnterprlse cgtrcgpt$ tl-o.-s.-eto the.stakeholders of thesys' alchitectures softwafe in manywaysa productof thecombined Therefore. it i9jmpQrta¡t. te 8etthearchitecture temsin theorganization. readable, thearchitecture should bethin,approachable, rightTobecredible, and baseline withanintense focusonthearchitecture andund-erstandable. asit is being of thesoftware architecture analysis a qualityattribute,based willsuittheneeds oftheploiect. thatthearchitecture buih.it is likely productlines.Software productljnes 4,welookat software ln Chapter p¡oi' great itectu reacross multiple to leverage arch willallowan organization productgreat a Using architecture and havesimilarcharacteristics. ectsthat greatenterprise il, anorganization canachieve to delivering lineapproach architeciure.

AProclicol Gulde lo Enloryrise Ar¡hilecluie 61

(SOA) architecture is anarchrtectural styleth¿tform¿lly |(\erv¡ce-Oriented whicharethefunctionality thata system canprovrde. Dseparatessewices, whlcharesystems Th¡s f¡omservice consumers, thatneedthatfunctionality. conlfa¿I, couis accomplished bya mechanism knownasa r¿¡r¡¿¿ separation pledwitha mechanism forproviders andconsumers to to publishconkacts thatprovidetheservice thattheydesireRather than locatethe coniracts lviththeseruice aspects of invokcoupling theconsumer in temsoftechnical ingtheservice, thecontract fromtheccmponent or impleSOAseparates inwhich mentation ofthatcontract. ThisseDaratio¡ oroduces a¡ a.chitecture theconsumer oftheservice andthemodules thatprothecoup!ing between looseandeasilyreconfi€ured. ducetheworkis extremely preceding Syst€ms Architecture, wediscussed integrati¡g ln a chapter, in legacy andclienvserver applications byencapsul¿ting theirfunctionality andpublishing thatobiect's inteÍface. Thatis iustthefirststepin obiects Thi5chapter exploles functionality thÉpilcess. thenextstep,integrating intoanSOA. withwebsewices webservices area real' SOAshouldnotbeequated that ization of SOA, buiSOAirnplementations canairdhavebeenc¡eated haverrothing to dowithwebservices benefitto the modern enterDrise lt Drovldes an SOAcanbeof enormous of an ¡ewavenue [orintegration C¡eatints ncw¡ppl¡.¡- Eenefits imporlanl of appli.ations of availabil-s0A tionsunder anSOAoffers a slgnificant increase in thequalitjes maintainability, lo¡those apFrlications Fot ity,interopefability, andreliability inlolo$/er ope¡atLng costs asa whole, theSOAtranslates theenterpfise quality, corporat. agility lolver development costshigher andgreater

63

Related Documents

Systems Architecture
April 2020 6
Architecture
November 2019 42
Architecture
November 2019 64
Architecture
July 2020 18
Architecture
November 2019 50

More Documents from "api-3831804"

Fran-utaaahj.docx
October 2019 80
Edwin Collectie
December 2019 66
Sistemas Activos Amd.docx
November 2019 60
December 2019 71
Innoveren Participeren
August 2019 66