软件体系结构英文版aaaa文档格式.docx

上传人:b****3 文档编号:16757542 上传时间:2022-11-25 格式:DOCX 页数:78 大小:164.36KB
下载 相关 举报
软件体系结构英文版aaaa文档格式.docx_第1页
第1页 / 共78页
软件体系结构英文版aaaa文档格式.docx_第2页
第2页 / 共78页
软件体系结构英文版aaaa文档格式.docx_第3页
第3页 / 共78页
软件体系结构英文版aaaa文档格式.docx_第4页
第4页 / 共78页
软件体系结构英文版aaaa文档格式.docx_第5页
第5页 / 共78页
点击查看更多>>
下载资源
资源描述

软件体系结构英文版aaaa文档格式.docx

《软件体系结构英文版aaaa文档格式.docx》由会员分享,可在线阅读,更多相关《软件体系结构英文版aaaa文档格式.docx(78页珍藏版)》请在冰豆网上搜索。

软件体系结构英文版aaaa文档格式.docx

?

--CityGent#1(MichaelPalin),TheArchitectsSketch[111]

AspredictedbyPerryandWolf[105],softwarearchitecturehasbeenafocalpointforsoftwareengineeringresearchinthe1990s.Thecomplexityofmodernsoftwaresystemshavenecessitatedagreateremphasisoncomponentizedsystems,wheretheimplementationispartitionedintoindependentcomponentsthatcommunicatetoperformadesiredtask.Softwarearchitectureresearchinvestigatesmethodsfordetermininghowbesttopartitionasystem,howcomponentsidentifyandcommunicatewitheachother,howinformationiscommunicated,howelementsofasystemcanevolveindependently,andhowalloftheabovecanbedescribedusingformalandinformalnotations.

Agoodarchitectureisnotcreatedinavacuum.Alldesigndecisionsatthearchitecturallevelshouldbemadewithinthecontextofthefunctional,behavioral,andsocialrequirementsofthesystembeingdesigned,whichisaprinciplethatappliesequallytobothsoftwarearchitectureandthetraditionalfieldofbuildingarchitecture.Theguidelinethat"

formfollowsfunction"

comesfromhundredsofyearsofexperiencewithfailedbuildingprojects,butisoftenignoredbysoftwarepractitioners.ThefunnybitwithintheMontyPythonsketch,citedabove,istheabsurdnotionthatanarchitect,whenfacedwiththegoalofdesigninganurbanblockofflats(apartments),wouldpresentabuildingdesignwithallthecomponentsofamodernslaughterhouse.Itmightverywellbethebestslaughterhousedesigneverconceived,butthatwouldbeoflittlecomforttotheprospectivetenantsastheyarewhiskedalonghallwayscontainingrotatingknives.

ThehyperboleofTheArchitectsSketchmayseemridiculous,butconsiderhowoftenweseesoftwareprojectsbeginwithadoptionofthelatestfadinarchitecturaldesign,andonlylaterdiscoverwhetherornotthesystemrequirementscallforsuchanarchitecture.Design-by-buzzwordisacommonoccurrence.Atleastsomeofthisbehaviorwithinthesoftwareindustryisduetoalackofunderstandingofwhyagivensetofarchitecturalconstraintsisuseful.Inotherwords,thereasoningbehindgoodsoftwarearchitecturesisnotapparenttodesignerswhenthosearchitecturesareselectedforreuse.

Thisdissertationexploresajunctiononthefrontiersoftworesearchdisciplinesincomputerscience:

softwareandnetworking.Softwareresearchhaslongbeenconcernedwiththecategorizationofsoftwaredesignsandthedevelopmentofdesignmethodologies,buthasrarelybeenabletoobjectivelyevaluatetheimpactofvariousdesignchoicesonsystembehavior.Networkingresearch,incontrast,isfocusedonthedetailsofgenericcommunicationbehaviorbetweensystemsandimprovingtheperformanceofparticularcommunicationtechniques,oftenignoringthefactthatchangingtheinteractionstyleofanapplicationcanhavemoreimpactonperformancethanthecommunicationprotocolsusedforthatinteraction.Myworkismotivatedbythedesiretounderstandandevaluatethearchitecturaldesignofnetwork-basedapplicationsoftwarethroughprincipleduseofarchitecturalconstraints,therebyobtainingthefunctional,performance,andsocialpropertiesdesiredofanarchitecture.Whengivenaname,acoordinatedsetofarchitecturalconstraintsbecomesanarchitecturalstyle.

Thefirstthreechaptersofthisdissertationdefineaframeworkforunderstandingsoftwarearchitectureviaarchitecturalstyles,revealinghowstylescanbeusedtoguidethearchitecturaldesignofnetwork-basedapplicationsoftware.Commonarchitecturalstylesaresurveyedandclassifiedaccordingtothearchitecturalpropertiestheyinducewhenappliedtoanarchitecturefornetwork-basedhypermedia.ThisclassificationisusedtoidentifyasetofarchitecturalconstraintsthatcouldbeusedtoimprovethearchitectureoftheearlyWorldWideWeb.

ArchitectingtheWebrequiresanunderstandingofitsrequirements,asweshalldiscussinChapter4.TheWebisintendedtobeanInternet-scaledistributedhypermediasystem,whichmeansconsiderablymorethanjustgeographicaldispersion.TheInternetisaboutinterconnectinginformationnetworksacrossorganizationalboundaries.Suppliersofinformationservicesmustbeabletocopewiththedemandsofanarchicscalabilityandtheindependentdeploymentofsoftwarecomponents.Distributedhypermediaprovidesauniformmeansofaccessingservicesthroughtheembeddingofactioncontrolswithinthepresentationofinformationretrievedfromremotesites.AnarchitecturefortheWebmustthereforebedesignedwiththecontextofcommunicatinglarge-graindataobjectsacrosshigh-latencynetworksandmultipletrustboundaries.

Chapter5introducesandelaboratestheRepresentationalStateTransfer(REST)architecturalstylefordistributedhypermediasystems.RESTprovidesasetofarchitecturalconstraintsthat,whenappliedasawhole,emphasizesscalabilityofcomponentinteractions,generalityofinterfaces,independentdeploymentofcomponents,andintermediarycomponentstoreduceinteractionlatency,enforcesecurity,andencapsulatelegacysystems.IdescribethesoftwareengineeringprinciplesguidingRESTandtheinteractionconstraintschosentoretainthoseprinciples,contrastingthemtotheconstraintsofotherarchitecturalstyles.

Overthepastsixyears,theRESTarchitecturalstylehasbeenusedtoguidethedesignanddevelopmentofthearchitectureforthemodernWeb,aspresentedinChapter6.ThisworkwasdoneinconjunctionwithmyauthoringoftheInternetstandardsfortheHypertextTransferProtocol(HTTP)andUniformResourceIdentifiers(URI),thetwospecificationsthatdefinethegenericinterfaceusedbyallcomponentinteractionsontheWeb.

Likemostreal-worldsystems,notallcomponentsofthedeployedWebarchitectureobeyeveryconstraintpresentinitsarchitecturaldesign.RESThasbeenusedbothasameanstodefinearchitecturalimprovementsandtoidentifyarchitecturalmismatches.Mismatchesoccurwhen,duetoignoranceoroversight,asoftwareimplementationisdeployedthatviolatesthearchitecturalconstraints.Whilemismatchescannotbeavoidedingeneral,itispossibletoidentifythembeforetheybecomestandardized.SeveralmismatcheswithinthemodernWebarchitecturearesummarizedinChapter6,alongwithanalysesofwhytheyaroseandhowtheydeviatefromREST.

Insummary,thisdissertationmakesthefollowingcontributionstosoftwareresearchwithinthefieldofInformationandComputerScience:

∙aframeworkforunderstandingsoftwarearchitecturethrougharchitecturalstyles,includingaconsistentsetofterminologyfordescribingsoftwarearchitecture;

∙aclassificationofarchitecturalstylesfornetwork-basedapplicationsoftwarebythearchitecturalpropertiestheywouldinducewhenappliedtothearchitectureforadistributedhypermediasystem;

∙REST,anovelarchitecturalstylefordistributedhypermediasystems;

and,

∙applicationandevaluationoftheRESTarchitecturalstyleinthedesignanddeploymentofthearchitectureforthemodernWorldWideWeb.

CHAPTER1

SoftwareArchitecture

Inspiteoftheinterestinsoftwarearchitectureasafieldofresearch,thereislittleagreementamongresearchersastowhatexactlyshouldbeincludedinthedefinitionofarchitecture.Inmanycases,thishasledtoimportantaspectsofarchitecturaldesignbeingoverlookedbypastresearch.Thischapterdefinesaself-consistentterminologyforsoftwarearchitecturebasedonanexaminationofexistingdefinitionswithintheliteratureandmyowninsightwithrespecttonetwork-basedapplicationarchitectures.Eachdefinition,highlightedwithinaboxforeaseofreference,isfollowedbyadiscussionofhowitisderivedfrom,orcomparesto,relatedresearch.

1.1Run-timeAbstraction

softwarearchitecture 

isanabstractionoftherun-timeelementsofasoftwaresystemduringsomephaseofitsoperation.Asystemmaybecomposedofmanylevelsofabstractionandmanyphasesofoperation,eachwithitsownsoftwarearchitecture.

Attheheartofsoftwarearchitectureistheprincipleofabstraction:

hidingsomeofthedetailsofasystemthroughencapsulationinordertobetteridentifyandsustainitsproperties[117].Acomplexsystemwillcontainmanylevelsofabstraction,eachwithitsownarchitecture.Anarchitecturerepresentsanabstractionofsystembehavioratthatlevel,suchthatarchitecturalelementsaredelineatedbytheabstractinterfacestheyprovidetootherelementsatthatlevel[9].Withineachelementmaybefoundanotherarchitecture,definingthesystemofsub-elementsthatimplementthebehaviorrepresentedbytheparentelement'

sabstractinterface.Thisrecursionofarchitecturescontinuesdowntothemostbasicsystemelements:

thosethatcannotbedecomposedintolessabstractelements.

Inadditiontolevelsofarchitecture,asoftwaresystemwilloftenhavemultipleoperationalphases,suchasstart-up,initialization,normalprocessing,re-initialization,andshutdown.Eachoperationalphasehasitsownarchitecture.Forexample,aconfigurationfilewillbetreatedasadataelementduringthestart-upphase,butwon'

tbeconsideredanarchitecturalelementduringnormalprocessing,sinceatthatpointtheinformationitcontainedwillhavealreadybeendistributedthroughoutthesystem.Itmay,infact,havedefinedthenormalprocessingarchitecture.Anoveralldescriptionofasystemarchitecturemustbecapableofdescribingnotonlytheoperationalbehaviorofthesystem'

sarchitectureduringeachphase,butalsothearchitectureoftransitionsbetweenphases.

PerryandWolf[105]defineprocessingelementsas"

transformersofdata,"

whileShawetal.[11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 金融投资

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1