Chapter7:ArchitecturalImplications
Inthischapter,IwillbrieflyconsiderhowthePalimpsestmodelcanbeusedtocreatean
effectivecollaborationarchitecture.Thischapterproposesanarchitecturetotakeadvantage
ofthefacilitiesprovidedbyPalimpsest.Thefundamentalconcernsare:
Globalarchitecture.Palimpsestlendsitselftouseinarchitecturesthatsupporthighly
abstractedinterfacestosystemfacilities.Ingreatpart,thisisduetothede-couplingof
communicationanddistributionissuesfromthemanagementofconsistency.Totakefull
advantageofPalimpsest’srelaxedsynchronizationrequirements,alooselycoupledarchi-
tectureisneeded.
Applicationinterfaceandperformanceissues.Forapplicationdevelopers,thestructureof
thesoftwareinterfaceanditsinteractiveperformanceareamongthemostcriticalissues.
TheadvantagesofaPalimpsest-basedarchitecturemustnotcomeattoohighapricefor
theapplicationprogrammer.Thismeansthatthecomplexityofthemodelmustbehid-
denbehindasimple,convenientinterface.
Communicationissues.Inallcollaborativeapplicationscommunicationisobviouslya
criticalfactor.Muchofthemotivationforthisapproachistheobservationthatmuch
humancollaborationinvolvesadhocandopportunisticschedulingandcontrolofthe
workprocess.Similarly,humancommunicationchannelsarealsochosenopportunisti-
cally.Acollaborationarchitectureshouldbeabletoeasilyaccommodateawidevariety
ofcommunicationchannels,withwidelyvaryingpoliciesandresponsecharacteristics.
7.1 Aframeworkarchitecture
AglobalarchitectureforPalimpsestapplicationsisshowninFigure7.1.Thisshowstwo
kindsofinteractions.Solidarrowsindicatechannelsalongwhichchangeeventsaredis-
patched.Anyeditingoperationthatanapplicationwishestoreflecttothedatamodelisan
138
eventthatpassesfromtheapplicationtothelocalstore.Thepolicymanagerisresponsible
foracceptingeventsfromwhatevernetworkconnectionsareavailable,andstoringthemin
thelocalstore.Changeeventsfromothercollaboratinginstancesoftheapplicationaredis-
patchedindirectlyviathepolicymanager.Thisnotonlyhidesdatastructuremaintenance,
butitencapsulatestheimplementationofupdatepoliciesinasingleplace.Thegrayarrows
representcontroloperationsfromtheapplicationtoselectpolicyoptionsorrequestapar-
ticularlevelofactivity.

Policy ManagerNetwork
Application
Local Store
F F F F iii ig g g gu u u ur r r re e e e 7777....1111:::: GGGGlllloooobbbbaaaallll AAAArrrrcccchhhhiiiitttteeeeccccttttuuuurrrreeee ffffoooorrrr PPPPaaaalllliiiimmmmppppsssseeeesssstttt aaaapppppppplllliiiiccccaaaattttiiiioooonnnnssss
ThisentirearchitectureisessentiallyseveralcomposedinstancesoftheObserverpattern
(Gamma,Helmetal.1995).Observerisawayofmodularizingupdatestostateinformation
bypassingthoseupdatestootherpartsofthesystemthatwouldbeaffectedbytheupdates.
Palimpsest’sdirectmanipulationofchangesmakesthispatternparticularlyusefulinthis
situation.ThepolicymanagercanalsobeseenasanapplicationoftheMediatorpattern,
Previous Page Next Page