You are on page 1of 32

I

¿,r;l irt ' t--


-.
/r/ '
'
n
-\t 1) _
-.L-+
í'-. \ "/-
'.
I \ ' /t.. , ,--
,-
/7_ Architecture
Systems
L\t
l/
vc
| (.,-( 't vrurphus.
'lhefrrstrequisit¿ islheúilituloapplu
f|r success
icalaú menlal q'ilÍ0t11
utrgiu lo atlcpr\bler'Ii'lúcssr¡Ílf,
gravi|gw tA.
Thomas Ddiso¡ {1647-1931)

ystenls architecturec¡¡ bestbcthought of0sbothn Dr.icess anda disci-


plineto produc€ efficientandeffectiveinformatior systems.
It is a troccssbecansc produce
a setofstcpsis follow..(lttr c,¡changethe
¿rchitecture o[ a si,stem.
lt.iri¡ dircipline bccause a boCyoflnowledge people
infon,']5 asto the
mostctfcL:tive wayto design.
A systenir án inierconnectcd seto{ machines, applications,ancinet-
workresorrce5. Systelrsarchitectüre unificsthatsel by imposing structure
onthesystem. l¡oreimportantly, thisst¡ucture alj€ns oflhe
thefunctionality
svstem withthegoalsoi thebusiness.
Systems architectureencompasses theinfrastructunl layerof Figurel-1.

tiguret-l
Busiñess

lnfolmolon

0perationol

orgonirotionol

Archite úl

Inlraslruclural
T'
Thebasicpurpose of systems arch¡teclure
¡sto supportthehigherlayers , Maiorbusiness information technology functionality at canaria
oftheenterprise archit€cture. ln manycompanies, thesoftwareandhardware Mylespointed out,is dividedamong silo-applications thatwere, in
representa significant portionof theenteDrise's totalassetsIt is important somecases, created threedecades ago.Here,Myleswasinter'
lhat enterprise afchitects do not equatethejrdutieswiththe obiects, the ruptedby an executive vicepresident whoasked,'You arenot
applications,
or themach¡nes thatcomprise theirdomain.Thefundamental ! goingto tell usthatwehaveto rew¡iteof replace theseapplica-
purpose
Hardware
¡sto supportandfurtherthebusiness
andsoftware obiects arefundamentally
object¡ves
of theenterprise.
andexistonlyto
transient
i tionsareyou?Wehavetriedthat."Mylesfirmlyreplied
no plansto replace anyof lhe legacyapplicat¡ons.
thathehad
Rather than
thepurposes
further ofthebusiness. replace,hewasgoingto breakdownthesilosandgettheapplica-
Systernsarchitecture is alsousedaspartof theprocess of keeping the tionstalklngto eachother
enterprisearchitecture aligned withthebusiness goalsandprocesses of the ¡ Theterroristattackthat completely destroyed the worldtade
organizatlon.lt is irnportant to understand thetechnical detailsof theinfra- centerin NewYorkCltyhasput disaster recovery on the ÍIont
structureandtheapplications running withinit butalsoto hav€ theknowl- bumerfor Canaxia. Systems architectureissues arecrucialto a dis-
edgeto participate in theprocess of architectural
changewiththeenteDrise asterrecovery plan{DRP}.fThesystems architecture aspects of
team.Thatinvolves
architectural thefollowingr datarecovery planning arediscussed laterin thischapter.) Aspart
of hispresentation,Mylesbriefed thebusiness sideonthesystems
. Definingthe structure relationships,
views,assumptions,and architecture sed¡onof a disasterrecovery planthat hadbeen
rationales
fortheexjstingsystems
architecture
andthechanges in developed bythearchitecture €roup.
relationships,
views,assumptions,
andrationales
thatareinvolved . Mylesthendiscussed theissues surfounding storage. Heasked the
in anychangesrequiredformoving
fromwhatistovhatis desired. iftheyrealized
executives that,at theratethatCanaxia's datastor-
. Creationof nodels,guides,
templates,
anddesign standards
forin agecostswererising,by200óthecostof storage wouldequalthe
üsein developing
thesystems architecture. cunentlT budget. Thestunned silencekomtheexecutives in the
roomtold Mylesthatthiswasnewinformation fol theexecutive
team.Mylesthensaidhewouldalsoaskthemfortheirsuppo in
Letussetth€stagefoflu¡therdiscussion
byfocusing Aspaftof
onCanaxia. thosecostsandthereby
controlling gaining a fufthefcompetitive
Canaxia Kellolamessengineering of Canaxia's lameshas
enterpse architeclure, advantaeeforCanaxia.
Bringsan broughtonboardanarchitect,thefirstonein Canaxia's
history.
A¡chitect
on Wearesittingin on a seminal meetingwithsomeof Canaxia'sC-level
Board executives
andMylesStandish, thenewarchitect.
Heis bein€introduced
to
a semi-skeptical
audience. lt willbeMyles's
taskin thismeetingto establish
the valueto Canaxiaof systems architecture
and,by extension,a systems Therecentflurryof bankruptcies among large,
high-profilecompa-
afchitectAspartof hischa¡terMyleswasgivenoversight ior
responsibility nieshasledto theimposition of stringentfeporting ruleson lhe
recommended changes in thephysical infrastructure
andfortheapplication
toptierof publiclyownedcompanies in theUnitedStatesThese
structure
of theenterprise Thatmeanshe will be panof the a¡chitecture afmost real-timefinancialreportingcapabilities from
rulesdemand
teamasCanaria evolves
ITdeoartments. Canaxia is oneol thecorcolations subiect to the
N,lyles
beginshisrer¡arks bygivinga quickrundown ofwhathisresearch newreporting stringencies. Nlyles bluntlytoldthegathered man-
hasuncovered about thestate ofCanaxias systems architecture.
Thediscus- agersthatthecurrent financ¡alsystem wastooinflexible to provide
sionproceeded asfollows anything morethanthecülfent setofrepons andthatthefastest
thosereports canbetufnedoutis monthly. Mylesnextstatedthat
. Mylesnoted thata large partofCa¡axia s fixed assetslikethose of accelerated financial reportin€ wouldbe a highpliorityon his
mastlafgeco¡porations. is in theapplications andmachines that agenda. Thisblought nodsfromtheexecutives.
comprise Canaxias systems afchitecture Thecorporations in l,y'yles
alsobrought up theissuethatvisibility intothestateof
Canaxias business environment thatbestmanage theirsystems Canaria's infrastructure is animportant component ofa complete
architectures
willtheieby Caina competitive advantage viewof ihebusiness. Mylesintended to builda reporting infra-
. Henotedthatthemaiority of thebudget of theinform¿tion tech- structurethataflowed linemanagers andupper-level managenent
nologyllTldepartment is srvallowed bycostsrelated to Canaxjas to have business intellicence attheirdisposal sotheycould ascer-
AProclicol
Guld€ . ¡nlrastÍuctu¡e
Atthep¡esent timemostof these costsarefixedlf tainif thesystem's infrastructurewasnegatively impacting impor-
lo Enleryise Canaxiawishestogainanyaeillty inmanaging itsiniormationtech. tantbusiness metrics, suchasorderfulfillment. ln theback ofhis
Archileclurs
Alchileclure nologyresources.it willhave to putintoitssystems architecturethe mind,l\¡yles wascertain thatCanaxias antiquated systems archi- Sysl€ms
, necessarytime.e[Íort.arrdattentio¡ to sharply reducethose costs tecturewas therootcause ofsome ofthedissatisfactioncustomcrs 3
werefeelingabouttheautomanufacturer Heknewthatbringing ag¡nCthedisruption aswellasmanag¡ng
to thestakeholders. thepieces
and
met¡icsofthecompany's perfotmance
infrastructu¡€ intotheexist. partsThegoalis to improve theprocess and/orselecting
of cteating new
ingbusiness (Bl)system
intelligence wasanimportantcomponent applications andtheprocess thernintoexisting
of integtatlng The
systems.
in restoring
customer satisfaction
Ievels. payolfis to reduce
lToperating costsbyimproving theefficiency
oftheexist-
inginfrastructure.
Thecumulative impactof thousands of lowleveldecisions hasencum-
beredCanaxia with an infrastructure that doesn'tseNebusiness process
needsandyetdevouÍs themajofity of thelTbudget. In manycases, pu¡chase Additional Architecture
Systems Concerns
decisionswe¡emadeiustbecause thetechnology was'neat"and"thelatest
Thefollowing
aresomeconsiderat¡ons whenb!ild-
to takeintoaccount
thing.'Undermytenurethatwill stop,"Mylesstatedfirmly"Wearetalkinc
aboutfartoomuchmoney proiect inga systems to supportthcenterprise:
afch¡tecture
to allowthat.Movin€ forward, howv¿ellthe
matches withtheunderlyinC business process, andits returnon in'/estment
. Thebusiness prccesses thattheapDlications, machines,andnet-
(ROl)willdetermine where thesystem infiastructurebudget Coes.'
worka¡esupposed to support. Thisis theprimary concern of the
Thenthesubiectof money-thebudgetissue-came up."Youarenot systemsarchitecture foranenterprise. Hence, anarchitectneeds to
expecting a big increase ¡n budgetto accomplish all this,areyou?No mapallthecompany's büsiness ptocesses to theapplications and
money is available
fofbudget increases of anysize,'l¡yleswa3irformed. infrastructure
thatis supposed to suppoftit.Thismapping should
Heresponded bypointin€ outthatthesystem infrastfuctureof anentef- be takendownthe lowestlevelof business requi¡ements.lr all
pfiseshould belooked at asaninvestment: a flajorinvestment.aninvest, a 100pelcentfit between
likelihood, the business lequirements
mentwhose valueshould increase withtime,notasanobiect whose value andtheimplementation will notbepossible.
depreciates.Theunderpeforming areas needto berevamped or replaced.
. Anypanoftheoverall architecturethatisbeinccompromised. Aleas
Theareasthat represent income, growth,or cost-reduction opportunilies
thatoftensufferarethedataandsecurity architecturesanddata
needto bethefocus.
quality.
Thedataarchltecture suffersbecause usersdon'thavethe
Afterthemeeting, bothKelloandMylesfeltgreatly encouraged. Both knowledge andexpertise to understand theeffectsoi thei changes
hadbeeninvolved in ente¡prise architecture e[fotsthat hadfaltered and to procedure.Secuítyarchitecture suffersbecause securityis often
failed.Theybothknewthattheprimereason forthefailurewasan inability viewedbyemployeesasanunnecessarynuisance. Datainteglitysuf-
to engage theC-level managers in thearchitecture process andkeepthem fersbecausepeople atepressured to produce morein lesstimeand
involved.Thismeeting madeit cleafthat, asfafasCanaxias topmanagement theproper cross-checks onthedataarenotpelormed.
wasconcerned, theissues of increased financial¡eporting,disaster recovery
. Thestakeholders in thesystems architecture.Thepeople involved,
andcostcontainment wereon the shoÍtlist of concerns. N¡yles
andKello
knewthattheywouldhavethesupporttheyneeded to buildtheirafchitec- includ¡ngthefollowing:
ture Theyalsoknewthatthatarchiteclure wouldhaveto translate intoful- o Theindividuals whohavecreated theexisting architectule
fillmentofCanaxia s businessconcerns. o Thepeopl€ taskedwith managing andenhancing thatalchitecture
o Thepeoplein thebusiness whowill beaffected positively and
negaiivelybyanychanges in thecurentsystems alchitecture
Architectural
Aoproach
to Infrastructure
o Thebusiness's tradin€partners andothetenterprises thathave
It is importañt viewof allthepartsin a system
to takea holistic andali a stakein theeffective functioning andcontinued existence o[
theitinl¿raaliakt. thiscorporation
Wesuggest thatthemosteffective p¿thto understanding a system isto o Anycustomerc dealtwithdirectly overtheInternet
builda catalogue of thei¡t¿dr¿¿J
thesyster¡exposes or thero¡tr¿¡¿lsthesys'
temfulfillsFocusing onthecontractortheinterfacemakes it much easierto Theneedsandconcerns will havea lafceimpact
of thestakeholders on
move away froma preoccupatio¡ withmachines andprograms ¿¡dmove to whatcanbealtempted
¡na systems change
architecture andhowsuccessful
a focuson theenterprise functionality
thatthesystems mustprovideTaken anvnewarchitecture
willbe.
higher uptheárchitecture stack,
thecontractshould mapdirectly to thebusi-
ness process thatthesyster¡obiectsaresupposed to enable . Thecontext thatthenewsystem encoÍtpasses.
architectufe I¡ lhis
AProclicol
Guide Whendoneproperly, creatingandimplementing a newsystems archi- lext,ú0rt¿xl to theglobalenterpfise
refers inwhichsystenls
realities
loEnlerprhetecture orchanging aneristingoneinvolves managing thcpfocess bywhich findthemselves.
arch¡tects lf yourea company thatis limitedto a
the organization
Archileclure achieves the newaÍchitecture as wellas manaCing the singlecountry,
Ianguage,andcurrency, you're
thecontext willprob- Archileclure
Syslems
assembly of'the
components thatmake upthat architecturelt involvesman' ablyberelativelysimple.Canaxia is a global
corporation, andits ¡
4
stakeholders
speakmanydifferent
languages andliveina varietyof
timezonesithusits corporate
cultureis a complex mixof many
regional
cultures.
Thisdiversity
is,onbalance, a positive
factofthat
increases
Canaxia'scompetitiveness. . Stovepipe appllcations not beingdesigned
definitely to integrate
. Thedatawithwhichthesystems architectureoeats. intoa largersystem, be ¡t a resultof enterprise
applicationinte-
gration(EAl)or supply-chain managemenl.
. It isdifficultto obtaintheinformation necessary
foIbusinessintel.
¡igence or business process management.
. Themarriage of application andhardwardoperating systemthatis
partof somestovepipe applicationscreatinga maintenance and
Working
withExisting
Systems
Architectures upgrade infle¡ibility
thatresults in stovepipeapplications
havinga
hightotalcostofownership (TCOl.
Allcompanies havenothada single person orgroup thathashadcon-
sistentoversight of thebusinesses systems architecture. Thisis thesitua-
Manytimesit ¡susefulto tr€atthecreation of entelprisesystems archi-
tionthatMylesfoundhimself in. Canaxia's systems architeciure wasn't
tecture problem.
asa domain-deflnition In thebeginning, youshoulddivide
planned Thecompany hadgonethrough yeafsofgrowth without spending
theproblem setsoasto exclude theless-critical Thiswillallowyouto
areas.
anyserious timeor effortonthearchitecture of itsaDplications, network,
concentrateyoureffortson crit¡cal
aleas.Thlscanyieldadditional benefits
or machines Companies thathavenothada systems architectureconsis-
because ptoblems
smaller cansometimes solvethemselves or becomemoot
tentlyapplied during the€rowth ofthecompany willprobably have whaiis
knownasa stovepipe whileyouarelanding thereallybigfish.In themodern information seNices
uchiLcturc.
world,theonlythingthatis constant is change. ln sucha \'¡orld,
timecanbe
Suboptimal architectures arecharacterized bya hodgepodge of equip- yourallyandpatience thetoollo reapits benefits
mentandsoftware scattered throughout thecompany's physicalplantThis
equipment andsoltware wereobtained forshort-term, tactical
solutions to
thecoporateproblem of themoment. Interconnectivitywasanafterthought reTypes
Architectu
Systems
at best.Stovepipe architecture is usuallythe resultol large,wellplanned
proiectsthatweredesigned to fill a specifjc Fewafchitects will b€givena cleanslatear,dtoldto cleatea newsys-
functionality fortheenterprise.
temsarchitecture fromscratch.Likemostarchitects,Mylesinheritedanexist-
These systems willquiteoftenbemission critical,in thattheeffective func-
tioningof thecompany is dependent ingarchitecture, aswellasthepeople whoarecharged withsupportingand
uponthem.Normally these systems
enhancing ii andthefullsetofdep€nden ciesamongtheexisting
systemsand
involvebothanapplication andthehardware thatfunsit.Thereplacernent of
thesesystems is usually conside¡ed prohibitively thepartsofthecompanythat depended onthem.lt mustbeemphasized that
expensjve.A numbe¡ of
theeilistingpersonnel is anextremeiy
¡nfrastructure valuable
tesoufce.
issuesaccompany stovepipe architecture
Following js an en0metation of thesystems typesihei¡
afchiiectule
. Thesystemsdon'tfitrvellwiththebusiness process
thatlheyate strengths,thehweaknesses, andhowto b€stworkwiththen
tasked
withassistjngThiscanbedueto anyofthefollowing
o Thesoftwaredesignprocess usedto buildtheapplication
ir¡per- / LegacyAppllcatlons
fectly
captu
ringthebusinessrequi.ementsduringthedesign
Dhase Legacy withthefollowing
applications canbeextremely
characteristics
¡ Theinevitable changeof business requ¡rcmentsasthebusi- problematlc:
nesss competitive
landscape changes
. A monolithicdesign. Applications
thatconsistofaselieso[!rrocesses
SeeChapter
5,Methodology
Overvlew,
Chapter
ó,EnteDrise con¡ected inanillogical mann€rwillnotplaylvellwithothers
Unified
Process,
andChapter
8,AgileModeling,
formoledepthonsoftware . Fixedand inflexibleusel interfaces A chalacte¡-based 'green
develoDmerlt
Drocesses. screeninterface is a common example of a legacyuse¡interiace
(ul).lntelaces suchasthesearedifticultto replace vith browser-
Themonolithic designof moststovepipe applications
maki¡git based interfaces intoworkflow
or to integfate applications
AProclicol
Guide difficult
to rationali¿e
discrepa¡ciesbetween processcs
busjness . lnternal.hard,coded datadefinitionsThesedatadefinitions a¡e
lo Enlerpfise andapplicationfunctionality oftenspecif¡cto theapplicatlon anddont confolm to anentelp¡ise
Archileciure Fufthermore.changing Archileclure
themcaninvolve Syslems
Thedatanotintegratingvith theentenrise datamodel,usually datamodelapproach.
¡ dueto voc¿bul¿rf or d?t¿d ¡t oñary
d.tofo'rn¿t. is\ue( refactoringall downstleam applications
. Businessrulesthatareintemalandhard-coded. In sucha situa- accountsaccordingto theaccounting ptinciplesof theenteDrise is
t¡on,updatesto businessrulescaused by changes in business tlreprlrnefunctionof legacy financial applications,not granulat
processesrequireinventorying to locateall therele-
applications accesst0 data.
vantbusiness affected
rulesandlefactor¡ng components. . Ld hocque¡ying,The dalain thewarehouse will be avaiiabiein
. Applicationsthat storetheir own set of usercredentials muitidimensional cubesthat users can drill into accolding
credential
Application-specific stores to integrale
canblockefforts to theirneeds. Thisgreailvlightens the butdenof producing
the application to enablesinglesign-onand
with technologies reports.
identitymanagement. . Accoldance withagileprinciples of onlydoingwhatis necessary'
Youonlyhaveto wolryaboutimplementlng thedatawarehouse
whilemañylegacy applications havebeendiscarded' quitea fewhave andcreating the applications necessary to produce the desired
beencarried to
forward the present time The surviving legacy applications reports.Youcanrestassuredthat the financialrepoftsthattheuser
bebothvitalto theenteQrise
willusually andconsidered impossiblydifficLllt cornmunityis accustomed to will appealwhenneeded andin the
andexpensive to replace fom to whichtheyareaccustomed
ThiswasCanaxia's situation. Muchof itslTdepartment involvedlegacy
thecafmanufactur- that Mylesfoundat Canaxia'
In termsof the legacyapplications he
Several
applications. mainframe applicationscontrolled
planninC(ERP)was fromtheeally1990s. concurredwiththedecision hewas100
to leav€themintactln particular'
incprocess.
Theenterptise lesource
system, wasfirstcreated in percentbehindtheplanto leavethelegacy application
financial intact
Theinventory andordefsystem, a mainframe
(CR[¡)application was andhe movedto impl€ment a datawarehouse for canaxia'sfinancial
1985. The customer relationship management
recentlydeployed andbujlt on modularptinciplesThelegacyfinancials information.
forCanaxia
application wasof mofeimmediate concern Thedatawarehouse wasnota popular optionwithmanagement lt was
and a defenslve moveandhada low if notnegative' Rol At one point in
Canaxiawas one of the 94t companies that fell underSecurities clearly
(SEC) teamknewit the discussion of the cost of the data warehouse proiect, the architecture
Exchange Commission Order4-4ó0,sothearchitectufe
thatweremuchmoredetailed thanthesys- teamin gene¡al andMylesin particular wereaccused of beinggullibleand
hadto produce financial reports
produced. biased towardn€wtechnology" This is a validarea to explore anyt¡menew
temcurrently
technology is being brcught on board However' the architecture teamhad
Theexisting financials wouldnotsupport theserequilernents Thearchi"
donea góód¡obofduediligence andcouldstatethecostsol thepfoiect with
tectureteam knew that it couldtake oneof the following approaches, ploiectwas kept as small as
a highdegree of confidence Thescope of the
possible,ihereby substantlally decreasing theriskof lailure'Thealternative
. It couldreplacethelegacylinancial
application. moleexpensive and
move, replacingthe legacy application wassubstaniially
. It couldpedorm fromthelegacy
extractions intoa data
application of risk.Also' it was tfue thal blinging the financial
ca(ied; hiehe;degree
warehouse of the datanecessary to satisfythe newreporting dataintotheenterprise datamodelopened thepossibility of futuresynergies
fequ[ements. thatcouldsubstantially increase theROIof thedatawarehouse l¡ general
thegoodnews withlegacy applications islhat they ¿re extremely cla'
terms,
Replacing theexisting wasIooked
application
financial atlongandhard bleand thev do what they do very rvell Physical and data secu¡ity ate usually
Considerableriskwasassociated withthatcourse Theteamkncwihatif it excell€nt Lesssatlsfylng is thattheyaleextremely inflelibleTheyexpect ¡
decidedto cothereplace it wouldhave
route, to reducetheriskoffailureby veryspecific lnputand produce a very specific output Modifications to thell
it outat a highlevelHowevet,
costing theteamhadotherareas thatwere behaulor usualiy ateu majortasklnmanycases theburden oflegacy appli-
goingto requiresubst¿ntial a¡d it did¡ot wantlo spend
resources. all jts calron suppoft is oneof thereasons thalso I'tlrediscletroñary ro¡e) i"
capitalonthefinancial situatidn
feportirrg availablein mostlTbudgets.
Thedataextraction solution wouldallo\vthelegacy to do
application Mosta.chitects willhaveto wolkwithlegacy applications Theymllst
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 concentraie on ways to o(plolt thel¡ strengths by nlodilyrlrT lhcil lnh'rvr"l
buysCanaria.the lollowing, andfocus ontheconllacts theylulflllaadtheinterf¿ces tl'ey'arrcrf'Jse
Changes in anyoneapplication canhaveunexpected a¡ldunintcnded
. N,'tuch
g¡eater LJsing
teporti¡gresponsiveness a datawarshouse
it to theotherapplications in anolganization Suchsituations
consequences
is possible
to ploduce viewof the(ompanfsiin3ncials
an accurate thatyouisolatelegacy application functionality to a highdegree Ai
AProclicol
Guide mandate
on a weeklybasis poini, a function will have been decomposed to the point whele you
lo Enlerprhe some
. Mo¡egranular to datais oneoftho
access
levelofdetailClanular willunderstand atlitsinputs andoutputs Thisisthelevelatvhichto extel' Sysloms
Archlloclure
Archilecture
primefunctions
of datawarehouses oi thechartol
Reconciliation nalizelegacy functionalitY
t
7 Cllent/serverArchltecture . Manyof the user-built applications
clicnvserver werenot well
>. Inparticular,
deslgned. thedatamodels usedin thepersonal data'
Clienvserverarchitectureis basedon dividing effortintoa clientappli- Inaddition,in a signif'
baseswereoftencompletely unnormalized.
cation,whichrequests datao¡ a service anda server application, whichful-
lcantnümber thedatain th€desktop
of cases, datastolewerenot
fillsthoserequests. Theclientandtheserver canbeonthesameor different
100percentclean.
machines. Clienvserver architecturefilleda definiteholeandbecame popu,
larfora va¡ietyof Íeasons.
. Thehugenumbers of th€seapplications andthe pasitrendof
madeit extremely
decentralization difficultfor an alchitectto
Accessto knowledge wasthebigd¡iverintheriseofclienvserver Onthe
them.
locateandinventorv
macro level,wjthmainframe applications, usersweregiventhedata,butthey
wanted knowledge. OnthemicroIevel, it camedownto reports, whichesse¡- has
Therapidpenetration ol cllenL/seRef applicationsintocorporations
tiallyarea particular viewon paperof data.lt waseasyto getthestanda¡d especiallysp¡eadsheets.
At
beenexpedited byclienlserver helper applications,
setof reports fromthemainirame. Togeta different viewof corporate data
isthepremier dataanaly-
alllevelsofthecorporate hierafchy, thespreadsheet
could takemonths forthepreparation ofthefepo¡t. Also,reports wetetunon ofsplead-
sistool.clienvseNer development toolsallowthedi¡ectinteglation
a standard schedule, notontheuser's schedule. of spreadsheet
sheetfunct¡onality ¡ntothe desktop client.Theimportance
Costsavings wasanotherbig factorin the initialpopulafity of functionalitymustbetalenintoaccount whenarchitecting replacements for
clienvserve¡ applications.[4ainframe computers costin thesix-to seven' clienvserver appllcatlons.ln mostcases, ifthe useris expecllncspreadsl'eer
figurerange, asdo theapplications thatrunonthemIt is muchcheaper to capabilitiesin anapplicetio.,,it willhaveto bein anyreplacement.
buildor buysomething thatrunsontheclient's desktop. teamwasln
Infegard applications,
to cli€nlserver theCanaxia alchitecture
Theriseoffast, cheap network technology alsowas a factor.
Normallythe thesame oosition asmostarchltects oflarge coQorationsinthefollowingwaysr
clientandtheserver applicationsareon separate machines, connected by
somesortof a network. Hence,to beuseful, requires
clienvserver a goodnei- . canaxia hada largenumber applications
ofclient/server to besup-
workOriginally, businesses constructed localarea networks (LAN5)to enable ported. Furthermore,theapplications wouldhaveto besupported
file sharing.Clienvserver a¡chitecture \¡,asableto utilizethesenetwolks. formanyyearsintothefuture.
Ente¡prise networking hasgrownto include widealeanetworks {U/ANS) and
. cana{iawassti¡ldoi¡gsignificant of clienvserverappli-
amounts
theInternet. Bandwidth hasg¡ownfroml0 MbsEthernet and3.4Mbstoken
cationdeveloDment. Somewereiust enhancements to existing
ringnetworks to 100MbsEthernet withGigabit Ethernetstarting to makean
applications, butseveralproposals iocusedondeveloping entirely
appearance. whilebandwidth hasgrown, sohasthenumber of applications
jssuefor nev¡cl¡enVserver applicat¡ons.
chatting on a givennetwork. Network congestion is anever-present
architects. . oneof theDroblems thatMyleshaswithclienyserver alchitecture
is thatit ¡sbasically
on€-to.one: a particular
application ona par-
clienvserver ledto thedevelopment
architecture andmarketing of some
partofthe ticulardesktop talkingto a particular
servetusuallya database
verypowerful desktop applicationsthathavebecome anintegral
serverThisarchitecture do€snotprovide for gfoupsof colpolate
corporate world.Spreadsheets and personal databases are two desktop
resources to accessthe sameapplication at the sametime.The
applications thathave become ubiquitous inthemodern enterprise.
architecture teamwanted to movethecorporation in thedilection
Clienvserver applicationdevelopment tappedthe contributions of a ofdistributed to gainthecostsavings
applications andscalability
largenumbe! of people whowe¡enotplogrammers. Corporateemployees at thattheyprovided.
all levelsdeveloped somerathersophisticated applications withoutburden-
inganlTstaff. Thearchitecture
teamknew thatit hadtogetsomesortofgriponCanaxia's
Theinitialhype thatsufrounded client/serve! revolutionhaspretty r¡uch client/seryer lt knewthatseveral
applications. couldbetaken
approaches
dieddownlt is nowa verymature archilecture Thefollowing facts aboutit
nave emergeq: . lgnofethem. Thisistherecommended approachforthose appllca'
tionsthathavethefollowing characteristics,
. ThesupDort costsinvolved
in clienyserver
a¡ch fehaveturned
itectu expensiveto moveto
o A¡ecomplex andwouldbedifficultand/or
out to tje considerableA largenumber of Pcshadto bebought architecture.
thin-client
andsupported. Thecostof keeping clienvserverapplications
cur-
o Have a smalluserbase, meaning
usually theapplicationis not
rentandofphysically distributing
newreleases ornewapplic¿iions
A Proclicol
Guids to all thecorporate desktopsthatrequrred themcameasa shocl: anlTPriolity.
loEnleprise to many lTdepamentsClienlserve¡ applicationsareanothef
one n Arestabie. muchmaintenance
lhatis,dor'tlequire ¡¡ a steadt
Archileclure Archil€clure
s)'slems
of the¡easons thatsucha largeportionof mostlT budgets is stfeamof updates, usually
meaning thatsuppo¡tof th¡sapplil
to devoted to iixedcosts drainonthebudget.
cationis nota noticeable tI
Thecanax¡a teamdecided
architecture approach
to takea multistepped
o Involves spreadsheet Attempting
funciionaliry. to produc€ evena
powefln a thinclientwouldbea to its library
of applications
cl¡envserver
smallsubset of a spreadsheet's
verydifficult
andexpensive pfoiect.
Inthiscase,wesuggest accept'
(GU . Abouta thirdof theapplicat¡ons fellln the 'leave
clearlv thernbe"
ingthefactthattherichgraphicaluser interfac€ l) benefitsthat
to thetablearetheoptimal solution. Theywouldbesupported
category. butnotenhanced
thespreadsheet brings
I Between I 0 andI t pefcent
of theappl¡cationswouldno longetbe
Puttheapplication ona sewerandturntheusers'PCsintodumb
terminals.Microsoft Windows Sewer, version2000andlatel.is suPPorted.
capableofoperating inmulti.user rnode.Thisallows thelTdepan' . Therema¡ning forleplacement
atecandidates
applications usinga
mentto runWindows applications on theservet byjustproviding thin,clientarchitecture.
screenupdates to individual machines attached to it. Putting the
application on a servermakes the job of managing clienvserver one matterthatis oftenoverlookedin clienvserver is the
discussions
applicationsseveÍal ordersof magnitudes easier datasequestered
enterprise in thedesktopdatabasesscattered
thfoughout a
onecanchoose
buslness. amongseveral approacheswhendealingwiththe
Extractthefunctionality of theapplication intoa se¡ies of inter.
faces.Turnthe client/server application into a set of compo- important datacontained
corporate in userdatastores:
nents.Someconponents can be incorporated jnto other
applications lf theclient/server application hasbeenbroken into . Extract andmoveit intooneof thecorporate
it fiomthedesktop
pieces, databases.Usels Connecll!iry
vlaOpenDatabase
thenobtalnaccess
it canbereplaced a pieceat a time,ol thebitsthatare
thebiggest drainon yourbudget canbe replaced leaving the (ODBC) or (iDBC]
supportedapplicatio¡s
reststillfunctional. . ForthecllenUserv€r thatatemoved
aoplications intothebrowset
extladion maybe necessary.

WhileclienUserver atchitectuleis nota gocdfit for currentdistributed


it still
apolications, hasits place
in themode¡n corporate lT wo¡ldwe are
advccates
staunch of usinginterfacesrathelthanmonolithic As
applications
wehave¡ecommended befoie,con.entrateon thebiggest and mostimmedi-
Clienyserver appl¡cationsarestill thepreferred solutionin many
situations.lf theapplicationrequires a complex CUl,suchasthat ateofyourproblems.
produced byVisualBasic, PowerBuildeI, or a lavaSwingapplica.
t¡onor applet,manythingscanbe donethatareimpossible to
duplicatein a browser application, andtheyarefaslerandeasiel ¿ Thln-Cllent A¡chltectüre
to produce thanin HTMLApplications thatperform intensive 'lhifi-clie(it is onepopularapproach
4t hitectur¿ to decoupling presen-
computation areexcellent candidates. Youdonotwantto burden logicand data tfir
Originally cli¿rhwere a rehash
tationfrombusiness
yourserverwithcalculations or useup youfnetwork bandwidth
of time-shale computing witha browser replacingthedumbterminal As
pumping images to a client.It is farbetterto giv€access to the
the architecture has rnatuted, in somecasesthe clienthasgained
dataandletthecPUonthedesktop dothework.Applications lhat
responsibility.
involvespreadsheet functionality arebestdonein clienvservef
jn the folmof Asnoted,clienyserver havesubstantial
applications hiddencostsin the
architecture. Excelexposes all its functionality
fo¡mol Ihe effod involvedto majntainand upglade them Drssatisfactlon
common obiectModel(coM)components. These components
withthesehidden costs$,asoneofthemotivating factorsthatledto thecon'
canbetransparently andeasilyincorporated intoVBor N4iclosolt
ceotof a "thinclient." Withthin'clientsystems architecture allworkis per'
Foundation Classes ([¡FC)applications ln anycase,all new
clienVserver development shouldbedoneusingintelfaces to the formed on a serve¡
functionálity latherthanmonolithic applications Oneofthereally attractive architectu¡es
partsofthin-client isthatthc
client soltware component is providedby a thirdparty and lequiresno
Movethemto thin-client architectufe. At thistime,thisusuallv
expense of effortonthepadofthebusiness Theservel, in thiscase a web
means creating browser-based applications to replacethem.Thisis
seryef. seryes up content to uSers'browsefs andgathers aesponses from
theidealapproach to thoseclienVservef applications thathavean
them. AIIaDDlications runoneithelthewebserver or ondedicated appli-
impo(ant impact onthecorporate datamodel. lt hastheimpor-
AProciicol
Gulde cationservers. All the data ale on machines on the businesss
tantsideeffectof helpingto centralize the dataresources con'
l0 Enl6rPise tainedintheaoDlications network. Archlleclure
Syslerns
Archileclurc lt
t2
Thin-client
architecture problematic
hasseveral areasl Dalaanatysis, especially the typethat involves graphing, ca¡ heavily
burden the netwolk and the serv€r Each new request fof analysisinvoives a
. A thin-clientarchitecture canproducea lot of networktraffic. network triptosendtherequest to theserver Thentheserver m¡yhaveto gcl
Whenthe connection is overthe lnternet, pa¡ticularly via a úe data.üsually fromthernachine hosting thedatabase oncethedataare
modem, round-trips fromthe clientto the server canbecome in hand, CPU-intensive processing steps are required to create thegraph'All
unacceplably Iong. theseoperations takelotsof server timeandresources Thenthenewgfaph
. Thea¡chitecture hasto besentoverthenetwork, usually asa fairlybulkyobiectsuchasa GIF
oftheWebwasinitiallydesigned to suppo{static
orIPEG. Ifthe data andan application to anallze anddisplay lhedatacanbe
pagesWhenthenextfequest fora staticpagecomes in,theservef
doesn t careaboutthebrowsing history
of theclient. sentovelthewire,theusercanplaywiththedatato hisor helhearts con-
tentandtheserver canbe leftto service otherclientIequests Thiscanbe
. Controlofwh¡ch browser is usedto access thethin-client applica'
thought of as a semithin-client aÍc\itccture
tionis sometimes outside thecontrol of lheteamdeveloping the
Mobtle phones andpersonal desklop asslst¿nts lPDAsl canbe(orsld'
application.If theapplication is onlyusedwithina corporation,
eredthinclients. They have browsers that you canuse lo allow intefaction
thebrowser to beusedcanbemandated bytheITdepatment If
theapplication isaccessed parties between thesemobiledevices andsystems withintheenterpfise
byoutside or overtheInternet,
a widespectrum of browsers mayhaveto be supported. Your 'Iheriseofthebrcwser clienthascreated theabilityandtheexpectation
choices in thissituation areto giveupfunctionality byprogram- thatbusinesses expose a single,unifiedfaceto extefnal andinternalusers
mingto thelowest common denominator or to giveupaudience Inevitably, thiswillmean bringing thebusiness s legacy applications intothe
bydeveloping onlyformodern bfowsers. thin-clienl architecture.lntegrating legacy applications intothin-clientarchi-
. Users tecture canbeeasyor it canbeverydifficultThoselegaqy appllcalions t\at
demand rich,inte¡active applications.HTML isinsufficient
to
e)úibittheproblematic areas discussed pleviouslycanbequitechallenging
buildrich,interactive cUI applications. whendevelopinC thin.
Thosethatarefullytransaclional andarebuilton relational databases can
clientapplications, thedevelopmenl teammuststriveto provide
oftenbeaneasier poftthandealing witha client/server application
iustenoughfunctjonality for usersto accomplish whattheywant
and no morc.Agilemethodshavethe correctapproach to this Exposingthe functionality ofthelegacy systems viainterfaces andobiect
problem anddo nomorethanwhatclientsrequest wrappering is the essential firststep.Adaplingthe asynchronous baich'
. Datamustbevalidated. processing modelofthe mainfiame to the attentionspan ofthe average Intemet
Thedatainputbytheusercan bevalidated
ontheclientand,if thereareproblems withthepage, usercanbedifficult. Wediscuss thisingreater detaillaterinthischapter
theuseris
alerted bya pop-up. Thedataalsocanbesentto theserverand val-
idaledthere.If problems arise,thepageis Íesentto theuserwith
a message identifying where theproblems are. Using
Systems to Enhance
Architecture Value
System
. Themostcommon webdevelopment toolsa¡eusually enhanced Assoftware andhaldware syslems agetheyevolve asmaintenance and
texteditorsN,'lo¡e advanced Webrapidapplication development enhancement activiti€s change them.Maintenance andenhancement canbe
(MD)toolsexist.suchasD¡eamweaver andFfontPagei however, usedasanopportunity lo increase üe valueof a system to theenterpllse
theyalllallshortonsomelevel, usually dueto thefacts thatthey Thekeyto enhancing the value of systems architectule via maintenance and
onlyautomate theproduction of HTML andtheygivelittleor no enhancement is to usethechanges asan opportunity to moditystovepipe
helpwithlavascript or withthedevelopment ofseNer-side HTN¡L aDplicationsintoleusable applications andcomponents Thiswillmake your
1!( lr ,r, lirv,r,r rvrr l)ir{lc.,
IrJll,rirlt,¡, ¡h(l J¡v;i,,crvhl:,
ll:;1,:i) systcm mo¡€ agllcbecause youwllllhcnbclrcclo r¡odify an(l¡)r¡'l)L¡'cjr|il
. Se^,erresources a fewcomponents rather thantheentire application Inaddition it !vLlltc'rd
canbe stfetched thin A singleWebserye¡can
handle a srr4xrsrng nurrb0rof conne(tions whenall it is serving ul) to 'futurcptoof theapplication because the greater flexibililyoflered hv
¡rc st¡traWebpdgesWhcnlho sesso|] becones¡nter¡ctive, lhe .omponentsw gte
l l l at lnct
ly ease t hechancc' lhr l I xl\ lln{{ llv r lL\ ! 'l l'
resources consurned bya clientcanrisedramatically. ableto fulfillbusiness requiremenls astheychange
Thebestplace to begin iheprocess isbyundersta¡ding allthecontracts
The keysto stro¡gthin'clientsystemsarchitecture lie in application thatthestoveDipe fulfills.Byú0¡tfalls, wemeanall theagreements thatthe
designForexampleapplication issuessuchas the amouf,tof informatiorl stovepipe nakes with applications that wish to use it Then ¿spart of the
carriedin session objects,the openingdatabase connectionsa¡r(lthe time enhancement or maintenance, theStovepipe externalizes thecontlact viaan
Guide spentin SOLque¡iescanhavea big impacton the performance
AProclicol of a thrn- interfaceAsthisprocess is repeated witha rnonolithic legacy application it
loEnlerprheclientalchitecture lf the Webbrowseris runningon a desktopmachineii beeinslo fu¡ction as a set of components Foter¿f.ple somc lools(onsume
maybe possible
Archileclu16 to greallysDecdup perfoÍnancebyenlistingthecompuir¡g coBoL copybooksand producean obiectwrapper" ior the moclules Syslems
^rchrleclurc
t4 power of LllcclLcl machiril descdbed inthecopybooks.
Messaging technology is a usefultechnology forintegrating legacy func- customers'
tractsistheapplication! itsusers,whousuallyknowexactlywhat
tions into yoursystems architectu¡e With messaging, the information is
the application supposedto do and the businessrules its
surrounding
required fofthefunction callis putonthewireandthecalling applicatjon operation.Usefuldocumentation for the application avail-
is occasionally
eitherwaitsfora reply(pseudosynchronous) or goesaboutits business able.Examiningthesource codehasto bedoneat somepoint,butthemore
(asynchronous). Messaging is verypowefulin thatit ro¡¡y'I¿t¿lu
abstracts ihe informationgathered thefasterand
beforehand, easierwillbetheiobofdeci-
calle!fromtheca¡led function. Thelanguage in whichtheseNetprogram is phering thesoulce.
written, theactualdatatypesit uses,andeventhephysical machine upon
whichit runsareimmatetial to theclie0t. Withasynchronous messaging A netwolkprotocol andspecifications
is a setofagreements data
fol sending
callsthesewerprogram canevenbeofflinewhenthetequest is madeandit overa network. Many networkprotocols
arein usetodayLets diveintoa Network
will fulfillit whenit is refurned to serviceAsynchronous function callsare quickoverview of protocolsusedio helptou become familiarwith this Protocols
veq/attractive whenaccessing legacy applications.
Theycanallowthelegacy domain to allovyouto makeinformed decisions
inf[astructule
application to fulfilltherequests inthemodewithwhich it is mostcom[ort-
ablebatchmode.
Tobeofthegreatest utilityobjectwrappe¡s shouldexpose a logicalr¿l TCP/IP
of theunderlying functions Wethinkyouwillfindthatexposing every func- IICPllP)is the net'{orkprotocol
1¿lPrcIacal
ControlPtotocal|l^te
Ttat$nissiaü
tionthata monolithicapplication hasisa waste oftimeandeffodThefunc- thathasthewidestusein industry.
tionalityto beexposed should begrouped intologicalunitsofwork, andthat
unit ofworkiswhatshould beexposed . TCP/lP protocol stacksexistlor all operatingsystems culrently
whatis thebestwayto expdse thisfunctionality?
whencreatine an in use.
objectw¡appet themaio¡consideration shouldbe themanne¡ in which robustandreliable protocol
It is anextrenely
yoursystems atchitecture planindicates thatthisinterface or contract wiil
It is routable,whichmeans thatit canbesentbetween disparate
beutilized. Theeffortshould bemadeto minimize thenumber of network
taiDs. networks.
forfreewith
It is available alloperating systemsEvenNelware the
Wrappering depends on distributed objecttechnology for its effective-
homeoftheonceverypopular network protocolSPX'offe¡sTCP/lP
ness. Distfibuted obiects areavailable underCommon Object RequestBroker
Architecture (CORBA), in addition protocol.
to its proprietary
lava,.Net,and by usingMessaging Oriented
Middleware (MOM)technology. Distributedobiectsrelyuponan effectjve Anextremely robustsuiteof security hasb€endevel-
functionality
network llnte¡net, int¡anet,or WANIto operate effectively. opedfofcommunlcation viaTCP¡P
In addition to inc¡easing thevalueof a stovepipe application to other Internetcommunlcation by andlatgeusesTCP/PSeveral other
segments oltheenteprise, exposing thecomponents ofthatapplication pro- nelworlprotocols canbeandareusedoverthelnternetTheywill
videthefollowing opportunitiesl bediscussed laterin thisseclion.However, thelnternetcommuni
cationprotocols HTIP,HITPS, SMTP, andFTPall uselP
. Thepossibility
ofsunsettlng st¿gnant
orobsoletero!ttnes
¿ndtn€ webseN'ces useTCP/IP
inc¡emental
replacement of thembycomponents thatmakesmore . MessagingProlocolsuseTCP/lP
economicsenseto theentemrise
suchasDColúlavaRMLand
. All remoteobiectcommunication,
. Thepossibility
of plugg¡ng in an e)(isting
component lhat ls CORBA canuseTCP/IP
cheape.
to maintainin placeoftheIegacyapplication
foutine.
. Outsourc¡ng
func|onái¡tytoanappllcationseNicesprovider
(ASp)
Subnets
lftheintedace ispropefly designed.
anyapplication
accessingthatinter-
face\\'illbekepttotally ignorant
ofhowthebusiness contract
isbeing
ca¡¡ied drcctlyw¡lheachothetApetsan
subnett ol o new* kot concomñlnicole
orc segrnen!
out Therefore,it isextremely important
to designthemprope¡y TheCana¡ra ano subnelconcoñmunkote dircdlywítholl lheothetcon,pule5añlhol subnelNef¡/ar|t
architecturegroup hasano¡Coi¡g proiecttodefineinterfaces
iorlegaq.appli- by thesubnelnaskpono{ke TCPIP
orcvil inlr subnels Prcpedtes súnphry
subnels net
cat¡ons andimport¿nt client/server
applications
thatwere
wf]tten¡n,house ¡@ odmi4tsrcton ondconbeusedtaprc¡desecu'try'
APfoclicol
Guld€ Thebestpl¿ce to st¿rtwhenseekingañunderstandingoftheinterlaces wlh canlputeson ollel
rcquie rcutetslo connun¡cate
Conpute!on diflercnlsubnets
I-0tnlerpflse
thatc¿nbedefrled lrom¿napplicationis notthesoutcecodebuttheuser sobnels
Archileclule Sys'ems
Archllecluie
manuals Another goodsource

of knolleclge
of a lecacy
application,s
con,
n
off.Thisprocess is repeated untilall theinformation hasbeenp'Jt
TCP/lP
is a suiteof protocols
builton a fourlayer
model:
onthewlr€.
. Thefi¡stlayeris the network . TCP¡sa connection-or¡ented proiocol in theta seryer requiresihe
inteíace.Thesearethe LANtech.
nologies,such asEthernet,Token RinC, andFDDI, ortheWAN tech- clientto connect to It befoteit cantransnitinformation
nologies,suchasFrame Relay, SerialLines, orATMThis layerputs . TCPaitempts lo offerguaranteed delivery whena packelis sent
frames ontoandgetsthemoffthewire. the senderkeepsa copy.Thesender thenwaitsfof an acknowl
. Thesecond laye¡is thelPprotocol. Thislaye¡is tasked withencap- edgement of receipt bythe recipient machine. lfthatacknowledge-
sulating dataintoInternet data€rams. lt also¡unsall thealgo- mentisn'treceived in a ¡easonable time,thepacket is lesentAftel
a certainnumber of attempts lo transmit a packelthesender will
rithmsfor routi¡gpackets between switches. Sub-protocolsto lP
are functions for Internet address mapping, communication giveupandreportanerror
between hosts, andmulticasting suppon. . TCPprovides a means to propelly sequence thepackets oncethey
. Above theIPl¿yeris thetransport layer. Thislayerprovides the haveall arived.
actual communication Twotranspoft protocols arein theTCP/IP . TcPprovides a simplecheclcum feature to givea basiclevelofval-
suite TCPand UserDatagram Protocol{UDP).Thesewill be idationto the pácket header and the data.
explained in greater detailinthenextsection . TCPguarantees lhatpackets will bereceived in theorde!in which
. Thetopmost layeristheapplication laye.Thisiswhere anyapplica- theyweresent.
tionthatinteractswith a networkaccesses theTCP,4pstackP¡otocols
suchasHTTP andFIP¡eside in theapplication layer.
Underthecov- UDPis usedmuchlessthanTCP/IP place
yetit hasanimport¿nt in lP
ers,allapplicationsthatuseTCP/lp usethesockets ptotocol.
Sockets because
communication of thefollowing,
canbethought of astheendpoints of thedatapipethatconnecis
applications. Sockets havebeenbuiltjntoall flavors of UNIXand . UDPbtoadcasts infotmation. Servers do notlequilea connection
havebeena padofWindows operating systems sinceWindows 3 I, to senddata over the network via UDP A UDPserver car sit a¡ld
seeFigu¡e l-2 broadcast information suchasthedateandtimewithoutrega¡d to
whether or notanyone is listening
Thetransmission protocolis the actualmechanism of daradelivery . IJDP to recover fromfailurethat
doesnothavethebuilt-infacilities
between applications.
TCPis themostwidelyusedof thetransmission
pro- TcPhas.lf a problem, suchasa network prevents
failure, a partic-
tocolsin theTCP/IP
suite.lt canbedescribed
asfollows: ularapplication from receiving the datagram the sending applica'
tion witl neverknowthat lf rellabledelivery is necessary' TcP
. TCPis a packet-oriented
protocolThatmeansthatthedataare applicationwill haveto provide
shouldbe usedor the send¡ng
splitintopackets,
a header to thepacket,
is attached andit is sent mechanisms to overcome theinherently unreliable natureof UDP
. UDFis fasterandrequires lessoverhead than TCP
f¡flrc l-l . Typically,UDPis usedforsmalldata packetsandTCPtorlargedata
stleams.
Appllc¿llon

OtherProtocols
MM is a high-speed network technology likeEthernet Alldatastreamed
llansporl
overATMarebroken downinto53'byte cells. Theconstant sizeof thccells
switching
simplifies issuesandcanp¡ovide higher transmiss¡on capabilitics
thanl0 or even100 Mbs Ethefnet. TCP/IP establishes a connection between
senderandrecipienl mach¡nes, butit doesn't establisha circuita fixedset
Protocol
cf machines through whichall thetlafficwillgofortheduration of theses-
sion.TCP/IP allows networkconditions to modify the actualphysical loute
thatpackets will takeduringa s€ssion. Thismakes TcP/lProbustandsell
APrccllcol
cuide
healingin thefaceof netwolk problems ln thecaseof videoor voicetrans-
loEnleprise Network
thecomrnunicating Archlleclure
pa ies Syslems
mission,it is best to havea connection between
Archiloclure
and,ATM canprovicle that.TCP/IP canbesentoverATN'I t9
ts
Anotherprotocolthat hasemerged is Multiprotocol Froma hadwareandoperat¡ng system pointof viewconverting to vó
LabelSwitching
Thlsis based on lhe factsthatall the maior
{MPLS). MPLScompetes withATMin that it allowsthe establishment of canbeverycloseto cost'flee
labeledpathsbetween thesende¡ andthereceiver Thisabilityto establish operatingsystems havevólP stacksbulltintothemandthataddingvósup'
pathshasmadeMPLS of inte¡est
to thecreatorc of virtualprivatenetworks. no,tto deuicessuchasrouters onlylequires a software update
UnlikeATM,it is relativelyeasywith¡.,1PLS
to establish pathsacross multiple Theexhaustion of thelP namespace is another issueof concernlt is a
layel2transpoÍslikeEthe¡net andFDDI. lt alsooutpelorms ¡'TMandoffers space is facingexhaustion lnnovations sucn
factthatthecuÍentiPaddress
someveryusefulpathcontrolmechanisms. LikeAT[,,],
MpLSuseslp to send address (NATI
translation have postponed the daywhen the last
asnetwork
dataoverthelnternet is buying
assigned, timelor an otderly from
tla¡sition lPv4 to vó
addtess

AddressTranslation
Network
in,¡deo business
is o Eúnologythotalbv'aail compLrets Ia
Theemergenceof CigabitEthernetimplementations hasprovided Neüotkoürcsstonslolion
t¡i t"s ol p a¿""es thotáieprivote
ond be
cannot rcuted to the lntenet
enoughrawbandwidth iii inuii
to allowTCP/IP
overEthernetto compete withATM q theina¡neton oddrcss i5noi possible
canfit¡1 rhe
íi*"1 iiut" oi¿iiirt .*ot tu seen
forvideo
andolherbandwidth,intensive
applications. nothinethotis octing to tl''elntenelwlh 0
os thenelwotkoürcsstonslatotis connected
Thebigquestion
to consider
aboutTCP/lp is whether
to utiljzelpv4 náÁol. routobh tp -oddress canputesusingiheptivolelP
and oalsoso rouletb allav\/
whichwasreleased
waybackin 1980, addrcsses lo connecl to on¿ Lse lhelnleñet
orto movetowatd lpvó.lpvóhasmany
features
of imponance
to theinfrastructufe
ofanenterprise:

. Virtuallyunlimited lPvScontainsnumerous imProvemenls


incfemental inconnecli¡8devrces tolhe
address space.
lnrernetlhe enomous expansionol thenaming sp¿ce¿ndlre dooressr¡8
. A differentaddressing scheme thatallowsindividualaddresses for dwiceonthepl¿nel lo becon¡e(teo t0
chanees th¿tmakeit possible
forevery
every device in anenterpriseeveryvherein theworld. areüuVrevolutionary
thel;ternel Forcanaxt'.nol
formoslenterP'ises o¡lyc¿n
. A fi)(edheadef machineinevery oneol itsplanlsbecon¡ecledto a cerlr¿llocarlonvr¿
lengthandimproved header formatthatimproves everv
br¡
thátnternet. evelysubcoÍnponenl of m¿chine
th¿t can h¿ve rts own c0'1-
theefficiency of routing viathelnternel wilhó
niaán.Áii.áo* dt ¡t"atehbuses canbemanageo
. Flowlabeling ol packets packets
{Labeling allowsroutersto solt dealers
connection, sellingGnartac¿fsc¿nconne(lnelrs¿Les
secute lntemet
packets intost¡eams, making Tcp/lpvó muchmorecapable than io-oarüeitpans¿ep¿,tments,andtheirsérvicedepalmenlslo a cenlr¿lC¿¡a{i¿
TCP,/IPv4 ofhandling stream-oriented
trafficsuchasVOlpo¡ video manaBement f¿cility.
streams )
. lrnp¡oved secuity andprivacy (Securecommuntcatlons atecom-
pulsory withvó,meaning Theconverslon of anexisting to IPvóis notgoingto becost"
enterprise
thatallcommunications existina secu¡e
tunnelThiscanbe compelling of operaling
hee.Oldetversions systemsmay nothaveanlPvóprotocol stacl(
in somecitcumstances The
perhaps
available, necessitatingtheirreplacement ln a laEecorporallon
inc¡eased securitypfovidedbylPvówillgoa longwaytoward pro-
will workseamlessly
applications
thaiall existing
ascertaining wilhvóvill
viding a SecLlreCyberspace.)
theory
a substantialundertaking.ln lPv4can withvó But
coexist
orobablybe
wesaythatif youhaveto mixlPv4r¡ithvó youwill haveto plovethatthere
arenocoexistenceploblems.
Secure
Cyberspace conlenlplating
Werecommend thefollowingbeused asa template when
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 aonvftsionto IPvó
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. . tfyouareasmall ot medium'sized firmvithoutany i¡ternational
pulet connectedla lhe lnletnel presence, manciatoty
waituntilit isabsolutely Inany c¡se youvLll
Leable to getbywith lustimplementing vó on the edge of thenet'
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. work,whe¡e youintedace withtheIntelnet
. I[ youarea multinational cofporation or a lilm thathasa large
Guido TheU.5.govennent hosauthneda natiornls¡alegyIa prctectthe tntenel.fot detoitsseethe
A Procllcol thatneedlnteÍnetaddresses
of devices youshouldfof-
drcft "NotonolStrctEy to SecueCybe\poce,al wwv.whjtehouse.gav/pcipb number
l0 Enlerprh€ Npet entiled plan at
start theedge and a[vayslookfot
mulatea vóconvefsion Archilsciure
Syslems
Archilecfure
n 2l
application of course,you shouldhave
incompatibilities. It shouldbepossible fora managel in ma*eting'afterreceiving anangr-v
exhaustedoptionssuchasusingnontoutable lP address€salong complaint froman important client,to drill intothedatastreamf¡omsys-
withNAt temsunderpinning theenterprise andseeif thereis a correlation between
. lf youdodecjde just-
startaltheedgeandtryto practice
to convert, thetimeit tooklo display thewebpages thecustomer needed to workwith
in-timeconversiontechniques. andthesubstance of hisor hercomplaints. Perhaps severalof thetimesthat
theWebserver wasdown co¡ncide with times wher lhis cuslomer was
Because of its sizeandinternationalreach,Canaxia hasformulated a attempting to dobusiness. W¡thout datafÍomall thepossible tloulllespots
strategytoconvetolPvóTheefforlwillbe spacedovera decade. lt willsta¡t it willbeirnDossible to pindownthelealsource oftheproblem
attheedge, whe¡e Canaxia inte¡faces
withtheIntetnetandwithitsWAN. New ln mostorganizations, thetoolsto monitorthehealthof networks data-
sjteswillbevófromtheverystaf.Existing siteswil¡beslowlymigrated, with bases, andtheWebinf¡astructufe arenotplugged intotheenterprises over-
this effortnot due to beginlor anotherfiveyears.As applications are all Bl system. They areusually stand-alone applicationsthateitherprovide
upgraded, replaced, or purchasedcompatibility
withIPvó willbea ¡equire- snapshol srntoth ehealt aparhof
t iculalsyst em or dum pPver ng - loalog
yt l'
mentas muchas!s econom¡cally feasible.
Canaxias atchitectu¡e teamis thatis looked atonanirregular basis. oftentheyarelittlehomeglo\\'n scripts
(onfidentnoc¡isiswilloccur anltimeinthenextl0 yeats dueto lackofavail- together to solvea palticular problel¡o¡ theya¡e
or applications throrvn
ableInternetadd¡esses. inherited f¡omthepastwhenlhesystems wetemuchsimple¡ andmuchless
interdependent.
Startwiththemostimpo¡tant pelform¿nce indicato¡s[o¡yoursystem
Systems
Architecture
andBusiness
Intelligence Perhaps theyarepagehitspersecond or percentbandwidth utilization
lfyourenterpriserunsontopof a distributedandheterogeneous infra- lntegrate lhisdataintotheBlsystenl first.Pelhapsthesegnent oiyou!entel"
structure,thehealthof theinfrastructu¡e
canbevitalto thesuccess ofyour pnseinfrast¡ucture a¡chitecture aligns withoneof thecrmp'rnys bustness
business. In thatcase, willneedto provide
thearchitect visibility
intothe unitsFittheDelformance metrics to theunitsoutptrt ¿ndplesent il lo the
statusof theente¡prise Theabilityto provide
systems. nearreal-timedata decision makers forvouru¡it.
on system perfolmance to business
customerc is clitical.
Following is an Theplanning stagefora newsystem timeto buildperfor-
is anexcellent
exanple' mancemet¡icsmeasulement inio its architectufe New systems oitenare
conceived usinga¡ optimistic setof assumptions regafdingsuchmetdcs as
. TheWebseruer wasup 99percent of thetime,whichmeans it andsystem úptime. whenthatnewsystem comesonline,you
Derformance
vasdown7 3 hourslastmonth. Whathappened to salesof cus- willbegfat€ful fortheabilitylo generate thedatato ouantilyhowacculate
tomersatisfaction du¡ingthosehours? lf thecustome¡s didnt theinitialassumptions were.lf problems cropupwhenthesystem becomes
seemto care. should wespend themoney to goto 999 percent ope¡ational, youwill havethedatanecessary to identifywhentheploblen
u p t¡me ? liesatyoürfingertips.
. TheWebseNer wasup,butwhatwastheav€rage timeto delivera
page? vhat did custornersatisfactionlooklikewhenthe pa€e
deliverytimewastheslowest?
. Howaboutthenerwo¡k'? Service Agreements
Level
Paftof thesystem is stillon l0 ¡,4Bits/
second wiring.
HowoÍtenis lt afflicted
withpacket storms? With Servicelevelagreements (SLA5)area folmalizationof thequalityattrib'
\¡/h¡tothorv¡ri¡blcs
dothosestormtimescorÍelate? andpefforrnance
utesof availability thathavebeenexte¡nalized in a docLl-
. Partol these¡vrcestaffisexperlr¡enting mentAsinfrastructu¡e andapplications becomc morcvitallo buslllesscs
withwireless devicesto
gatherdataon problem theyaredemanding thattheproviders of thoseassetsguarantee in w¡itlng.
systems Whatwastheirproductivity
of performance
thelev€ls andstability thatthebusiness reqtlires Sl.As afea
manifeslationof howlmpoÍtant h¡sluonx'lo lrro\l'
ce ainlTfun(tion¡lity
ernbusiness processes.
Thecrucial partof deallng withanSLAis to thinkcafefully aboutthe
ln temt ol quohlyotlnbules,
lhelallovling
liguesfor uptirnerctoteto o\,alob¡t¡ry:
metricsrequiredto support it.lfyouarerequlred to providee I'tge"spon<e
, 99percenluptinepetyeotequotes toJ.65dop ot dowttrne. pageresp( nsetilles o'
timeunder3 seconds. youwillhaveto me¿sure
,
Guide 99.9percent
A Procllcol uplmeequates
to.365doysot 8.76houtsdawnpetyeot. course But!¡,hathappens when lesponse limesdetenor¿te ¿nd youcdrno
lo Enleerhe. 9999percentupttreneonstholthesls.tenis dat^nno ñore thon52 m¡nutes
¡n.ny longermeetyourSLA? At thatpointyouhadbetterhavegathered thedata
Archil6clufe g^enteat. necessaryto figureoutwhytheproblem occurredHastheolerallus¡€e.tf SvslemsArchileclure
to thepointwhere theexistingWebserver architeclute is
n thesiteincreased ,¡
overlo¿dedr,whatdoesthcmemory usage
ontheseNer looklike?
Forexam- t¡günt-3
pte.lavagarbagecollection
is a veryerpens¡ve
operation.
fo reducegffie Thethreestorage
srterunnrns lavap¡or,r.r, e)(amrne
theravacodein the
::l:,tl:l :':
svst"'
:iiH""",fi i:i:lf.::-^'our l'' n'mb",
,ld:f;'.',.',"J.,1""1',;
Thebottonlineisthts:When
plannjng
rnesystems
,h¿ve architectute
youwill
to thinlbeyond
themetric
IntheaB;
::l:,:Ii,yá;hi;;il .. ü::i1",::ili:ffi1'Jil1""lti;ili
youtorgan¡zatjonbelookeduponasanoppottunityratherthanathreatand
.:i ro.fo¡cerfe organriation
ro updare. ¡arion;t;;;';;;
::^1 :,1::i*, io,i"hastrucrure
:::]"":,:1"j.!:'. measurementstfanew proiect
does nor
wnte
upap¡rvate
sLAorvoul
ownThe
dis-
iil;:';il.trT'T,1ftldnt,ro

SystemsArchltectureand Storage Corll/ónüon8l fi chlledure


SloIaqó

Thevast
majority
ofbusinesses
data
s
re-rarrl
The co*s areb",n;;;;oñffi['ff:.'::i:T'.
l<\ocate4virhthpIndrt|du,rs
Ie¡dedtornanage
i:',inffi..n,",
upgrade andenhance tl.e
storage devjces.
problem.wrthstoragecosts is thattherealcostto theente¡pnse
, ,,One
ntdden Inhundreds ts
orthousands ofplaces VortUurin"rrar rpgol" ltorrCu
a machine and-¿harddriveat a time Thisresufoin
,.0*, áil,n¿ruJ, "oi
purchases rhat never show up as
:T-"]! il.!rÍil: lrne¡temson rhe rT
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
,,.. directly devices, usually hard
dnves. tothemachine Thisisdirect attac¡.¿ito"C. to¡sl u;á üln
excettent choice forsjtlarionsin whichtight*.ri,v ,r"rii1 ,riiüi..j
in rlresroncedevice. ttsdo"wnsider t¡a it ¡s
::::]T
upgrade !::,
andmaintain io 8Lr¡Coao¡ Notvr¡rk
Archllodurs
upgrade ""pensjue
costsa¡isemorefromt¡..ortr.,ri.1ul io
moveapplications anddatafrom
l::::^*^fl1"ll1 ;;-il;;;;;;;
to thenewer. btggerdevi(e thanf¡omthecosts "td;;
:evlcl related tothestora;e
Inaddirion, rhissror¿Ce nechanism makes
l::'::.],:"tf,*,rhe ir ditfi.ul,,o uri""O-
s-e¡¿gs¡651.or tt-eorsani¿ar.on areandro m"nage
;il::.".j,l
areanetwotks fSANs) offe¡basically unlimited
.Storage sto¡agethalis
d rJÍnB
l":l asTl "¿rnrdrnL,(t exrremety,Igh.spee(J
:,lill such
:nrernod\ daralransfel
FDDIrt.r pors.bleto remove t¡"""1g. ,"d¡rlr"r;i;ii
connection to thecornputefs backplane withoutaf..tinj p",ior.rn* iañ,
*,lpiise-lev€tsroraee rhatjse..v,oir*c. .nd; c,;*
::::i:.-:i:.i::t
r.SeNis a largeoperation thatrequires tiorougir;rJi-
.o-11 1l?,.r:n,ine
cuide :1.:ll._,,:lr-llil rr,t subsrdntr¿t
A Proclicol Loj.orr cosrsHowever, theROtfo. mos(
loEnlerprlse
:t#[::i"'::,:;:l
Afchiteclure i;li.l;:;l[Hl:1y¿Xi::,::iif,T"J;:5;:i Notro ¡nached
Slordqe Arch
Syslems iteclu
re
u
25
If themachi¡es to beconnected aregeographically
remote, diffetent
stora€e Canar¡a hasa SANthathoststhccompany's mission-critic¿l databases
architectufeis required. and data. Poftlonsof that data are mirror€dto data centers physically
Nelwo*attached storage(NAS)devices
a¡e¡ow-cost,very-low_rnaintenance removed flomtheopentioncenteritsetf.In addition, eachcampany campus
devicesthatprovide storage
anddonothing else.youpluga NASintothenet- hasa cenlralfile-storage facilitythat consists of lar€enumbers of rack-
wo* turnit on.andyou havesto¡age.
Setup
andmaintenance costsareverylow. mounledNASalIays.Mostapplication sewers aleconnected to the SAN
theonlycost¡sto relocate theex¡sting,
attachedstorageto theNAS.These Stofage requirements continue to growat a steadyrate,but the costof
devicesarepefectforincreasinC storage
togeographically
distributed
machines. administratingthisstorage hasactually dropped asthedalahavebeencen-
Themaio¡determinant fofchoosingbetween tralizedontotheSANandvarious NASS.
NASandSANshould be
thedatastorage architectu¡al
design.
Thefollowing willhelpyouchoose Nlostofyouwillus€a mixof theth¡eearchitectures. lt is impcttant that
between thetwo: ihismir beplanned byyourarchitecls a¡d beeasyformanagers to costand
to iustifv
. Disaster recove¡y stro¡gly favors SANbecause whiledisasterrecovery planninc isnotabout ploviding backup ofa com-
of theeasewith
which it canbedistributed overlarge distances Asofthiswriting, panysdata,theslorage alchitecturechosen canmakethetaskof protecting
fibercanexte¡d upto 150kilometers {95miles) without amplifica_ and¡ecovering th€enteDrise datastolage materiallycheaper andeasierlt
t¡on.This¡¡eans thatdat¿canbeminored transpatently between effoftto makedirectattached
lvilltakesignificant stolage(DAS) asrobustjn
devices thatare300kjlometers (190miles)apart thefaceof disaster asdisfibutedstorage suchasa sANof a
alchitecture,
. Di\tributtd p{rrfo¡n.{rtsbe cr wilhS^Ns NAS,vithremote mirrorlng Ouick (a fcwhourslrccovcry is po\sit)|.\'rilh¡
. Theiollowi¡g functjonality favors SANarchitecture.
SANs:
" Verylarge database applications
o Application server duties
. Filestorage defjnitely favors NASS.
. E¿se of administ¡ation is a tie.In thejrownways, bothstorage SystemsArchltecttre Aspects of Securlty
solutions areeasy to admjnister Witha NAS, youplugit intothe
wallandintothenetwork Ensuring enterprise is a wide-ranging
security thattouches
operation on
andyouhavestotage. Theworkliesin
pa itioning aimost every area of a As
business such. it hasto growoutofextensiveinte¡'
thestorage. moving dataontothedevice, andpointing
use¡s actionsbetween thecompany's management andthearchitectuleteamOne
tothedevice SANs requite quitea bitofup"front designand
setup. of theissues thathasto beonthetablefirstis howto builda security archi-
butonceonline, adding storage is ve0,simpleandmore
tecturethat increases a companys competitive advantageSi¡lce 1s
seculity
transpare¡t tha¡witha NAS
an enterDrise-wide endeavot the inputof the entirearchitecture teamis
. Highavailability ispretty mucha tie TheSANcanmirror datafor fequired.lt is inpo¡tantto adopta graduated appfoach andapplytheproper
recovery, andtheNASS all havehot-swappable harddrives in a proper
secuÍitylevels at the spots in theenlelplise.
MID5 configuration.
. Costfavors Effective cnterDrise consists
secufity ofthefollowing:
NASS. Initial costsforanNASstorage installation
are
about one,fifththecostofa sirnilarsized SANstorage installation . Effective, policies
out,clearly
wellthought comnunicated seculity
Howeve¡ theongoing costsof a SANareusually lessthanfora
simllar NASl hisjs.lueto thefollowing . Effective, of
¡mplernentation
consistent policies
these by a com-
factofs:
panystaffthatis motiYated
to protectthebusinesss
security
. Stailing costsafelessdueto thecentralization of thestorage
devices Thismakes . A systems thathastheproper
architecture secuÍity
considelatLons
thetaskof¿dding stotage much quicker
ancl
easel level.
builtin al every
: ll¿rd\lare costs areless. Less is spentonslot;tge delicesLess When discussjngenterprise oneofthefiÍstmattcrs
sccurity rs
to discr.rss
(lrskspace ts¡eeded wjtha SANbecause thcyafemore€lficient $/hat
needs to bepfotected isaporopriate
andwhatlevelofprotection lofthat
iñtheutilization ofstorage Normally. SANslorase lvillaverage itemA usefultuleof thumbca¡beborrowed
particular fronllr)ventorylllan-
;5 to 85percert utllization whileutilization for sonreNASs proper
agement inventory
management divides intothree
articles lerelsA B
stüaee devices \\,ilL
bel0 to It pe¡cent.
AProclicol
Guide andC TheA levelitemsarethemostvaluable andextensile ¡ecuritlprovl'
loEnlerpse . llN jnl¡¿st(rcture spe[ding is less.NASS areaccessed overthe sionsareappropriate Trade
forthem. creditcadnumbers
seclets, andupdate
Archilecluro net\vork. afd backups areusually conducted overthenetwork anddeleteaccess systems
to financial areiusta fevol theitenlsth¡t Nould Syslems
Archilecture
Thisincrease if nenvork traificcanforcecostly ¡etrvork upgrades be on anA Iist.B itemsneedto be plotected,butsecurity considerations41
26
definitely needto bebalanced againstoperational needs. C ¡t€msrequire lit- Forthoseenterprises thatstillrelyon passwords, anolher areafol effec-
tl€ or no securityprotection.Asa ruleof thumb,t percent of thelistshould tivesecufity Intenention at thesystems architecture levelis effective pass-
be A ¡tems,l0 to l5 percent shouldbe B items,andthe restshouldbe c wordpolicies. Inaddition to mandating theuseof effective passwords, make
items.A similaranalysis is appropriateforthesecurity aspects of anenler- sur€thatnoresources, suchasdatabases, areleftwithd€fault orwell-known
prise's systemsarch¡tecture.
Thedataassets arelocated onmachinesthatale passvords in place. Allpasswords anduserlDsthatareusedbyapplicatjons
partof its syslems archiledure.ln addition,elements of thesystems archi- to access systems resources shouldbekeptin encrypted form,notasplain
tecture, suchasthenetwork, willmostofte¡beusedin attacks uponthebusi, textinthesource code.Passwords arethecheaoest method ofauthentication
ness's vitaldataresources Thefollowing is a list of the maiotclasses oi andcanbeeffective ifstrongpasswords areassigned to users, thepasswoÍds
security attacks,in roughorderof f¡equency, thatmustbeconsidered when afechanged ona regular basis,andusefsdon'twritedowntheirpasswords
buildin€ thesecuritypartof thesystems architecture: Users canreasonably beexpected to remember onestrongpassword if they
usethatpassword onat leasta dailybasis.sincea multitude of applications
. Vi¡uses
andworms arepasslvord-pfot€cted In mostenterprise envitonments, we recommend
. Attacks
bydishonestormalicious employees thatenterprises standardize onwindows operatinc system logonusername
. Destruction
or compromise of theimpoftant
dataresou¡ces
dueto andpassword ¡s the standard for authentlcation and¡equireeveryothcr
applicatlon usetheWindows authentlcation asits authentication. Thiscan
employeenegligence
or ignorance
beviatheapplicat¡on mak¡ng a callto thewindows security service or bythe
. Attacks
fromtheoutside byhackers appllcátlon accepting a Kerberos ticketfromtheoperating system
. Denial-ol'service
attacks Unfortunately, thevastmalority of enlerp¡ises havea muhitude ol appli-
cations thatrequire a usernameandpassword. Asa r-.sult, mostuselshave
Viruses andwormsarethemostcomrnon problems.
ITsecurity Thevast passwords
iive,ten,evenfifteen Somepasswords willbeusedseveral timesa
maiorityoftheviruses andworms thathaveappeared inthelastfewyears do day,somewillbeuseda couple oftlmesa yearoftenthecorporation cannot
not actually damage datathatareresident on the computer thathasthe evenstandardize ona slngleusetname, sotheuserwillhaveseve¡alofthose,
virus.However, in thep¡ocess of replicatingthemselves andsending a copy such asthis, mostuserswill maintain written usemame and
too.lna situation
to everyone on a corporate mailinglist,viruses andwo¡msconsume a lalge password lists.Theiust¡fication forthissitualion ls always cost,The clairnis
amount ofnetwork bandwidthandusually cause a noticeableimpact onpro-
madethat it \¡,ouldcosltoo muchto replaceall the currentpassword-
ductivity.
Forthelastcoupleofyearsthe mostcommon vifuseshavebeen pfotectedpfogramswithonesthatcouldgetauthentication fromthewindows
emailviruses. Theyexploitertremely wellknown psychologicalsecurityvul- the
operaling system. When faced withthisargument, it isusefullodocument
ne¡abilitiesin a businesss employees. ln addition,someperson or group of passwords andtheproductivity lostby
timeandmoneyspenton resetting
pe¡sons in cofporate infrastructuresupport willberequired to monitor com-
users whoarelocked ouiof anappl¡cation thattheyneedto dotheirjob we
puternews sitesdailyfortheappearance of newemail viruses andto imme- peryear
expect youwilldiscover costsintherange ofSl0to $20perernployee
diatelygetandapplytheprope¡ antivirus updates to,hopefully,prevent the
Those figures, coupled withtheknowledge of thedamage thatcouldoccurif
business frombecoming infected bythisnewemailvirus Unfotunately, the listsfell into the wronghands,r¡ightget youthe
oneof the password
currentstate ofantivirustechnology issuchthatdefenses lorvirusescanonly solution
resources necessary to lnstitute a singlesign"on
becfeated afterthevirusappears
Devices suchassmartcardreaders andbiometlic devices canauthenti-
Themaiority ofattacks against corpolate dataandresources areperpe- devices allowextremely süong
cateusingfingerprints andretinascans. These
tratedbyemployees Toprotectyourorganization against
insideattack,utilize
authentication methcds, suchaschanging of thepassword dailyor even
thefollowine passwotd
changing the user's rightafteftheyhaveloggedon Thecostol
rquipping anentire enterprise withsuchdevices is conside¡able. a¡d they
. Usergroups gfo!p'level
a¡dclfecti!e permissions
onlygetyouintóthe operating system. lf lhe uscrhastcn p¡ssvo¡d-
. p¿ssword
Eflcctiv€ policies
to pfotect
access
to systqm
Íesources protected programs to dealwithonceheor sheis loggedin.thedeljcehas
. regular
Thorough. ¿udits
security notbought youmuch. Protecting A-levelassets withoneof thesedevrces
. Effective logging
security makes excellent sense.
Forthemaiority ofemployees andthemaiority oibusinesses. asingle sign-
use¡sto theproper
Assigning groupanddesigning policies
security onsolution withtheuserexpecled to memolize onestron€ passwo¡d everycou'
thatcompletely,totallyrestricts
access to onlythedataandresources the pleof months isadequate security andthemostcost.effectilc solution
AProclicol
Guide grouprequires to performits functions is thefirstlineof defense
against youarevulne¡able
Youneed to know where andwhatattacks canexploit
lo Enlsfprissattacksbyinside¡sDont forget to remove theaccounts whohave
of users
Archllocluro these vulnerabilit¡es Ifyouhavenotruna security aud.t¡¿leplan'ledo
^
leftthefifm so Largeenteprises may*an, ro angrguouirideconsultants to audrtrhc syslems
Arch¡l0cluro
n 29
entirefirm.Asanalternative, somesoftwarepackages probe
caneffectively destruct¡ve.DOSattacls¡nvolve therecruitmerrt ol largenumbe¡s of outside
yoursystem fo¡ vulnerabi¡ities.
Youmightconsiderbuildingup a security computersystems andthesynchron izationof themto floodyoursystem with
cadreof individualsin yourorganization.
Theywouldbetasked withknowine sucha large¡rumber of requeststhatit eithercrashes ol becomes unable to
andunderstandin€ alllhecur¡enthacke¡
aLtacks
thatcanbemounted againsi respond to legitimate sewlce requests byyourcustorne¡s. Fortunately, dueto
systems ofyourtypeandwithrunning anysecurity
auditing
softwarethatyou thelarge-scale effortinvolved on the partof theatiaciiers, DOSattacks are
mightpurchase. rareandarenormally directedagainst high,profile targets. DOSattacks are
Finally, effective, tampefproof auditsystems willallowvouto detect that extremely difficultto combat, andit is beyond thescope of thisbookto dis-
anattackhasoccurred andwillprovide youwiththeidentity of theattacker cussmethods to dealwith them.ltisimponant. though, thatifyourcompany
Thisis wherescrupulously removing expifed useraccounts is important. lf is largeenoughandlmportant enoughto be a possible targetfor a DOS
BobSmith hasleftthecompany buthisuseraccount stillexists.thataccount attack,youbeginnowto research andto pul lntoplacecountetmeasures to
canbecompromised andused inanattackwith youhaving noclueastowho fendoffa DOSattack.
reallyperpetrated it. Allsecurity mechanisms, suchasencryption andapplying securitypoli-
Inanycasethecostof implementing thepatch to thevulnerability has cies,will havean impacton syslemperformance. Providing certificateser,
to bebalanced against these¡iousness ofthethreatandtheprobabÍlity that vicesmstsmoney. Byapplying agilearchitecture principles to thedesign of
someone in yourorganizátion wouldhavethesophistication necessary to thissecur¡typartofyoursystems architecture,youcansubstantially mitigate
carry outsuchanassault Lockthemostimportant doors Ílrst. theseimpacts. Tobeagile¡nth€areaofsystems architectufe securitydesign
Inadvertent damage toorcompromise r,'reans
applying iusttheright¡evelof security at iustthe¡ighttime lt means
ofbusiness databywell-meanin€
or rgnorant employees causes beingrealistic aboutyourcompanys security needs andlimitin€ theintru-
substantial business losses annually While
thistypeofdamage sionol s€curity piovisions intotheapplications andmachines thatmakeup
hasro mallcious component. theresults arethesame as
for a malicious yoursystems architecture.Justenough security shouldbeapplied to givethe
attack. Inadve¡tent damage canbeprevented in a variety of
ways.Training is firstandforemost. maximum ROIand nomore.
Whennewcofpofate applications are
bein€brought online, it is c¡ucial thatpeople whowillbeusjngthemare Asa finalnote,donotforgetphysical security foranymachine thathosts
thoroughly trained. Effective train¡ng provides a positive ROl.Aftefanappl¡- sensitivebusiness data.There a¡eprograms thatallowanyone withaccess to
cation is i¡ regula¡ oper¿tion. tr is tmportant thatexpeenced oDeratorsbe a computer andits bootdeviceto grantthemselves administrator rights.
given thetimeandresources to tra.randmentor newoperators. Howeve¡. Once more, wereconmend theA-,8.,andC¡evel paradigm. C-leveldata and
eventhebesttraining programs arenot100percent effective.lt isalsoimpor- resources havenospecial physical g.leveldataandresources
security. have
tantio makesu¡ethatpeople arein theproper folesandthatthesecurity a minimallevelof security applied.ForAleveldataandresources, wesug-
parametefs oftheserolesaresocrafted thatpeople aregiventheleastoppot- gestyousetup security containment lhatalsoauditsexactly whois in the
tunityto do damage withoutrest¡icting theirabilityto carryout thei¡ roornlviththeresou¡ce at anvtime.
assigned f!nctions. AudittrailsareLrseful forestablishin€ exactly whatwas
damaged or compromised. Aftefthathasbeenasce¡tained, it is theroleof
thebackups thath¿ve been applied tothisdatathatwillallow vouto fecover SystemsAtchltectü¡e and Dlsaster Recove¡y
lror¡thesltuation Disasterrecovery planning ls sometimes to as"business
tefetred conti-
Hacker attacks arehigh-profile events thatinvariably become news ite¡ns nuityplanning." DRPforlheenterprise system infrastluctute
is a majorsvs-
when discovered. lt isdifficult to accurately iudge thesjzeoi business losses temsarchitectresponslbility.
caused byhacke¡ attacks ffomtheInte¡net ln anycase, youhaveto takethem Thepueose ofDRP lsto producea setofplans todealwith¿severe.iis-
se¡iously All companies canexpect to experience hundreds of low,level iüptionofa companys operations. DRPis independentofthemodality
"doorknob ofthe
tattlingattacks. suchas portscans runagainst them.in the disaster(flood,fire earthquake,terforistattackandsoon).it involvesthe
course of a yearOnthepositive side.thevastmaiotity of technical hackef following,
exploits arewellknown andthemeasures necessary todefcai themarestan-
dardpartsof allcompanies' Internet defense systems Themajortesponse . ldentification
of thefunctionsthatareessential
forthecontinuitv
lhatha(ker atacks willprompt isyoukeepirg allyourmachrnes borhinside oftheenterpdses business
thefirewall andin theDMZ100pe¡cent upto dateonsecu¡jty patches. Any . ldentification
of resoufces thatarekevto theoDeratiotr
oí those
stratagem thatyoucandevise to stteamline theapplication of security
patches wlrlgtveyoufcompany functions,
suchas:
a slrateCic advanlage overa comp¿ny that
A Prccllcol
ouldg doesit allbyhand o Manufacturing facilities
or ienores theproblem completely
loEnlenrlse
o Data
Arch¡lscluie Of the attacks ihat canoccuff¡ornthe outside-fíomthe lnternet-
Syslems
Archileciure
denial-of-seMce (DOSI attacks aretheleast common butpotentially themost o Voice anddatacommunications
30 3t
o People
. Voice anrldatacommunicatjons.
o Suppliers Canax¡a
clepended ontl)eIntetnet
for the communtcatlo'r necessary
ro k.it';c;i;;
o Etc. ¡;;";;;^;
departments.
Prioritization
of thosekeyfesources . Theente¡prise resourcc planning
{ERp)system th¿¡totally
Enumeratio¡ matedall of Canaxia! auro-
of theassumptjons
thathavebeenmade
duflng manufactu,-ring
ard supply actrvities
UKPprocess the
. A^core groupof lTemployees thathaddonetheinstallation of the
Creation
of procedures
to dealwithlossof keyresources Loss rhemanager andtwooi rhea.uurop.,,*orta
fe^s^y:T.i.
navea severe 9j
negative
Testjng
of thosep¡ocedures iropacl
onthefunctionjngofthe¡npsyster¡.
Maintenanceo[theplan Oncecriticalresou¡ces
. hadbeenjdentified,
tlteyweredividedintoth¡ee
calegor¡es:
DRpisnormally a largeprojectthatinvolvesinputfromevery unitinthe
comp¿ny Tl'esheer srzeof tfe elfortcan,.1. , *.rn p,"t,¡,ii"j¡, . Survival
critical.Survival
criticalI
s.ve.DRPisla¡gelyabout money. peÍectdisasterprotection
willcost an"rp.ri
enor-
,eq1,ied
ror
the
survivar
;';;:;d::;'i,"il:i;::;i i:i:lllXl
mou-s,amount of it. A disaste¡coupled withina¿equate act¡/itiesmustbe restored
¡np.an ¿eltro}, u v/ithin24 h"r,, D;i.,;p;fi;;;;.,
n**ul theDRpprocess willbetit. unyot¡.,.orp.nvp,o.Éri ¡nfrasttucture, andphysical facilities
:-o1Til iequirecllo¡tf,"0.."p,",,.0,,i
rn¡harthesizeandcosrofrheDRpeffo¡twill otdersandthemovement of ccrmpleted
beadi,ju.¡t" iit ,,l"illbi. .".l vehiclesfrorn,nunrtuiiur-
p¿ny tesou¡cesTo.provjde thebestDRpforthea*ilr¡f" rngptantsareexamples
ouital of survival critic¿tl
resources fo¡Canalia
thatthean¿lystsph¿se correctly
dothefollowtrg: "rou,*r,,t . Misslon critical.Missio¡criticalresources ¿tefesources
absolutely.rcquired that¿fe
. ldentifies forthecontinued functioninc;i;;; i;;;;..
allthekeyresources However, thecompany canlivewithoutthesere;u,.", ;;;;;;;,
. Accuratelyprioritizes
thekeyresources weeks.
. Thatit provideaccutate . OtherThiscategory
costing
fofprotect¡on
of thosetesources contajned all the ¡esources that couldbe
. Thatit prov¡de
accurate destroyed ¡na dlsaster butwerenotdeemed
estimatesoftheprobability
ofthedestruc- to besurvival o¡ mis_
tionol thekeyresources sioncriticaLlí theywerereplaced, it woulcibe mo.t¡i", v..rr.ii",

oivenan accurate resourcearalysrsthe lT/business


.together.to teamcanwork *ng".O,rhereamarr¿ched a probabijitythdttheresource
buildanaflo¡dableDRpwhencosting ,,,^.|YIll:r:n
wourc become u¡available
theOnlprogram.Aonái anda costto protectit Alltheassrmptrors
neglect
themaintenance oftheplan rntheanalysis usJ
p¡asewefedeta¡led
to ajlowthei.di"dr.i, ,uJJ;;;;;:
DRP plannrn€.lor IngtheDRpto doa reality
, DRPpJans mostenterptises
vrdrlal
wjllinvotverhecoofdination
of indt- check
onthenumbers given them.
ftoma vanetyof departmentsWefoc,lson Docu,mentingexisting
procedures
andthep¡ocess C¿nax¡asDRp ,. sothatotherscouldtateo- lhefunc.
of itscreation tio¡rng_ofkeyCanaxh employeeswas¿ subst¿nttal pa¡toftheDRpCanaxt¿.
disasterplanningteam(DpT) wascreated irKe,many otherenterprises,
hadneglected
andtaskedwith dorumentation foralongtime.ihat
-_--Jnitially,-the
creatrnCa DRppfocess. Canaxia hi*,9 b"reclified
s architecture
groupwasa co¡epartof that l:!l::,l:yld decades aspartofrheDRp
rn,.nv."r..lproJr.¡*
teamIt quickly
became obviousthatCanaxia oocumentation aftelasystem
wasbuiltw"rld b" r;;*;;".;;'"
m.intu¡n,n¿
a¿mrni,L;;;;"d
;:; ;11,':lh'Sff,TJilliT'fi:R:: enume¡ate
a setot teslsrrdrw.ltr.to{.t-econr-
Continuity
IDBC) wascreatecl pany tohave 1ll,h.*to
"."..:tjl^O-*l
confidence
intheDRpRunntnE
Followingare some oftheciticalCanaxia
resources
thattheDRp identified: :t:::1.:.i"!"
resoufce
;ffi: ü;:l,i:ti:ffJ::i::"jf
lh;Ji;
toss, ;[ff;nr:,
. Lngi¡emanulactu¡in€
aM critrcalityof
the¡esource ,*,,* ,.. r*¡ i.l*,.,._",, '
facilities.
AIIeng¡nes rnerneassumpflons fromtheanalysisphase
fortheCanaxialineof foraciuraci
vehicles weremanufactured in onefacility. hry.",,obe mainta¡ned.As sysremsand business
. Brake ássemblies. Canaxja useda unrque brake
cnange, the:ll
"¡.^-1^Oll DRpwill haveto be revised.
In somecases,
¡eeds
systemavailable theOnpneeds can
A Procl¡cot
Gutde supptiefThatsupplier wasro.rt.O'inu por,ti.riiy q:.':,*s. canaxiamadethedecision ,o rno_",o *...u,
lo Enlefpr¡se l::l^:
unstabte:'l¡l:
region l:ll^ 1:':::
ora(eassembly thatcouldbeobtained
of theworld froma uarietyol "
sorrrces
Ciia as
Archilscture . Data0l themountain y* oritstechnical
setring
points,
ofdatathatCanaxia maintainedI0 percen,! ijill l,.I.I:1" and,r.rr.r;;;
n wasabsolutely critical
to dailyfunctiontng.
Kn€s,that to a"ne
moving generic
brake
wouldnot
helps¿lesC.n^ioalr., Syslems
Fu¡thetmote.45Def- Archiiecture
centofthedatawasdeemed írrepiaceaore *y:rt rulethatsrronety
drsca¡¡¿gu6 r,]rcsrri.c.
ill"-?51Í
source :
supplier sel[,8
relationships
inthefuturF 3-

--
Werecommend aniteraliveapproach
to DRpFirstdothetopof thesur_
vivalcritrcal
listall thewaythrough thetestingphaseUsetheexperience
gainedin thatpfocess to makethenextincrement morefocused andeffi,
cient.T¡ying
to dotheentj¡ejobin onebigeffortriskscostandtimeoverruns
thatcancause theprocess to beabandoned anythi¡gis protected.
before

Thereafethreeimportant
aspects
to emphasize
aboutsystems
architecturel
COnCIUSiOn

l. lt mustalignwiththebusiness
2. lt mustprovide
€oals
whatthestakeholders
oftheorganization.
needto performtheirfunc-
Software
Architecture
tions.
Thisisa two-waystreetThea¡chitectuÍe teamshould take
¡esponsibility
toestablishcommunication withsystemsarchitec-
turestakeholdersandto understandtheirissues.
3, Thesoftware andhardware
Maps¿ne|wage Ihettn' lú¿ (uptti l e ht,'ts
boldness.
infrastructure
of an entetpse is a Th.?U
mdft(lr,UtÍ,ing
seenp0ssi6k.
majofassetthatmustbemanaCed to provide thegteatest
return jenkins,ToTimbuktu.
Mark
onthatinvestment.

Thefollowi¡g
should
beconsidered
assystems
architecture
bestptactices:

l. Knowthebusiness processes thatthesystems atchitecture is


suppofting The software architectuÍe ofa system ora fa¡ilyofsystems ha\oneol thc
Know theminside andout. |' rnostsignificafit ¡mpacts on thequality of anorg¿nizaiion s entetp¡.sc
2, Keepsuppo¡t of thosebusiness processesfitstandforemost on architecture lvhi¡ethedeslgn of softwa¡e systems concentrates onsatisfying
youfagenda Know whatthebusjness needs andkeep thebusi- thefunctional requlremenls for a system, thedesignoi thesofrwarc archr_
ness sideaware ofyouraccomplishments. tecturefor systems concentrates on the nonfunctional or qualityrequirc-
3, Knowthe components in yoursystems mentsfofsyste.rns. These qualityrequifemenis aÍeconcerns attheenterprise
architecture, all the
mach¡nes, applications, level.Thebetteran organization specifies andcharacterizes the softvare
network connections,andsoon.
architecture for its systeins, the betterit cancharacterjze andmanaee its
4. Instfument, yoursystem. Thatis,installmonitoring andmeas, enteDrise architecture. Byexpl¡citly defining thesysiems solt*ar.archtec.
urement systems thatallowyouto findtheproblem areas and tures,anoreanization w¡llbebetterableto reflectthepriorities andtrade-
thebottlenecks
oflsthatareimportant to theorganization in thesoftware thatit builds
5. Attack thecheap andeasyproblems firstThatwillbuildand Thesoftwafe architectufe of a system suppo¡ts themostc¡iticalrequire_
helprnaintaincredibilityandt¡ustwiththebusiness sideofyour
company . mentsfor thesystern. Forexample, if a systetn r¡ustbe accessible froma
wireless device, or if thebusiness rulesfora system change ona dailybasis
ó. Prioritize
andbeproactive lf youarenotconstrained to ptoduce thenthesetequirements drasticallyaffectthesoftware atchitecture fo¡ the
immediate results identifythentostinportant systems a¡chitec, system. lt is necessary foranorganizátion to characterize softwa¡e architec-
tuÍeproblems andattackthemfirst.evenbeforetheybecome turesandthelevelofqualities thattheirsystem s support to lullyu¡derstand
problems Coodsystem rneasurements arekeyto beingableto lheimplications ofthese systems ontheoverall enterprise a¡chitecture
identifyproblem areas inyoursysterns atchitectu¡ea¡dto est¿b_ Since thisbookhasa focusona€ilemethodolo€ies it is intnort¡r)l to
lirhthemosteffective me¿ns to dealwiththem d.s(uss lherelationship between ,
7. Know allyourstakeholde¡s
soft$are a¡chrlert.,rc,rl.LI¡Rrl, -llr\.r.l. .
Thepeople aspects of yoursystems giesTherecent pushin software development toward agllemethodologies
¿rchitecturea¡eat leastasjr¡portant asthemachines suchasext¡eme Programming (Xp){Bectlg99l,in some\vays counrels thc
8. Onlybuyasmuchsecurity asyouneed. Civeupontheideaof beliefin¿nexplicit andfo¡mal definition ol softw¿re ¿rchrtectujp \,¿,tvdutlc
becoming invulnerable prioritize yoursecu¡ity issues intoA, B. methodoiogists asse thatsoftware desiCn istheresult of ire¡orrre reÍ¿ct'or-
andC lists ingof a system bydeve¡opers untila sufficiently workable designemerges
A Proclicol
Guid6 Howevef, in XPtheseiterative refactorings atedonein a small,easilyunde¡_
lo Enlense standable
Asarchitects
teamwiththebusiness
sidetoalig¡systems
withbusiness conceptual framewotk forthesystenc¿llÉd tl.e(tstr,,rnr.l¿?¡fo,The
AÍchlleclure
processes system metaphor
andkeepthemaligned asbusiness
needs theywillgetthe
evolve, is a simpleshared storyforhowthesystem workslt con-
34 opportunity to develop
skills
in understanding
thebusiness
andworking wrrh sistsof thecoreconcepts, classes, patterns, andexternal metaphors that I E
fina¡cial
algo¡ithmsandcalculations
shapethe systembeingbuilt.Thesystemmetaphorplaysthe samerolein thc deslgn
dcclslons a deslrdsct of qualities
support th¡t thc systen
development of a systemas conceptualsoftwarearchitecture. lt providesa should
s{pportto besuccessfr.¡I.
Thedesign provide
decisicns a con-
vjsionfor the development of the softwarc,andit isthe goalthateachsystem
ceptual
basig
forsystemdevelopment,
suppon. andmaintenance
stakeholder muststrivetoward.A lo¡maldefinitionof the softwafearchitec.
ture is mofetechnicalthanthe systemmetaphof, but both playthesamerole Creating softwafe
archltecture is a difficultendeavor, andthesoftware a¡chi-
in providinga centralconceptfor systemdevelopment. Theexte¡t to which tecthasoneol themostdifficuhjobsin a software project. Heor shemust TheRoleof
an organizalion needsto providea formaltechnicaldescriptionof the alchi- havetheconfidence of all thestakeholde¡s. Thisconfidence is basedon a a Software
tecturesof its systemsdependson manyfactols.Clearly, it wouldnol becost" trackrecordof successful proiects andthe respect of the develope¡s who Atchitect
effectiveto formallydefinelhe softwarearchitecture for a smallnoncritical regard himor herasa technical leaderThearchitect mustbeableto com-
depafimentalsoftwa¡eapplication,and it wouldbe unacceptable to nol for- municate withvariedconstltuencies. Heor shemusthaveexcellent design
mallydelinelhe softwarearchitecture of a highlyavailabletelecommunica- skills,technology
skills.andanunderstanding of softuare enginee¡ing best
tions softwaresystemEacho¡ganization is diffe¡entandhasa differentneed practices.HeoÍ shemustbeabteto ¡avigate through organizationalpolitics
fo¡detailed softwarearchitecture. Theagileprinciple of "lf youdont needit, to €ettheDrojectdonecorrectly andont¡me.Thesoftware archiLectmustbe
then don t do it" appliesto softwaÍearchitecture as well as to all the other a leader,a mentor,anda courageous decision make.
partsof an organization s enterprise arch¡tecture.Formoreon agilemethods likelife,is all aboutthepeople.
Atchitecture, Creatpeopledeliver great
andarchitecture, seeChapter9, AgileEnterpfise Architecture archi¡ecture,
andthereverse iskue.Thetechniques outlined in thischapter
willgiveanarchited someconcepts andtipsfordelivering greatarchitecture
exists.However,
No singlestandarddefinitionol softwarearchitectu¡e m¿ny butthebestwa!,to trulydeliver greatarchitecture is to startwithtrulygreat
Whatls authorsand fesearchers
haveattemptedlo define the letm sollv'drc
archil\lure. architects
Software Following
aresomeof the mostnotabledefinitionsl
Architecture? ln cartography, a singlemapcannotfully characlerize a place.Therearemany
'"Ihe softwarearchitectu¡eof a prcgfamof compütingsystemis the kindsof maps,suchashighway maps,biketrailmaps,andelevation maps WhyWeNeed
structu¡eo¡ structures
of the system,whichcomprise compo-
softwa¡e Eachtiypeexplains anddescribes differentaspects of the samephysical Soltware
nents,lhe externallyvisibleproperties
of thosecomponents,andthe place.Eachmapis relevant
LenBass,Paul
to a different useror stakeholder Thefamilyon Architecture
rclationshipsamongthem;'Sah';i¡aftñchil¿cluft
¡nPrdcli¿¿,
Clements, andRickKazman, Addison'Wesley,1997 vacation is interested in having a highway mapin itsglovecompartment The
cyclistneeds thebiketrallmap,anda mountain climber needs theelevation
''Anarchitecture
is thesetofsignificantdecisionsabouttheorganization map.In addition, a mapdo$n'thaveto bepelectlyaccurate to beusefullf
of a soflwaresystem, the selection
o[ the st¡uctural
elements andtheir
a perfect scalemapof rid€sandpathsweregivento visitors to WaltDisney
bywhichthesystenis composed,
interfaces toeetherwiththeirbehavjor
asspecifiedin the collaborationsamongthoseelementsthe composi world,it wouldbeaccurate andsomewhat useful.How€ver, themapthatis
tionofthesestructuraland behavioralelementsintoprogressively
lafger actualiy handedout at WaltDisneyWorldcontains prettypictures of the
subsystems. stylethat guidesthisorganization-
and the architectu¡al interesting ridesandthepathsarenotto scale. FortheDisney Worldvisitor
theseelements andthei¡interfaces,
theircollaboÉtions andthei¡com- thismapis moreinteresting, thoughuseful, andit impansa betterunder-
position Tf¿ UML Mod¿1i,14 L.angu\qe Uw C¡1¡d¿,Booch,Jacobsen, standing ol theiayoutoftheparkthan a ca¡tographer's mapwould Thesame
Rumbaugh. Addison-wesley. ¡999 holdslruein software aichitecture. Thearchitecture thatis p¡esented to the
'softwarea!chitecturc
is a setofconceptsanddesigndecisionsaboutthe end-user contains lessinformat¡on andis moreinteresting, but focuses on
structureandtextureol software that mustbe madeDdorto concurent thécriticalaspects of thesystem thattheparticula¡ stakeholder community
engineeringto e¡'iable
effectivesatisfactio¡ significant
of architecturálly shouldunderstand. Thesoftware architecture thatis needed bvdevelooe¡s
functional
erplicit andquality requireme¡tsandimplicitrcquirementsof canbemo.elikea cartographer's depiction of thesoftware architecture. lvith
the pfoductfamily,the p¡oblemand the solutio¡domains SdÍl4r¡4
AKhil¿uE lor Prcdu(lFlu¡lits:Pr¡ndpleslnd Prd(liú¿,
N4ehdilazayeli
multiple maps outlining themultiple aspects of thesystem in ñro¡e det¿il
Aiexander R¿n.FranL vanderLindenAddison-wesley, 2000 lust likemaps,the purpose of software afchitecture is to impartan
u¡derstandingof thedesign ofthesystem to thcre¡der. Thepoi¡tofsofhrare
These delinitionsare¿ bit academic,anda practical
guidemustinclude a architectu¡e is to communlcate anidea.lt takes thefeader intothesoitvate
p¡acticaldefinitionof softwarearchitectureand the reasonsfor havingone. andexplains theimponant concepts lt helpsthemunderstand theimportant
L¡ountainsof résearch havebeendoneon the subject,but whyexactly woulda aspects ol thesystem andgivesthema feeling fora system withoutactually
proiectneedtodefinethesoftware reof thesystemi! is building?
architectu With having to seeinside it.
thispracticalguidein mind.weoffe!ourdefinitionof software architecture,
Guide
A Proclicol Despite theinvention of satellite image¡y, maps arestillimportant. we
loEnlerpise consists
cannowgetanexactpicture of Earthat anylevelof detailweneedThepic-
Thesoftware
architectu¡e
ofa system
or a collection
ol systems
Archileclure oftheimportant decisions
design aboutthesoftware andthe
stÍuctules tufesshowrivers, oceans, andmoreaswellasthelayout ol WaltDis¡ey Sofwore
Archileclurc
inteúctions
betweenthosestfuctures
thátcornDrisethesvstemsThese World ln theirexactine detail sl

'Mapshav€thecharacterofbeiñg textual
irithattheyhave
words asso- The Mlddle oí the Road
withthem,
c¡ated thattheyemploya systemofsymbolswithinthehown
syntax,
thattheyfunction
asaformofwriting (inscription),
andthatthey Sowhatdoesall thishaveto do withsoftware architectuie? Sofhvare
arediscurslvely
embedded úithinbroader contextsofsoclal
actio¡and architecture is themiddleloadbetween nodesign andcomplete designlt is
power"lohnP¡ckles,"Text,
Hermeneutics andpropagandá Maps,in a vlewof thesystem design thatshowshowthedesign satis¡i€sthecriiical
Trevor
I. Barnes
andlames S.Dunca¡, eds.,W¡iti¡g
Worly't
D¡ro(s¿ d¡rd requirements oí thesystem.
M¿Idphor lt ¡stheroleof thesoftware afchitectto design
h theRqt¿t¿ñtaliok
olt-í¡ds.ap¿,
London: Routled€e,
1992,I93. thestructures of thesoftware suchthatthosecriticallequirernents aresat;_
Mapsandarchitecture don'tdescribe ¡eality.Theyarerepresentationsof fied.lt is alsothegoalof thesoftüate architectureto facilitate
lhedevelop-
realityvithina chronological andcultural context.Theyalsohavea djstinct mentof thesystem by multiple teamsin parallel. In addition, if multiple
pefspective ontheplacetheydescribe. jn otherwotds, reverseenginee¡inga teamsor depaftments withlnanorganization wilj support andmaintain the
Unified ModelingLanguace (UML)diagram fromthesource codeol thesis- soft$,are, thesoftware architecture willal¡owthosepartsof thesyste¡n to be
temdoesnotcreate anatchitectural modelThearchitectural modelcommu, managed andmaintained separately. Themostimportant rolethatthesoft-
nicates theimportant design decisionsthatweremade at a particular
time wareafchitecture hasis thatof an ofganizing concept for the systemThe
andthatwereimportant to a particular
group ofpeople. softwa¡e atchitect hasan ideahowthe systemshouldwo¡k.fhesoftwate
Thecartography metaphor wofks, architecture is thecommunicat¡on of that¡deato othersystem stakeholders
except forthefactthatafchitectureis
anupfront activity.
Incanography, mapsarecreated places. sothateveryone understands whatthesystem doesandhowjt doesit
forexjsting They
aremeantto describe something thathasaheady beencreated. In software 1na practical sense, tworulesdetermine whether or nota design detail
architecture.themapsor models depictsoftware thatisyetto becreated.The shouldbeincluded in thesoftware architecture:
models embody theimportant designdecisions thathaveb€enmade about
thesystemBycteatin€ andcontfasting dilierentmodels of softwarethatful- l. Thedesign detailmustsupporta quality
requirement
fill thesamepurpose, intelligentdecisionscanbemadeaboutwhichdesigns 2, Thedesign detailmustnoidetractlromstakeholder
unclerstand.
arebetterthanothers. Thisis thesecond pueoseof software a¡chitecture ingof thesoftwarearchitectu¡e.
¡fthedesjgndetail
doesnotsomehow improve ona quality¡equireme¡t
Ine lw0txtfemes of the system,it shouldbe leftout.Forexample, the architecrmjghtnot
Softwafe development approaches varybetween twoextremes. choose XMLdueto performance concerns. However thesystem mighibene_
Thefirst
method involves littleor noupfront modeling fit morefromthemodiflability of XML.withoutanelicitationof th; qualiry
or design. Thisis the.shanty
town'method of system development in whjcha fewdevelopers ¡equirementsforthesystem, thesetypesof decisions mightbemadebased
codewith,
outa mentalpicture in theifheads aboutthesystem theyarebuilding. on personal preferenceInstead of qualityrequirements.Also,il a design
Also,
somemanaCers believe thatif developers aren'tcoding, detailis complexandcannot bedescribed in a simplewaythatstakeholde¡s
theyafen'tworking.
These projectnanagers alsobelieve thatthesooner developers canunderstand, it shouldnotbeincluded in thearchitecture.
A design detaij
begincod-
ing,thesooner theywill bedone.Thisstemshomtheincorrect thatisnotunderstandable isalsoa signofa baddesign.
beliefthata
constant amountof timeis involved in thecodingof thesystern no mattet
whatupfrontprocess is used.ln thislypeof environment, developers dont
fullyunderstand Manypeoplebelievethatthesoftwaie architecture
is meantonlyforclevel-
the requirements for the system. Someof theseenviron,
mentsdeliverdecentsoftware opersto useasan overall
guidefor systemdesignandconstruction.While TheSystem
throughheroics bydevelopers andfrequent
rewrites,although thisapproach thismaybethesoftwarearchitecture's
primary
purpose,othersyster¡stake_ Stakeholders
is notrepeatable, andit isextremely risky.
holderscanusethearchitectute
asa basisto guidetheiractivities
aswell
Theotherextreme in softwa¡e development is,ivorytower" softwa¡e archi- Thefollowing
afesomeof thesystem
jn whicha design stakeholders
tecturc teamo¡ a singlearchitect design a system in eve¡y
detail,
downto th€classandmethod levelTheafchitect hasa cleafpicture in . Developers
hiso¡ herheadaboutthedesign of thesystem buthasnotjeftmanyofthe . Mana€e¡s
impleme¡tation details to thedevelopers Thebelielin theseenvironments is . SoÍtware
architects
thatthearchitectsa¡ethemostexperienced developetsand thuscandesign the
bestpossible system fromstaftto finishNoo¡epeÍson o¡sma rearn canoos- . Dataadrninistrators
siblyundeGtand all therequitements, predictevery change in ¡equirements . Systemcustomers
AProclicol
Gu¡de andhavee{pe¡tise inevery technoloey thattheproject isbuiltupon. Developers . Operations
lo Enlerplsein theseenvitonments alsosuffeffromlowmorale because theyarepercejved
Archlleclur€assomehow . N,,larketing
infefiortothe designers ofthesystem Motale isalsopoorbecause Sofly/ore
. Finance Archileciuie
3S thedeveloperc fnustimplernent thedesign ina presc¡iptivewaywithlittleorno
inputintothedesign of thesystem . End-userc 39
Cenefal
rnanagement system shouldbecusiomizable sothatend-use¡s
canchoose hov/theywish
Subcontfactors to useit.
Testing
andqualityassurance Every stakeholderhash¡sor hefperspective
o¡ whatis important
forthe
Uldesignels systento do.lt is uptothearchilecttomediateamong theseindividual
con-
cerns.Not all stakeholders canget everythinCtheywantall the time
lnfrastructure
adrninistrators
Sometimes, a requúenentcan beeasilymetwithoutdetracting
fromanother
Processadministrators fequ¡Íement. Somet¡mes trade-offs
haveto be madeamongihe various
Documentationspecialists requirements. These afethedecisions
thatthearchitect
mustfacilitate
within
Enterprise
architects theconsüaints thattheproiectsponsor places
ontimeandmoney
Dataadministfatots Ourfictitiousautomobile manufacturer wasIosingsalesto other
Cana(ia
manufacturels because it relied comDletely on itsdealer nehvork to sellits Creating
a
Thesoftwafe architectmustelicitinputf¡omallthesystem stakeholders carsOtheraulomanufacturers Web
created sitesthatalloNcustorncrs t{l Software
to tullyunderstand thetequtremenls forthearchitecture Thtsis imDortanl customize andordertheircaronline. Theotherautomanufactute¡s shipthe Arch¡tecture:
because therequirements arebuiltftomtheperspective ofwhatthesystern carsf¡omtheirmanufacturing facilitiesdifectlyto the customers through
should do However localdealerships. Thisresulted in greater
AnExample
thea¡chiteclure mustreflect howthesvstem wtLlDer- custotner service andreduccd th.
formthose functlons hassleofbuying a carlroma dealership andstruggling withthes¿les p¡ocess
Thesystem s customers wantthesystem to beof highquality. They want Canaxia wasabout twoyears behind theircompetitio¡ Themanagerne¡t
thesystem to bedelivered in a tirnelymannetAndtheywantit to bedevel, ofthecompany hasdecided tofunda proiect fo!twelver¡onthstocreale ¡ WL'i)
opedasinexpensively aspossible. siteañdrelated infrastructu¡e thatexceed thecapabiltty of iheircompetition.
Thedevelopment organi¿ation js looking fora visionfo¡thesystem it is Canaxia hasa malnframe system fororders, inventory, andfinancials lts
goingto design anddeveloplt wantsto knowthattheafchitecture is easvto irtvento¡yandordersystem waswrittenin the 1980s. lhesysterllu¡ctions.
implement lr hasharddeadlines thatit muslmeet,soreusability is impor- butit is veryexpensile to chanCe. Thef¡nancial system waspurchased and
tant.Thedevelopers ¿tegoing to beIooktng lottechnologies ir thearchitec- custcmized in thelate1990s. Thcinfraskucture architects havedecided th¡t
turethattheycufrently understand Theywant thearchitecture to match their lBlúlvlQseries willbeusedto integrate all theenterpnse syster¡s.
Thestan-
desired platforms, development tools,libraries, andf¡ameworks. Theyneed dardfotWebdevelopment in thecompany is Java andJ2EE.
to meetdates, sothearchitecture shouldeasetheirdevelopment effort.ly'ost Theatchitects o¡ theproiectfaceda difficultiob.Theyfealized thatthe
ofall,theywantanarchjtecture thattheyhave participated indeveloping and software architectufe is implemented at thebeginning, middle. andendot
evolving throughout thelifetime oftheproduct. everyproiect.However, muchmofeemphasjs is on it at the beginning of
Theopefat¡ons group wants a product thatissupportable andmaintain- everyproiect.Before thearchitects stafted. theycreated a checklistof princr-
able. Theproduct mustnotfail lt hasto meetservice levelagreements that plestheywouldstriveto followwhiletheycreated thearchitecture,
it canonlymeetiftheproduct isreliable. lf thesystem goes down. thisgroup
is on thefÍontlinest¡fingto getit backup.Whenjt doesfail,theopefators l. Thearchitecture
should bethin.
needto findoutwhysothatthep¡oblems canbefixedTherefo¡e, thesvstem 2. Thearchitectufe
shouldbeapproachable
shouldpÍovide somet¡aceability forsystem transactions sothatwhatwent 3, Thea¡chitecture
shouldbereadable
wrongcanbetracked downTheoperations groupalsohastheresponsibility
forinstalling newmachines andupgradin€ software platforms 4. Thearchitecture
should beunderstandable
ona schedule
It needsthesoftwa¡e to beflexible andpo¡table sothatmoving it to a new 5. The¿rchitedureshould becredrble
macnrne orontoa newversion oi theoperating system isfastandeasy ó. Thca¡chitecture
does¡'thave to bepelect
Thema¡ketin€ people a¡elookinC fotanarchitectu¡e thatcandelive¡ the 7. Dont dobiguphont designlfgivenachoicebet$ee¡
N¡kin{th(.
greatest number of features in theshortest amount of timeAnarchitecture model perfect
orimplementing it,implement
it
thatis flexible andcaninteg¡ate oflthe.shelf packages willwintheirhearts. 8. Dothesimplest thingthatcouldpossibly pfeclud-
workwithour
lnaddition, if théptoduct isa comme¡cial product, thearchitecture maybea ing[uturerequirements.
keyselling porntSawy(ustomers of conmercial products wrllrecognize a
Guldo €oodarchitecture
AProclico¡ froma badone. 9. Thearchitecture
is a shared
asset.
lo Enlorprho End-users needg¡eatpefformance fromthesvstem. 10, lnvolve
allstakeholdersbutmaintain control
lt musthelDthenr
Archltoctuf€
gettheirlobsdonemorequickly andeasily. Thesystem I l. Thearchitecture
teamshouldbesmall. Sollwafe
Archileclufs
mustbeusable. The
4o intefaces mustbedesigned withend-usef tasksin mindand.ideallv the 12.Remember thedifference
between
a oieanda chicken ñ
1

ThePigandtheChicken knownas f!¡4i0Í¿lrüuircuenlt.lr addition, the usecasesspeci¡y howthe


willoccurThese
interaction aremodifying clauses k¡ownas"nonfunctional
Onedoyono fom neotConox¡o,
o pigondo chicken
decide¿
to openo restoúrcnt. requirements.Forexample, thelr5¿ t(s¿,"ljserenters amount, pressesentel
andsystem displaystheinvoice" is a functionalrequirement. A nonfunctional
Ihep¡gtumedIo lhech¡cken
ondoskedhin, 'Soúlhatshouldwecollthisrcstouanl?" presses
requirementmodifiesthis phrase,suchas"Userenters amount, enter,
'HM obouttkn h' EWI
Ihe ó,¡c*enrcpl¡e¿, andsystem displaystheInvolcewithln t seconds." The"within, seconds" is a
lheptgthoughtfoto nonentondso¡d,"tdonl thinkthot'so verygoo¿¡deo.Youwouldbe nonfunctionalorqual¡ty requirement of lhesystem.
inwluEd,
butI wovldfu connitted.' Thearchitect mustdocument howthe system will accepttheamount
Ihe Sdun (SchwobereI ol.2001) &velopnentmeko¿ology describedh theusecaseby usinga userinteface, validating thelequest,
usesth¡ss|oryosthecentrol
thenetotd¡i¡nfu¡shing
futweenthosepeaplewhoorcp¡gs(oss¡gned
wa*) ondthose who storingihedatain a database, andgenerating aninvoice fortheuserThere
(¡nfercsted,
otech¡ckens butnotv@tking). for theusecase,butthearchitectufe
is no architecture mustsatisfy all the
usecases,including thenonfunctional oI qualitylequi¡ements Thearchitec-
Vy'hen
cteatngsaf¡worc otchrcdue,chikensconMeckthepocess ¡ntwowoys.I chr',kens
arcon theotch¡lectute leon,pu shauUjustg¡veupondopeno rclouont.Assunngthot tureshouldaddress eachpatternof intefaction, suchas"Userentersdata
theorchiEcturc leo¡ncons¡sls
o{ollpigs,nokesutethotke architedue addresses
thecon- data aresavedto database, a resulto¡ an erroris displayed."
.ens o[ thepigsin theorgon¡zot¡on. Don'tletke ch¡ckens
sneok¡noneggorI' o on¡lñoke At canaxia,the requirements werewelldocumented, but evennore
yaudes¡gn t'otsometh¡ng thatisn'tteov irnponont. wereinvolved in everystageof theproiect
importantly,
userrepfesentatives
andprovideddailyinputiutothearchitecture anddcvelopmelrt o[thcsyst.nr

Thefollowing
sections
describe
thestepsthatthearchitects
at Canaxia
performed
to create (Bass,
theirarchitecture Clements,andKa¿man 1997). orSelecting
Creating theArchitecture
Therequirements gathering process deliversa setof functionalrequire-
mentswithqualitiesidentified with eachrequilement At Canaxia, these
TheBusiness
Case requlrements werea setof usecases or uselstofiesEachusecasehada set
of qualities
thatneeded to be supported by theusecase.Thea¡chitecture
Canaxia wasluckyiit involved thearchileclure
teamwhenit cfeated the thatcanaxia selected needed to supportall theselequirem€¡ts andquali-
business caseforthesystem. Manyorganizationsdo notinvo¡veanarchitect ties.Someof therequirements were easilymet usingtechniques, technolo-
at projectconception. Thearchitectute leamwasinvolved fromthestartof gies,andpractices withwhichthedevelopers andarchitects werefamiliar
theproiect. Thebusiness customers neededto understandtherelat¡ve
costs Thedilljcultpartof selectinC thearchitecture wassattsfying ll"osequ¿lifiPs
of the varioussolutions theywerecontemplating. Thearchitectufeteam usingtechniques andtechnologies that wefe liskyand unknown
undefstood thecurrent technical andthetools,processes,
environrnent and
personnel requiredto implement Toaddress andreduce thetcchnical risksin theproiect, thearchitects
thevariousoplionspresentedbythebusi,
qealedar' ltchitcclurc Thiswasthemainmilestone
baJ¿lifl¿. in thedevelop-
nesscommunity. Thebusiness customers thala great
tealized solutionthat
is lateis sometimes mentof thearchitecture {lacobsson,Booch, Rumbaugh 1998)Thearchitec-
worse thana mediocre solution quickly
thatisdelivered
turebaseline isthefústfullyexecutable portionofthesystem. A srnállthread
Onlythe architecture teamcanevaluate the variousoDtions andDrovide
inputintothetimerequired of execution through all system layercwascompleted to plovethatthesys-
to createeachone.
temcouldbebuilt.Tocreate anarchitecture baseline,thearchitecture team
AtCana¡¡a, theafchitect wasinvolved upfro¡twithautodealefs, man- in thefollowing palagraphs These stepswetc
follovedthestepsdescribed
agement at thecompany, systern e¡d-users,
andthedevelopment team.The perlormed wilhtheatchtte(ts voÍking Iovard¿r a¡cL l-
Inaniteretive manner
business case tookintoconsideration thetimeframe andthetechnicalcom. thefunctional andqu¡lityÍeqrlircrnents lorlh.
tecturcbaseline thats¡tisfied
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
syslcm
' ( jr

S el ect U se C ases
Understanding
theRequirements
asmallnumbetof
Select usecases flomtherequirements lL'IthesYStem
Canaxiareali¿edthatanarchitect
couldn't
buildarchitectu¡efora svstem These areselectedto address themosttechnically riskyaleas cf thes,Ystem
thatheorshedidn'tunderstand Therequirementsofthestakeholdersprovide 'lhissubsetof usecasesis the¿¡ÍÍileúlür¡¡ll, usecases[or cr'¡f]plc.
5¡rrlii(t¡ll
A Proclicol
Gu¡de thearchitect
witha contextfromwhichto create
a desien.A usecaseisa com- packageforprinting documents fronlthesys-
Canaxia chose a newsoftwate
lo Enlsrprlse
monwayofcapturing a requitement.
Theusecasedesc¡ibes someactionthat printing
documenls r'1tl" aÍchlp'lLre
tem.lt lncluded the use cases for
Arch¡leclure
thesystemmqstperformA usecasedesctibes in detaileveryinpuvoutput baselineto demonstrate thattheinteface to tlrenc$so[t\v¡r. l)¡rk¡cc$.rq Sotlwore
^rchilgcluro
42 interactionthatthesystem pe¡fo¡ms
witha useroranother systemThese are golngIo vorK. 4a
tdentlfy lmportant oüalltles Know When You Are llappy wlth the Deslgn
Softwarearchitecturerequires Canaxia
trade.offs. couldnot get lhe howto knowwhethel
teamtriedto establish
Thearchiteciure or notthe
everyrequirement
to satisfy
architecture ¡nthebestpossibleway.Therefore, wasa
architeclure goodone. lt adopted
thefollolving of
checklist earlywarn'
thequalitiesthatthearchitecture shouldsuppo¡twereprioritized.
Forexam' ingsignswhenthingsmightbegoingastray (Abowd et al 19961:
ple,Canaxiavalued pelormance Whendecisions
overmodifiability. required
a kade-offbetween qualityattributes, whatqual-
it washelpfulto understand l. Thearchitecture is folcedto malchthe currentorganization
weredesired
ity attdbutes morethanothersin thesystem. Sometimes a goodarchitecture is changed because someone
says,Wei st don'tdo th¿lhe¡e." Alchitecture canbe polluted
because thepractices andtechnical infrastructure of theolgani-
DeslgntheArchltécture zationdon'tmeshwiththe alchitecture for the proiect['4any
canaxiadesignedanarchitecture thatwasableto implenent theuse times,complonises ¡n thearchitectute arenecessary to ensure
casesthatwercchosen forthesystem. Thisinvolved
adopting oneor mole enterprise consistency, buttheconceptual of thearchi'
integlity
(described
st¡'les
orc^iteclutal laterin this chapte0andfleshingout those tecture shouldbemaintained asmuchaspossible.
stytesintoa moredetaileddesign. canaxiadecidedto usethemostwell' components (too
2. Thereare too manytop-levelarchitectulal
knownarchitecturalstyle,the model-view-conttoller style
architectural reaches a level
muchcomplexity). lf thenumbefof cornponents
canaxia knewit wasdonewrththrsstepwhenthedecisions il wasmaking (usually becornes toocomplex for
mofethan2t).thearchitecture
becarne harderandharder because Iesstancible
informationon whichto integrityTherolesandlesponsibilities of
it to haveconceptual
relywasavailable. eachcomponent mustbeclear. Whenthesystem consists of too
manyconponents, theresponsibilities ofthccomponent tendto
Set Up a Developme[t Envllonnent blendintoeachother.
3. Onerequirement drives therestof thedesign. Someproiects are
thensetupa development
canaxia that¡ncluded:
environment
buiitwitha s¡ngle overriding goalin mindthatis sometimes the
petfequjrement of theproiectsponsor proiect managet o! proi-
. Serv€rs application
suchas file servers,
andspaceon servers
ectafchitect.whenthesystem is builtaround a single overiding
anddatabase
servers, servers
requirem€nt, otherfequirements maynotbeaddressed
anddrawing
Modeling tools presented by the
4. Thearchiiecture depends on lhe alternatives
Whiteboards operating platformSometimes theplatfcrm chosen is thewrong
lo¡takingpictures
Digitalcamera of whiteboards onefortheproiect. Forexample, a ploiectthatrequires a high
Proiectwebsiteandfilesubfolder levelol usability mightnotbepossible if theplatform chosen for
theuserdisplay is a 3270terminal.
Softwarewithwhichtheyneeded to integrate
5. Proprietary components arcusedinstead ofequallygood standard
development
Integrated environment (lDE)
ones. fuchitects anddevelopers areoftenlutedbythelatestcool
Unittesting
fiamework(XUnit) technology or interesting designs thatmayhavealternative stan-
Version
controlsoftware dardtechnologyavailable. Forexample, proiects should takeadvan-
tageof the capabilities of application seNeltechnology when
Automated buildprocess
developerc b€gincreating loadbalancing schemes oI pelslstence
Í¡ameworks,it is usually an ¡ndication thatthefeis a problemlt
l m p l e me ¡t th e D e s l g n {ouldbebette! to usethestandald capabilitics of¡¡;rl)dicrliorr
staftedimplementing the design.Thiswasdoneby first serverandspenddmedeveloping software to solvethebusiness
Canaxia
thetestsfleshedoutthe problem rather tha¡creating newtechnical features
implementing thetestsfor thedesignWriting
cont¡actsin themodules. whencanaxia began implementingthedesign, 6. ThecomDonent division definitioncomes thehardware
from divi'
it leaÍnedwhatdidanddidnt work.lmplementation willprovewhatwas sion.Thecomponents shouldbedesigned withouttegatdforthe
iusttheoryin thedesign and willprovidea concrete of the
understanding physicaltopology ofthesystem. except to recognlze thala nel\orl'
architecturebeingdeveloped. Canaxia stopped implementing whenit intransmilting
is involved databetween components. Thecompo'
AProcllcol
Guide exhausted theinitialdesigns whenthishappened, Canaxia improvedthe nents shouldmaptoadiscrete business o¡technical function ofthe
lo Enlonrlse designandimplemented moreof theafchitecture r¡oleitela-
in sevelal applicationthat is beingbuilt.Thesecomponents shouldtake
Archileclufe
Sofwore
Archllocturotionsuntiltheywerehappy withit advantageofthe scalability featuresofmode¡n coriputing systems
u 45
Ff¡r. t-l Soltwaf
o Archit€clure
Voliiility tema¡d howthearch ¡tecturewouldsuppolthe¡rneeds. Therefore,thearchi-
Soltwarearchiteclure tectsprovided
a stotyboard anda prototypeto describethat.Thiswasa lery
volatiliw
thrcushour gn effective
meansof conveying thoseaspects of thearchitectu¡eto thiscorn-
asoftw;redevelop.
mentproiecl munity.Thesupport organizationwanted lo knowhowto maintain thesys-
tem,soa discussionof thesoftwaredesi€n usingUMLanddata¡¡odelswas
anappropriate
means of conveyingthisinformationto them

Analyzing
andEvaluating
theArchitecture
Throughout thedevelopm€nt of thcsystem, Cana¡ia wasca¡eful to con-
tinuously evaluate thearchitecture to make surethatit mettheneeds of the
proiect.lt knewthalthearchitecture reallyisn'tfinished untlithep¡oecris
delivered, andperhaps notevenuntllthesystem is retifedlt usedaniterative
process ofevaluating andevolving thearchitecture to improve it asnecessary
througho'Jt thcsystem lifecycle.Thearchitecture evaluation process in the
initlalphases of a p¡oiect wasdoneth¡ough scenario-based te(llniqucs 1.
evaluate software architecture, Canaxia identified thearchitecturally signili-
7. 'lhedesignis exceptiondriveni
theemphasisisontheertensibil- cantscenarios forthearchitecture to support Some methodologies. suchas
ityofthesystem ratherthanonthecoretequifementsfo¡thesys- XP,callthesescenarjos ri¿¡rto¡ir5.
These scenados provided a context irom
tem.By"exception driven,"wedo not meanexcept¡on handling whichthe qualityattributes of thearchitecture couldbe estimated Asthe
butratherthatthesystem should notbedesigned
exclusivelywith ploiectdeveloped, theestimates became measufements andtestcases for
the requirementsthatsomeday mightbe necessary
in mind.li verifying thatthedesired qualityattfibutes wereactually suppoed bythe
shouldbedesigned to solvethemo¡eimmediaterequirements. softwale thatwasbeingcreated. Forexample, whenthea¡chitectu¡e wascre'
ated,theteanestimatedthe levelofperformance ihatthearchitecture should
Thearchitecture teamfin¡shed thebaseline architecture andfeltgood support basedon thenUmber oi computations andnetwork hopsOn.ethe
about it.ltwascarefultonotice "code smells'duringthe creation ofthebase- architecture baselinewas completed, theestimates became measurements of
line.These wereaspects ofthecodethatiustdjdnt feelright.Whentheteam performance for the setof scenarios thatwereimplemented. lf the pedor-
sawsomething sneakin thatdidn'treallybelong or required extensiverefac- mance requifernent wasnotmetorexceeded, thearchitectu¡e wasfedesigned
toringit hadthecourage to rip it outandsta¡tover to support therequiremeni.
Asshown in Fi€ure
2-1,thearchitecture isvolatile untilthea¡chitecture At eachstageof thedevelopment process, lhearchitecture wasevalu'
baseline iscomplete Duringthe period oftimethatthearchitecture baseline ated.At laterstages in theproiect, someestimates wereveryp¡ecise becaLrse
is wo*edout,majordesign decisions willchange. Du¡ing thisperiod,the theywerebasedon realworking code.Howevet someof thequalityatt¡i-
overalldesignis p¡ovenWhenthearchitectural baseline is complete,the bulesweredifficultto measure andweresomewhat subiective. ForexamDle.
architectureforthesystem shouldsettledownsothatfulldevelopment can it waseasyto usea stopwatch to measure theperformance of a t¡ansaction
bedonebased onthestable baseline. lf thearchitecture isvolatilethrough" th¡ough thesystem, however estimating themaintainability of thesystem
outthedevelopment process, theproiect willlikelyfail. wasmuchmoredifficult. Themaintainability estirnation wasbased o¡ many
criteriathatincluded thetechnology thatwasused, whether or notthesys-
Representing
andCommunicating
theArchitecture temwassrfficiently modulat andhowmuch configuration datawereusedto
configure thesystem at run-time, aswellasmany othercriteria pafticular to
Thearchitects at Canaxia knewforthearchitecture to be effective.it thesystem thatwasbuilt.Estimating thiseven afterthesyste¡r wasbu¡Lt was
needed to beeifectively
communicated to allthestakeholders ofthesvstem. difficultandstillsomewhat subiective. Canaxia hadto ¡elyo¡ thearchitec'
Afterall,architecture
reallyhasnoolherpurpose thanto provide a concepl tureteam'sskillandexperience withintheorganization andwithsoftware
forth€system aboutto bebuilt.Thearchitecture needed to beclearconcise. designs to deliver therightlevel of maintainability fo¡theproiect
andunde¡standable sothattheimpo¡tant concepts withinthearchitectu¡e
Canaxia considered three popula¡ nethodologies forevaluating softvare
couldbe implemented andsupported bythestakeholdefs Thealchitects
architectures lClements, Kazman, andKlein2002)
Guide understood
AProclicrl thatit wastheseimportant concepts that¡n manywaysdeter"
toEnlorprlsominedthesuccess or failureof theproiectat everystageof its lifecycle
&chlleclure Toeffectively l. Architecture
Trade-off
Analysis (ATAMI
N¡ethod Sollworc
Archileclur€
comnunicate theatchitecture
to thevarious stakeholders,
4ó the teamcreated targeted material for eachstakeholder conrmunitv Fot 2. Soft\rare
A¡chitectufe
Analysis
Method
lSAANIl ti
example.theusercommun¡ty vasveryinteiested in theUsability ofthesys, 3. Active
Revievsforlnte¡mediate (ARID)
Desiens
Canaxia understood thatforcriticalproiects
thatrequire a lafgeamount
of rigorduringthe development process, formalmethods helpto formally UML2.0 nows coÍ¡¡}í/¡,ents thrcughlhel¡{eoFle
ond@nneatols nany ot
ontloddrcsses
evaluate thesoftware a¡chitecture
ofasystern. TheATAM andSAAI¡methods Itreseconce¡ns.
for evaluating softwarearchitecturesare comDrehensive. whilethe ARID
method is meantfo!inte¡mediate design reviewsto ensurethatthearchitec-
tureisontrackthfoughout theproject.Canaxia purchasedthe bookEralüalir4 ln addiiion. a connector is anarchltectural nolionthatdescribes some-
Sollu,arc
Neúil¿cturc lclements,Kazrnan, andKlein2002) to learnabouteach thingthatprovides a conduit fromoneoI manycomponents to oneor many
method in depth.ln theend,Canaxia createditsownadhocmethod to eval- components. Theconnector mayalsoadapttheplotocolandfomatol the
uatethesoftwarc a¡chitecture
thatwaspa¡tially basedonthethreemethods message fromonecomponent to anothelUf¡L I 5 doesnotprovide a simi-
presented in thebook. la!concept, although on€couldgetaloundthisbydepicting a connector as
a setof cooperating classes or asa component.
UML2.0wasreleased in lune2003andaddresses manyol theseissues
Ensuring
Conformance inthelanguage. ln UML2.0, a component canbedepicted to useaninterlace
andprovide a port.A portcanb€a complex portthatprovides andconsumes
Theafchitecture teamrealized that evenwith the bestarchitecture, withattribution that
multiple interfaces. Eachintelface canbedesignated
development teamsdont alwaysimplement an architectu¡e correctly. indicates thevisibililyof theinlerface, whether or notit is a service andhas
Usually.thisis thefaultof a poo¡architectureor poorcommunication of the becor¡ing
asynchronous capability o¡ not.UML2.0is making stridestowald
architectufeto developers Inorderfo¡thearchitectureto ¡¡attet,thearchi, thestandard notation fordepictinC alchitectules
tectufein concept mustbecome executingcodejn a system. At Canaxia, the
architecturewasimplemented correctly
in thefinalsystem. UsingUMLhasthedistinctadvantage oi beinga standard notation for
All thedesired
system qualities weremetandthesystem wasdelivered software desi€n. lt is desirable to useUMLfol describing softwa¡e architec'
ontimeandundef
budget turebecause it is standard. Touseearlierversions ol Ul\4Lforthispurposc
readers of theUMLarchilecture descriptionmustbewillingto suspend their
ln addition,thearchitects anddevelopers realized
thatthearchitecture described bya
disbelief. Forexample, an afchiteclufal componenl could be
is anongoing effortin refinement,evenaftertheproiectis completed. The popular is lo use¿
UIVL component in a UflLdiaglam Anothel apploach
architectsunderstood theyneeded to beinvolved notonlyduring design
and ste¡eotyped class. Thiswillwolkaslongasthereader doesnottakethisto
construction butalsodu¡ingmaintenance of thesystem. a
meanthat the component is an actualsoftwareentity and thatit desclibes
conceptual component, nota phys¡calone.
At Canaxia
andat every
othercompany
thatis developing theques-
software,
Arch¡t€ctu
r€ tionof howsoftwarearchitecture
shouldbe represented
is a difficultone. ln addition,res€afchers havecreated several architecture description
DescdptionStakeholders
of the systernneedtargeted
materialthat speaks to them languages thathavea smallsetof coreelements thatallowforthefist-class
representation of architecturalconcelns. These languages focuson a precise
[anguatesbecause,aboveall else,stakeholders
mustunderstandtheatchitectute in
the only wayto assess
descriotion of software architecture. They algue that
andUMI o¡de!to implementit co¡rectly.
Fo¡technical
stakeholdercor thosewho
thecompleteness andcorrectness ofthesoftwale archibcture is to precisely
undefstand
soltwafe d€velopment, U[4Lis the mostpopular¡otationto
describethedesignof softwaresystems. Onthesurface,UMLapDears to be describe thesoftwale architecture. Thesemethods andlanguages sufferirom
wellsuited asa notationfotdescribing softwa¡earchitectures IJMLhasa thefactthatthere aredozens ofthem, andtheyallhave thego¡lof precisiorl
largesetof elements thatcanbe usedto describe software designs. The overund€¡standability.
Rational unified
Process (RUP) bestrepresents thev¡ewpoint thatU[,41 is Thebottorñ lineis thatthereis nostandard notation fordocumentinq
adeq!ate forrepresenting
soltwareatchitectures sollware atchitecture Thekeycritetia w\enchoosrng a mooe'rre laIg'raie-
RUPis an 'afchitectute.centric"
process thatpromotes theuseof IJML whether it isUML, anADL, oryoulownnotation-is thatit shorrld fúrtherthe
lor depdingsoftwarc aÍchitcctureHowevet academics haveouestioned understa¡rrling of thcatchltectufe bythoscwhoIc¡<lil 1lrI rrrorltlslrottl,l
UMLasa means ofdepictingsoftware
architecture(N,,ledvidovic
2002). Th!sis accomplish thisp mary goalre€aldless ofthenotation usedtLido.unle¡t Lt
mostly becauseearlyversionsof UMLdidnotcontain notations forcompo-
nentsandconnectots asfirst,class
elements Othe¡ consttuctsateimponant Thesoft$,arearchitectute
ofa system plomotes enforces, an(ll¡edl,isth.
whendescribineaoftwale atchitecture,
suchasportsor pointsof interaction quality
attributesthatthe system willsuppon. oualityattriLrutesarethose Qual¡ty
witha component androles otpointsof interaction
witha connector ln tJ¡\¡L system prope{ies overandabovethefunctionality of thesysiem thatmak(' Attr¡butes
I 5,components areexpected to beconcrete,e)(ecutablesoftware thatcon- thesystem a goodoneor a l¡adoneíroma techliical perspective Thele¡ri'
AProclicol
ouide sumes a machines resourcesandmemory. measuledat Íun-time ¿nd thos.
Althoughsomepadsof software twotypes ofquality those
attributes, that are
lo Enlo0rise archrtecture thesoftvare a¡chltec-
a¡econcretecomponents, notall architectural
components are thatcanonlybeestimated through inspection.Since
Archilectureconcrete il ,5Lurltrt F rl,
Archilecl!fe
Soflwore
soltware
entitlesTheymaybean entiresystem or a federation of lureof a system is a palt'aldesignof a syctembelore
4S systerns thatneedto bedepicted asa si¡glecomponent thatprolides a sin- of thesoftware
resDonsibilitv architect thosequalit!attribuies49
to identify
plefunction thatafemostimportant andthenattempt to designan alchitecture thai
t-
reflects
thoseattributes. 12. ElhUiliv-how wellthe architecture canhandlenewrequrle-
Thequality.. may
be concernedwithate{Bass, ñÑs. Variabiliw comes in several fotmsNewrequirements
Clements. Kazman
be plannedot unplanned At development time the systern
Klein20021:
souicecodemightbe easytoextend to perfoim newfunctions At
run-t¡¡ne,thesystem mightallowpluggable components that
I. 8l{f.Q{n¡¡fJn-a measurement of thesystem response timefora isclosely
modify systembehaviol onthefly.Thisqualityattribute
functional tequitement.
relatedto modifiabilitY.
2. Availability-the amountof timethatthesvstem is uDandrun- a subcet ol lhe
13. S-ubl9!¡úlllly-theabilityofthesvstem to suppon
ning.ft ü measured bythelength of time'between iailures.as it ic
Gñrf,iieiui;e¿¡vt¡e tvstem For inclementaldevelopment
wellasby howquicklythesystem is ableto restartoperations todemon-
important thatasystem canexecute scmefunctionality
aftera failure.Fotexample, if thesystem wasdownfor oneday lt is theprop-
stratesmaliiteratio¡sdulingproduct development
outof thelasttwenty, theavailability of thesystem fofthetwenty ¿nd execute a sm¿ll setof
ertyofthesystem thatalloursit to build
days is l9/19+ I or95percent availability. Thisqualityattributeis the entire system is
featuresand to add features over time LIntil
closelyrelatedto reliability. Themorereliable a systemis,the onlhe
built Thisisanimpoftant propefty if thetimeor resources
moreavailable thesystem willbe. itectu reishigha sub-
plojectalecutlfthesubsetability ofthearch
3. Reliability-theabilityof the systemto operateovertime. setotfeatulesmaystillmake it intoproducllon
Reliabil¡ty ismeasured bythemean-time-to-failure ofthesvstem.
I4. Conceptqalintegnty-theabiliiyof thearcl"rte'turetÓ'omnru¡r'
4. Functionality-the abilityofthesystem to perfomthetaskit was caiea ilearconcis¡ uisiou forIhesystem FledBroofs wrr'et I
created to do. IhanevefConceptudl lnle6rilyis cenrrdl tc
ammoleconvinced
5. Usability-how easyit is fortheuserto understand andoperate product quality. Having a system alchitect is lhe most lmportant
thesystem. singlesteptoward conceptual integrity Afterteaching a solt-
6. Secufity-the abilityof the systemto resistunauthorized wareengineeri¡g labotatory morethan20timesl cameto insist
lhatstudent teamsassmallas foulpeople choose a manage¡ ano
attempts to access thesystem anddenial,olservice attacks whjle
a separaie atchitect(Biooksl99t) KentBeck-helieves that
stillprovidin€ seNices to authorized users
metaphors are the most important part oí the extleme
7. ModifiabilityJhe measurement of howeasy¡t is to change the metaphor is a pow-
Programming methodology (Beck 1999). The
systemto incorporate newtequifements. Thetwo aspects of concepts lora sys-
eful means ofproviding oneot morecentral
modifiability arecostandtime.Ifa system usesanobscute tech, vlsion and a 'haled
tem Themetaphol provides a cor¡mon
nology thatrequires high.piced consultants, eventhoughit may metaphor provides a
vocabulary foratlsystem stakeholders. The
bequickto change itsmodifiability canstillbelow.
meansto enfolce conceptual integrityWhenthe designof the
8. Portabi¡ity:-measu¡es the easewithwhichthe systemcanbe system goes oulside thebounds of then'et¿phor' Ihemet¿phor
movedto different platforms. Theplatfo¡m mayconsist of hard- mustchange ol new metaphors must be added; otheNise the
ware,operating system, applicatjon seNersoftware, or database design isgói¡ginthewrong direction Ifanyofthesedesigndeci'
seryet software. sion;aremadewithouttheconcept feeling righttheconceptual
9, Reusability-the abiliryto reuse podions of thesystem in other integrity of the system will be lost Sometimes the syslem
applications.Reusability comesin manyforms.Therun-time metaphor is anafchilectural patternsuchasMVCo¡ Blackboa¡d
platform. sourcecode libra¡ies, laterinthischaptel) These archlecturdl p¿tterlq pro-
components, operations,and ldiscussed
processes areall candidates fof reuse
in otherapplications. videa common metaphof for system developels o¡ othels who
10,Integrability-the unde¡stand thepatte¡ns However' theydont helpthcstákchol(l-
abilityol the'system to integrate withother
erswhoaren t familiaÍwith the pattelns onegoodth¡ng¿bout
systems Theintegrability of a systemdepends on theextentto
using alchiteclulal pattelns forthesystem is thattheydescribe
whichthesystem usesopenintegration standards andhowwell
theAPIis designed the;tructures of thesoftware in mofedetailon lhodownsidc
suchthatothersystems ca¡usethecompo-
notall stakeholders willunderstand theleferences'
nents ofthesystem being built.
or notthedrchilecture (a¡ r' ason¿bly be
I l. Testability-how easilythesystem canbe testedusinghuman 15. Build¿bilrty-whether
andt
bui l tusi ngt hebudget , st af f im eavailablef or t
dcliverhc yof
effort,automated testing tools,inspections,andothermeans ol qualrtyatt¡ibute
AProc,llcol
Guldo testingsystem qualityCoodtestabilitv project.nuildability is an often-overlooked
is relatedto themodu- tooar¡bitiorls fora
lo Enlerpse ' Iarityof thesystemlf thesystemis composed Sometimes, thebestarchitects aresimply Archileclufe
Solfwofe
of components given project co¡straints
Archlleclure withwell-defined intefaces, itstestability Dro¡ect teamto complete ;a
should beeood al
50
ls Agilitya QualityAftribute? $!iriJ-
what is the impactola failure?
Someorchlects usethetem allleto desd¡be
thei odlitedue. WhileflujbtlryondoElry Howarchardwate andsoftwale failuresideñtified?
orc inpotohl kese'aodshovenony diñehs¡atÉ ff he orchitedurc¡sogile,daeshot
Howquictlymustthesystem be opeGtio¡alafteta systemfailure?
neon thotf ¡seoiy chongepls ¡t eosyto ¡ntErcteit kto ke enHpt¡se? ls ¡t ponoble,
rcusoble,testobh? to olllhesequest¡ons
lhe onswet ¡sptobobly'pt' Ag¡liry
is o cornposte systems
Arethelefedl¡ndant thatcantak€overin c¿seof a failure?
quoliqthol¡ncludesnonyal ke bosequol¡ty
oftt¡butes potto.
lt ke levekofnoinloinobilitl, havebeenreplicated?
b¡liv,testoüiy,ondkEgtoüliryo@high,theorchibd.ue Howdo youknowthatall cdticalfunctions
¡smostlkelyonog¡leone.
Arebackupsdone?Howlongdoesit taketo backupandiestorethesystem?
what arethe e¡pededhoulsof operation?
what is theexpectedup-timepe!month?
Howavailable ls thisacceptable?
is thecurrentsystem?

(on\^',q\: \ ¿.4\.
Reliability.
what is the impactofa softwa¡eor hardwarcfaihre?

will bádpelotmance impactreliabilitv?


whatis theimpact of anunreliablesystem onthebusiness?
Cantheintegrityofthe databecompromised?
It is important
for thesystem andenteFrise
architecturedesigneFto
understand thedesired thatthesvstems
oualities muste)úibit.Todoso.the
architects
shoutd .r pi.iirii i';!áiil;iüí6ftf; áÉsired
enióiiácu quality Fünctionality
attr¡butesaspossible. provides
A checklist a wayof ensuringthecomplete- "Dóes sntemmeetall thefun.ticnalrequirements
the bytheJsels?
specified
nessof thespecif¡cat¡on.
Following
aresomeof thequestjons to askin order respond and adaptto requireme¡ts?
unanticipated
Howwellcanthesystem
to fullycharacterize
thedesiredqualityattributes
for a system[Clements,
Kazman, andKle¡n2002rMccovefn,
Tyagi,Stevens,andMathew 2003):
Ulability
Perlorm¿nce undetsta¡dable?
ls the userintedace
tstheintedace to suppod
adaptable withdisabiliUes?
ofpcople
theneeds
what is theexpected
¡esponse
timeforeachusecase?
findthetoolsprovided
Dothedevelopers thesystemusable
forcreating
Whatis theave.age/ma)dmin
e,(pected
response
time?
andunde|standable?
Whatresources
arebeineused{CPU,
LAN,etc)?
Whatis theresource
consumption?
5€!.u.rlty
a¡bik¿tio¡policy?
Whatis theresource
Howcriticalis thesystern?
Whatis theexpecled
numbe¡ofconcuÍentsessio¡s?
what is theepectedimpactofa seculityfailure?
Afethereanypafticularly
longcomputationsthatoccurwhena certainstate
is t¡ue? How¿Iesecudty lailu¡esidentified?
lftherehave been anysecurity in thepastwhatvaslhereimpact?
failu¡es
AreseNerprocessessingleo¡ multith¡eaded?
ls the¡esufficre¡t AletheYanYknown vulnembilities?
network
bandwidlh
to all nodes
on thenetworl?
issues?
Haveuselsbeentralnedin security
Aretheremultiplethreadsor processes
accessing
a shaledresource?
Hov
is access
managed? Aretherea process
añda tespo¡sete¿min placeto handlea security
breach

Will badperfcírmance
dramatically
alfectusability?
ls the response
timesynchronous
or asynchrcnous? Modifiability/vatiabilitY
Whatis theexpected
batchcycletime? Howoftenwilla change to thesyslenr?
be required
AProcllcol
Guide
loEnlsrprise HowmuchcanpeÍormance
varybasedon thetimeof day,week.monthor do youanticipate
what nev functionality addingin futulelersio¡sof the
Archileclurc
Sollwore
Afci¡l€ctur€ systemload: system?
52 Whatis theexpected ofsystem
load? Howwillyouhandle platlorn?
oftheexecution
¡ev releases 53
€rowth
Doanycompone¡ts
haveaccess
to thelmplementation
detailsofglobal Testabil¡iv
variables?
Areiher€tools,prccesses,
andt€dniquesinplaceto testlanguage
Doyouuseindirection suchaspublish/subscribe?
mechanisms
classes,
componcnts, andselv¡ces?
Howdo youhandlechanges
in message
formats?
ArctherehooLs to perform
in thef¡amewo*s unittests?
wefedesigncompromises
madeto eñhance
pefomance?
Canautomated
testing
toolsbeusedto testthesystem?
Howmanyintedaces
mustcha¡geasa resultofa change
ln a pieceoi
Canthesystem
runina debugger?
fuñctionality?
Doesthesoltware
usemetadatato conf¡gure
itselfusingdeclarations
rctherthancode? s.s!*!¡!!lig
Cantheuserintefacechangeindepe¡de¡tly
of logi. components? lsthesystem
modular?
Whatchanges
resultfromaddinga ¡ew datainputsource? Arethe¡emanydependencies
betveenmodules?
ls thesystempreparcd
to movefrcma singleprocessor
to a multjprocessor Doesa change
in cnemodulercquirca change
in othe¡modules?
executionplatform?
Howmuchwill it cost?
Howlongdoesit taketo deploya change? Conceptual
InteSlity,
Whois expected
to makethechange? Dopeooleunderstand Aretheretoo manybasicquestions
thealchitecture?
beingasked?
Portab¡litv ls therea centr¿lmetaphor
lor thesystem?
lf so,hownrany?

ofapfoptietary
Dothebenefits platform
outweigh
thedrawbacts? Wasanarchitecturalstyle
used?Howma¡y?
Canthee¡peñse
ofcreating
a sepatation
layerbe lustifled? Werecontndictory
decisions
madeabouithearchitecture?
At whatlevelshouldsystemportability
beprovided?At theapplication, Donewrequirements fit i¡to the a¡chitecturc or do newfeatu¡es
easily.
application
seNer,
operatin€system,or hardwarelevel? requirecodesmells"?Ifthe software stansto "stink,theconceptual
lntegrityhaspfobably
bee¡lost.

Reusability
Buildability
ls thissystem
thestanofa newproduct
line?
Areenoughtime,money,
andrcsources
available
to buildanarchitecture
Willothefsystems
bebuiltthatmo¡eor lessmatchthecharacteristics
of h:.él i ñF 2nd r hF ñr ^ i . . t t
thesystemunderconst.uction?
lf so,whatcomponents
will bereusedin
thosesystems? lsthearchitectufe
toocomplex?
Whatexisting
cot¡ponents
areavajlable
forreuse? lsthearchitecture modulaf
sufficiently to promote parallel development?
AreihercexistingfÍameworlG
oaothercodeassets
thatcanbe reusedt Aretherctoomany technical
flsks?
will othe¡applications
¡eusethetechnical
infrastructure
thatis c¡eatedfor
Thisisbynomeans anexhaust¡ve listof questions to askaboutarchitec-
thjsappljcatio¡? tureoradesign. On€very proiect,therearespecific questions to askabout the
domain ol thatproject andorganization. Forexample, if an o¡ganl¿aticrrl
tsthereexisting
technical
infrastructu¡e
thatthisapplication
canuse? usesmessaging middlewale,-th€re is a listof veryspecific questions about
what¿retheasrocráted
cosls.risks.
¿ndbenefits
ofbuildi¡greusable howthatmiddleware systemis usedandwhethe¡ or notthf archiiecturc
co|l1ponc|l1\r uscsit cffcclivcly
andcotrcctly.
lf lllcotB¡ni¡¡lr(nrh.ili,ll rn-h('1r!.
fi,I¡t\(,,r1.
lorcreatingcomponents andservices, thefeis a listofquestrors abc.ul the
design ofacomponentor seryicethatusesthatframervork Thequestions that
Integrability
mustbeasked oneachprojectvary.lt is important thatthear.hitectirrc learr
Arethetechnologies
usedto communicate
withothersystems
basedon u¡derstand the intricacies
of the organi¿ations domainthr a¡chitecl re
APfoclicolGuldo standards? that supports it, and,especially,the obstacles thatrnaybe encountereJ
l0 tnlefpftO interlaces
Arethecomf,onent cñnsrslenl
andunderst¿ndablel sothatlheycanbeavoided Onlyil a design te¡mis ¡war.¡i tht',l¡t¡ils
Afcnfecrufe o[ particular canit pfope¡ly
ofgani¿ation detign a slslen] th,rtrunsin llr.¡i Soltvofe
Archileclur€
ls there¡ process
tr p'¿ce
lo \e.sioncompone¡t
Interfaces) .;
?{ organizatio¡
- c5
Nonfunctional
Requirements
andQuality
Attributes Thesamegoesforarchitecture. inthearchitecture
All stakeholders hold
viewpointsthatspeakto theirdifferent ontheproiect
perspectives andwithin
ry,9jlun.tlg$lt9q,ri,gre_ltq it.ei¡!nlast.!¡e. sane.a:qlaliryauributes. theotganization.It is alsoimpoftanlto separate descliption
thearchilecture
Nonfunctional reqqüqt0enllgJ.e_qg.r¡ed as$É ng¡ob5gryaf lgpropertres viewpoints canunderstand
sothata singlestakeholder diifer
-ot intodifferent
the,ystem. A classical
funct¡onal requirement canbestatedasa noun-veib entaspects of thearclriteclule.
phrase, suchas "rhe slstell
4*lpHti€,ÍW$. A nonfuncrional require-
mentcanbethought ol asa modifying clause. suchas-Thesystem displays
!h9.Iep.gtlvi{hls: seco¡ds." 4+ l ViewiVodel Architecture
of Software
In otherwofds, a functionalrequircment is statedin mathematical terms. No singlestandard setof viewpoints mustbe described for softrva¡e
An inputis givento a function.andthefunctionreturnsan outDut.Thenon- In fact,wediscuss
architecture ¡l$Jlgpulfl'ttCggll.!gillusllatethepoifl
functional requ irementsstatehowthe functions oftheslstem willbep€¡formed. thatmultiplev¡ewsarenecessary. Pfl¡lippe fiomRatlon¿l
Krut(lten softrare
Thebigproblem withnonfunctional requirements is thatmostrequire, divides
architectureintothe4+l viewmodel(Kruchten 1995) discussedLn
mentsgatherine teamstendto leave theserequirements out,ot theydo not thefollowing
sections.
fullystatethe nonfunctional requirements ofthesystem. Theydothis because
theyfocusonlyonthebusiness casefotthesystem. Theyconcentrate onthe Logical Vlew
business stakeholders andnoton thetechnical stakeholders of thesystern.
Requ¡rements suchasmodifiabjlity, security,andsoonareusually Thelogical view.o! logical is iheoblect¡lodelfor the
architectur€.
overlooked
because theyarenotperceived asdirectly designIt Cescribestheshuctures of thesoftwarethatsollelheiunclion,¡l
impacting thecost-benefit forthe
system. Theserequirements a¡eperceived lgquirementstcrthe is
syslefn.lt a subsetofallthe ofthesystem
classes The
asbeingonlytechnically related
requirements Thisis not true.Nonfun(tional vievofthesoftwate
viewis stfictlya structural
logical includlngtheirnpor-
requirements.¡re critically
imponanr to thesuccess of anyproieft.Theyare.te_chnical tantclasses
andclass ¡elationshjps
in thearchitecture
risksthat,ri not
adüessed, cen makeor breaka.syste$¡or examiie.i?'i*reirjri'¿¡sptavs
corectlybutit doessoin thirtyminutes instead of a morereasonable thúty ProcessView
seconds, the functional requirement is metbut the syst€mis not usable
because it doesnotmeettheusef's perfomance expectation. If a hacker is
Theproless 9r.plolelq.ilchilcc!-ur,e,
view, theviewofthea¡chi-
describes
th3tjnll.vdes
teciure running proceFsesandlnslantiated thateristin
obiects
ableto retlievecreditcardinformation for the businesses customers, for jmpoftant
the¡ystem.it describes concurrency issues
andsynch¡onization
example. thefutufeof thecompany naybein ieopardy.
Nonfunctional requirementsarenotonlywithintheiurisdiction oftheproi-
ectunderdevelopment Thequality atttibutes ofa system aresupported at the DevelopmentI'lew
enterprise level.Typically,
the¡eljability, availability,p€rformance, andother Thedevelopment viewfocuses
architectule onthemodule organization
quality
attributes aresupported bytheplatform onwhich theproiect isdeployed. ofthesoftware.
lt showshowclasses intopackages,
ateotganized andit out-
!inésthédependencies
between packagesofsoftwa¡eThisis theviewof the
OncethequalityattÍibutes
ofthesystem
havebeencharacterized
howdoyou designthatshowsthelayeredstructures andwhattherespon'
o[thesoftware
Architecturaldocument
howtheywillbefulfilled?Creatingthesoftware
arch¡tectureofa
sys- ofeach
sibilities in thesystem
laye¡ are.
Viewpoints temcanbea largeendeavor,
depending
onthesizeandcomplexity
of thesys-
tem.Thesoftware architectureshouldbepa¡titioned intomultipleviewsso
thatit is moreunderstandable. Whenwedesc¡ibe anyentity*beit anarchj- PhyslcalVlew
tecture,a pfocess, oranobject-the¡e aremanydiffefent perspectivesorview- ThephysicaLviewdescribes
themachines andhow
thatIunthesollware
pointsto describe. Forexample. ifyouweretodescribe anorange to sorneone, componenls, andprocesses
objects, atedeployedontothosemachinesand
would youtalkabout itscolorweight, sweetness,
skinthickness, orsome other thcirconfigur¡tio¡rs seeFigl¡re
at fun-time, 2-2
attribute ol theoranBe? lhe a[ributes thatyouwouldchoose to describe
lvoulddepend on therole theneedsandtheperspective of thepefsonto
whornyouaredescribing theorangelf thepercon is a pu¡chaserata gtocery
store,thepufchaserwould bemoteinterestedinthecoloroftheoranCe sothat The+ I inthe4+I viewmodel desc¡ibesthesce¡ariosth¡l thearchitec-
customers wouldbuytheorange. A consumer
oforanges wouldbemoreinter- tureis meant Thescenalios
to satisfy representtheimportantrequirements
estedin thetasteof theorange thanthecolor.A chemist thatis consjdefing thatthesystem mustsatisfyThescenariosth¡tatechos€naf|'thosc th,rt¡rc
AProcllcol
Guldo usingoranges ina cleaningsolutlon product
lvouldbeinterested jn thechem" themostimportant to solvebecausetheyaleeithelthemosllrequently cxe'
lo Edsns0 ¡calpropenies of oranCesthatcouldbe applied or theyposesometechnical riskor unknolvnthatntustbeplolel)out
to cleaning solutions.The cuted Archileclure
Archileclurepointis thateyery Sollwofe
stakeholderin orangeshasa dilferentneedanda diiferent bythearchilecture Theotherfourvietvs
baseline. on thesetol
arecenterL'.i
5ó pefspective. andth!stheorange mustbedescribed to themin differentwavs scenarios thafarechosen forthecreationofthearahttectufe ti
Rír. r-2 ModuleVlow
ThemoqlJLeJe-w.-ol'igjlwgrgef
chiteclu
re.rhatry$.
bgw.the ofthe
elements.
sgf.!wpI,9,,9R$e9ffdiq¡9.&Cd$E
S0,$ubsystems. The
moduIe architecture
viewshowshowthesystemwillbepanitionedintoseparate
run-time
com-
ponents.
Some ofthequestions
thatareansweredbythisview
areasfollows

Howis thep¡oduct
mapped platform?
to thesoftware
-t:
, Wiatsystem
supporlseNices
doesit useandwhere?
Howcantestingbesupported?
4. Howcandependencies
between
modules
beminimized?
). llowcanrcuse
of modules
andsubsystems
bemaximi¿ed?
Krulchen.
P Tfu4 + I Vi¡¡'M0d¿10/
A¡(újl¿rl¡rr¿.
|EEESoftwarcpp.42_10.
November
t995. canbe usedto insulatethe productffom
ó. what techniques
changes
inthird"party
softwafe
changes platform.
inthesoftware
,\r .h:hdF < r ^ . rá ñ d ¡r¡l (l
Applied
Softvvare
Architecture
Viewpoints
The4+I viewmodelisonlyon€ ofseveral
suggest
ionsfortheviewpoints ExecutlonVlew
.
thatshouldbeincluded in softwarearchltecture Nord,andSon¡ Theexecution viewof software architecture
showsholvmodules are
(1999)_propose .H9Jr¡giSte¡,
a different
setof viewpoin$. Thisviewshows
of the.syste0r therun.time entr-
thel¡ardware
Tgp.!e-d-grtlo
tieSándtheirattributes andhowtheseentitiesareassigned
to machines and
ConceptualArchlt€cture Vlew networks.lt shows thememory processor
usage, usage,
andnetwork usage
expectat¡ons.This-vjs{.ihg}yrüeflowof confrolbetween
hardware systems
Theconceptualarchitecture viewis similartothlhglqO,L,v,iew
in the¿+t thal gxgcule-the software of the systemSomequestions that thrsvrew
view.model.However, theco¡ceptual architecture
viil ü moieconceptual ,,'*;;ih;i;iiild " '
andbroader ¡n scope.lt tatesintoaccount existingsoftware andhardware
integration
issuesThisvrewrsclosely tiedto.theappl¡cation domain, The l. Howdoesthesystem meetitspe ormance, recovery,
andrecon-
runcoona tyot thesystem is mapped to architectural
elements calledcolrap- liguration
requirements?
lüalJoüpo¡?filr.
Theseconceptual components arenot mapped directlyto
hardware,buttheyaremapped to a function 2, Howis resoürce
usagebalanced?
thatthesystem performs. íhis
viewprovidesanoverview ofthesoftware architecture.It
¡sjhefjrstplacethat 3. Howareconcuffency,
replication,
anddistribution inthe
handled
peoplewillgoto findouthowthesystem doeswhatlt is supposed io do,The system?
concernsaddressed intheconceptual viewinclude thefollowing 4, Hov canthe ¡mpact of changes platform
i¡ the run-time be
rninimized?
l. Howdoesthesystem
fulfilltherequ¡rements?
2. Howafethecommercial off,the-shelf
(COTS) comoonentsto be Code Vle$
integrated.andhowdorheyinte¡act
{ata function¿l
level)
with
therestof thesystem? Thecodeviewshowshowthesource codeandconfiguration areorgan-
i¿edintop¿ckages, package
including dependencies.It alsoshowshowthe
3. Howaredomain-specific
hardwareand/ofsoftware
incorporatecl po(ions
executable of thesystemaiebuiltfromthesource ¡nd.onl¡f]'
c,.de
intothesystem? urationThisviewanswefs quesiions,
thelollowing
4.. Howis functionality
partitioned
intop¡oduct
releases?
), Howdoe;thesystem
incorporate
portions
ofpriotgenerations
of t. Howarethebu¡lds
donc? Howlongdothejtake?
thepfoduct,
andhowwillit supportfuturegenerat¡ons? 2. Howafeversions
andreleases
managed?
APrcclicol
culde ó. How areproduct
linessupported? whattoolsareneeded
to support ¿ndconfigu-
thedevelopment
lo Enlerprise Ho[,cantheimpactof changes rationmanagement
environments?
in thetequitements
domainbe
Archileclure minimi¿ed? 4. Howareintegration Sollwore
Archileclure
andtesting
supported?
5S 5
Howimportant¡s¡ttodefineyourarchitecture
usingoneofthese
standard PiDesn¡d Anyone
filters. whois familiarwithIJNIX systems wrll
setsof vlews?
Theanswer viewsarepresenied
is:notat all.These hereto give rlffirl¡]iTrc¡iieaulal patternThepipe¿ndfrltelp¿ttern
youanideaofthekindsofquest¡ons thatneedto beansweredwhenyoudefine allowsa system to beassembled fromsmallprograms called/ii-
yoursoftware
architecture. l¿r5.A filterhasaninputandanoutput.Thefiltersareassembled
intoa chainin whicheachfiltergetsdatafromthep¡evious filtef
in thechain.processes thedata,andpasses thedatato thenext
1999) bookto get filterin thechain. Thebestexample of a pipeandiiltersystem is
forthekindsofthingsto keepinmind,buteveryproiectandevery organlzalion a compilef. Thelexical syntax
analysis, semantic
analysis. analy-
Thebestwayto develop
aredifferent. soundsoftware is to have
architectures sis,intermediate codegeneration,andoptimization occurin a
thebestsoftware architeclsanddevelopers.
People whounderstand theintri- pipeandfilterstylechain.
caciesof thetechnology, processes.
andpol¡ticsofyouror€anizationandwho 4. l14yers,A layeledsystem is onein lvhichdjfferentlayelsof the
canapplysomeof thefundamental conceptsoutlinedin thischapterwillsuc- system takecareofa specificfunctionoi thesystem Eachlayer
ceedincfeating thebestpossible software
architectures.
Ifthemethod forcap- in a Iayered styleis a package
architectural of softwarethathasa
tur¡ngthearchitecture is completely
ad-hocor loosely basedon theabove well-defined anda fewwell-known
interface dependencies with
methods, thatis fine Again,themostimportant issueis thattheimportant otherlayers Each implements
layer onetechnicailunction within
questions getanswered andthateveryoneknows whatthea¡swers aie.what theapplication. Forexample, a dataaccess layeris respo¡s¡ble
is notimportant istheparticularformat
of styleoftheanswers forencapsulating thetechnical means loraccessine a datab¿sc
Aildataaccess to a database
requests gcthloughthedataaccess
Whatisthedifference
between
anarchitectural pallem
style,anarchitectural Thedataaccess layethastheresponsibil'
I anda system
Architectura layer foIthatdatabasc.
metaphor? Theanswer isnotmuch.
Anarchitecturalstyle(Bass ityof hidingthedataacccss mechanism itornupst¡ea¡I layerslll
Styles, et al.1997)
andanarchitecturalpattern
(Buschmann et al.199ó)
aree5sen- a closed a layermayonlyaccess
layersystem, adiacent layelsln
Patterntand tiallysynonymous.A system melapho¡.iÉ€imilar.but.no¡e.conceptu¿l
than an openlayersystem, layersmayaccess an'/othellayerirl the
an patlernor anarchitecturAl_style,
ar,chitecture and it relatesmqre
to a real-
Metaphors system, notiusttheonesto which theyaleadiacent
wo¡ldconcept thanto a softwareengineedng concept style
Anafchitectural
andanarchitectural patternaresimilarto a designpatternin thattheyboth Many otherpopular patterns
architectural areusedto provide a concep-
describea solution to a problemin a particular
context.T¡eonlydilference iualbasisforso[tware Anapplication
architectule canuseoneor morearchi'
is thegranularityatwhichtheydescribe thesolution.lna designpattern,
the pattems
tectuíal in itsdevelopment Differentsubsystems canbebuiltusi¡g
solution finegrained
is relatively andis depicted at thelevelof language differentpatterns.Also,themethods forcompone¡t interactlon canfollov
classes.In an architecturalpatternthesolution is coafsergraineda¡d is onepatternwhiletheinternal implementations of thecomponents could
described at thelevelofsubsystems or modulesandtheirrelationships and pattern
usea diffe¡ent
collabo¡ations.Eachsubsystem or modulewithinan aÍchitectural pattern Architecturalpatterns aremeant folsoftware people to useandundel-
consistsof manylanguage classes
thataredesig¡ed using designpatterns. stand.Onemuststudy thepattern
andundelstand theconcept N,IVCo¡pipes
Everysystemneedsa central,organizing conceptThe conceptual andliltershavelittleo¡nobasis in Ieallife.Thedifierence between anarchi-
integrity
of thesystem
dependsonhowstfongthisorganizing
concept is for pattern
tectural anda system metaphol is thata system metaphof rsundel'
thesystemSowhatis an organizing
concept? Someexamples of architec- standable by soltware peopleand customers alike.For example. a
tu¡alstylesandpatte¡ns
(Buschmann
et al. 199ó)
include
thefollowing, publish'subscribe pattern isalsoa system metaphor Ina publish-subscribe
system.a publisher provides thedatalikea nervspaper publjsher or á bo.lk
l. Model-View-Controller patternTheI\¡VC publisher Eachnewspape¡ articleor bookrelates to a particular toplc
{MVC)architecture
stylei5a popular
architectural organizrng
co¡ceptforsysterns. consumers subscribe tova!ioustopicsWhen a ntagazine artialeora booki¡
Themodel¡ep¡esents theviewrep¡esents
thedataforthesystem, whichsuscribers areinterested comes out theybuytheboolor nl¡g¡¿]¡f
lhewaythedalaafcp¡esentcd to thc!ser,andthecontrollcr Asyoucanim¡gine,
artiale syste¡¡metaphots ¿rcnolalw¡!sl'lllc Nl¡R¡ilrr.
subsctibers
subscribe totheentiremagazine, notiusl¿rliclcs \ lthi¡lhenl,ld
handles
thelogicforthesystem
azineln addition,consumels don't subscribe to books, they purchase them
Thepublish-subscribe
2. PubliSh-subscibe. pattern
architecture is A systemmetaphor usually outwith"The
starts syster¡ isdesi€ned llkea
a systemin whicha publisher publishesdataon a bus conrellom
Manyproducts in sofhvare
and concepts developmeft
Subscribels
subsc¡ibeto portions
ofthedatathata¡epublished
AProcl¡col
Gu¡de metaphors area lewexamples:
Following
bypublishers
onthebus.Theyfegister topicswhena
forvarious
loE orplse messageappearson thebusthatmatches thetopicin whicha
Archilecluro . Library Afchileclure
Sollwore
sub,scribef
isinterested.
thebusnotifies
thesubscriberThesub.
óo canthenreadthemessaÉe
scribe¡ ÍÍomthebus. . Sta.k ót
Oueue
Desktop
ACCOUnt
Directory
window
Scheduler
Dispatcher
Service-0riented
A system
sense
canhavemanymetaphors.
withinthesystem to maintain
butthe metaphors
jtsconceptual
haveto make
Forexample
rnteglily. Architecture
windowshasa desktoo
Microsoft thal contains windows.wouldit have
beenbetterforwindows to beplaced ona wall?Are windowsmea¡tto move
aroundonthewall?Bycombining multiplemetaphors, someaspects of the
metaphorcmustbe forgotten andothermustbe emphasized. with time,
the systemjtselfcanbecome a metaphor.we no longerthinkaboutthe
windows desktop to a physical
relating desktop to an
or a windowrelating
actualwindow.Productscanbecome metaphofs FoIexample,
in themselves.
a newsysLem couldsaythattheuserintefaceis likethewindows desktop.

software
*henit comeE.rq.cre4lingsoltvlerg.aqhitectl¡te
ConclusionIlgJSJLlg.0egf
architecture whatis important
captures aboutthedesig4.and
commu¡icates |(\erv¡ce-Oriented architecture(SOA) is anarchrtecturalstyleth¿tform¿lly
cgtrcgpt$
tl-o.-s.-e- on theproieclEnterprlse
to the.stakeholders architecture¡s Dseparatessewices, whicharethefunctionality thata system canprovrde.
in manywaysa productof thecombined of thesys'
alchitectures
softwafe f¡omservice consumers, whlcharesystems thatneedthatfunctionality. Th¡s
temsin theorganization. it i9jmpQrta¡t.
Therefore. te 8etthearchitecture separation is accomplished bya mechanism knownasa r¿¡r¡¿¿conlfa¿I,
cou-
rightTobecredible, thearchitecture
should readable,
bethin,approachable, pledwitha mechanism forprovidersto publishconkacts andconsumers to
andund-erstandable. withanintense focusonthearchitecturebaseline and locatethe coniracts thatprovidetheservice thattheydesireRather than
a qualityattribute,based of thesoftware
analysis asit is being
architecture coupling theconsumer lviththeseruicein temsoftechnical aspects of invok-
willsuittheneeds
thatthearchitecture
buih.it is likely oftheploiect. ingtheservice, SOAseparates thecontract fromtheccmponent or imple-
4,welookat software
ln Chapter productlines.Software
productljnes mentation ofthatcontract.ThisseDaratio¡ oroduces a¡ a.chitectureinwhich
willallowan
organization great
to leverage architectu
reacross p¡oi'
multiple thecoup!ing between theconsumer oftheservice andthemodules thatpro-
ectsthat Using
havesimilarcharacteristics. greatarchitecture
anda product- ducetheworkis extremely looseandeasilyreconfi€ured.
lineapproachto deliveringil, anorganization
canachieve greatenterprise ln a preceding chapter, Syst€msArchitecture, wediscussed integrati¡g
architeciure. legacy andclienvserver applicationsbyencapsul¿ting theirfunctionalityin
obiects andpublishing thatobiect's inteÍface.Thatis iustthefirststepin
thÉpilcess. Thi5chapter explolesthenextstep,integrating functionality
intoanSOA.
SOAshouldnotbeequated withwebsewices webservices area real'
ization of SOA, buiSOAirnplementations canairdhavebeenc¡eated that
haverrothing to dowithwebservices

SOAcanbeof enormous benefitto the modern enterDrise


lt Drovldesan
imporlanl¡ewavenue [orintegrationof appli.ations ncw¡ppl¡.¡- Eenefits
C¡eatints of an
tionsunderanSOAoffers a slgnificant
increase of availabil-s0A
in thequalitjes
maintainability,
ity,interopefability, andreliabilitylo¡those
apFrlications
Fot
AProclicol
Gulde asa whole,
theenterpfise theSOAtranslates inlolo$/er
ope¡atLng costs
lo Enloryrise lolver costshigher
development quality, andgreatercorporat.
agility
Ar¡hilecluie
61
63