0% found this document useful (0 votes)
31 views

Architectural Styles

The document discusses software architecture styles. It categorizes styles and describes hierarchical and layered architectures. Hierarchical architectures view the system as a hierarchy structure with modules at different levels connected through method invocations. Layered architectures organize systems into layers with each layer providing services to the layer above and acting as a client to the layer below.

Uploaded by

haroon rao
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views

Architectural Styles

The document discusses software architecture styles. It categorizes styles and describes hierarchical and layered architectures. Hierarchical architectures view the system as a hierarchy structure with modules at different levels connected through method invocations. Layered architectures organize systems into layers with each layer providing services to the layer above and acting as a client to the layer below.

Uploaded by

haroon rao
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 26

SoftwareDesign and Architecture

Outline

•Intr odu ctio nto archite cturals tyles


•Catego rizationsof archite cturals tyles
•Hierar chicalarchite ctur es
• LayeredArc hitec ture
ArchitecturalStyles

•An archite ctur e style (als o known as an


“archite ctur e pattern”) abstra cts the co m m on
propertiesof a family of similardesigns.

•Definea familyof syst emsin terms of a pattern of


its structuralorganization.
Co mponents of a style
The key c o mponentsof an arc hite cturestyle are :
• Ele me nts / c o mponents
• thatpe rfor mfunc tionsre quire dby a syste m
• Connec t ors
• thatenablec o mmunication,c o ordinati on,and c o ope rati onamong
ele ments
• Constraints
• thatde finehow ele mentscan be inte grate dto form the syste m
• Attributes
• thatde s cribethe advantagesand disadvanta ge sof the chose n
struc ture
Categoriesof ArchitecturalStyles
• Eve ntBase dSoftware
• Hi erarc halSoftware Archite c ture
Archite c ture
• Layere d • DataCente redSoftware
Archite c ture
• Dis tributedSoftware • Blackboard
Archite c ture
• Share dReposi tory
• ClientSe rver
• SOA • Interac tion-Orie nted
SoftwareArchite c tures
• Data Flow Software • ModelViewContro ller
Archite c ture
• Pipen Filter • Co mponent-Bas edSoftware
Archite c ture
• BatchSe que ntial
HierarchalSoftwareArchitecture
HierarchalStyle

•The hierarchical software archite ctur e is


chara cterizedby viewing the entire syst em as a
hierarchystructure.

•The software syst em is dec ompo s edinto lo gical


m odules (subsyst ems)at differ ent levels in the
hierarchy.
HierarchalStyle

•Modules at different levels are connected by


explicitor implicitm etho dinvocations.
• a lower-leve lmodule pr ovidesse rvic e sto its adjace nt
uppe r-leve lmodule s, which invokes the me thods or
pr oce dure sin the lowerlevel.
HierarchalStyle

•System software is typicall ydesignedusing the hierarchical


archite ctur estyle;
• examplesincludeMicr os oft.NE T, Unix ope ratingsyste m,TCP/ IP,
etc.
HierarchalStyle
•Lower levels provide m ore specifi c functionality down to
fundam entalutilitys ervic es
• suc has I / Ose rvice s,trans actio n,s c hed ulin g,and se curityse rvice s,etc.

•Middl e lay ers, in an appli cations etting, provide m ore do main-


dependentfunctions
• suc has busin es slo gic or co re proc e ssingse rvice s.

•Upper lay ers provide m ore abstra ct functionalityin the form of


us er interface s
• suc h as co mman dlin e interp rete rs ,G UIs , She ll pro gram mingfacilities ,
etc.
Layered Architecture
Layered Style

•Organiz edhierarchicallyinto layers.

•Ea ch layer provid esservice to the layer above it


and servesas a clientto the layerbel ow.

•The connectorsare define dby the proto colsthat


determ inehow the layerswill interact.
A generic LayeredArchitecture
A partiallayeredarchitectureexample
Specializations

•Oft en exceptions are made to perm it non-


adjac entlayersto co m municatedire ctly.
• This is us uallydone for efficiencyre as ons .
Example:

•Librarysyste m
•All owscontroll edele ctroni caccessto copyri ght
materialfrom a group of unive rsitylibraries.
•Bott om lay erbein gthe individualdatabas ein each
library.

•Co mponents?
•Co mpon ents:
• UI
• Authe ntic ationand for ms
• Searc hengine
• Doc umentre trieval
• Ri ght smanager
• Ac c ountsmanage ment
• database s
Example:Library Syste m

• Ref: Software En gi nee ring - Sommervil le


Applicabledomains of layered
architecture:
•Any syst em that can be divided between the
application-sp ecific portion s and platf orm-
spe cific portions which provid e gen eric services
to the applicationof the syst em.
Applicabledomains of layered
architecture:
•Applicationsthat have clean divisio ns between
core services, critical services, user interfac e
services,etc.

•Applicationsthat have a num ber of class es that


are clos elyrelat edto each other so that they can
be gr oup ed together into a package to provid e
the servicesto others.
Benefits:

•In crem ental software developm ent bas ed on


increasin glevels of abstra ction.

•Enhancedindep enden ceof upper layer to lower


layer since there is no impa ctfro m the changes of
lower layer services as long as their interfac es
remainunchan ged.
Benefits:

•Enhanced flexibility: interchan geabil ity and


reusabilityare enhanc eddue to the separationof
the standardinterfac eand its imple m entation.
Benefits:

•Co mpon ent-bas ed techno logy is a suitable


techno logy to imple m ent layer ed archite ctur e;
this makes it much easie r for the syst em to allow
for plu g-and-playof new co mpon ents.

•Pro m otion of portability: each layer can be an


abstra ctmachinedeploye dindep endently.
Limitations:

•Lower runtim e perf or mance since a client's


requ estor a respons eto a clientmust go through
poten tiallyseverallayers.

•There are als o perf or manceconcernsof overhead


on the data pro cessing and buff ering by each
layer.
•Many appli cationscannotfit this archite cturedesi gn.

•Breach of interlaye r co mm unication may caus e


deadl ocks,and “bridging” may caus e tight coupling.

•Exceptio ns and error handling are issues in the


lay ered archite cture,sinc e faults in one lay er must
propagateupwardto all callinglay ers.
Summary

•Intr odu ctio nto archite cturals tyles


•Catego rizationsof archite cturals tyles
•Hierar chicalarchite ctur es
• LayeredArc hitec ture

You might also like