Component Based Frameworks
Component Based Framework maintains synchronization between the component states of the view and its server-side data model.
>
When the user interacts with the screen, the changes made are, at any given moment, reflected in the template that stays on the server.
In JSF, for example, the "screen" is generated by a facelet , which is nothing more than an XML that defines which components are displayed to the user and associate the values of those components to a object ( Java Bean ) that stays on the server. These components are then rendered in HTML and, when the user performs an action, JSF updates the objects on the server.
I did not find an adequate visual representation, but something approximate in Caelum article on the theme :
Incomponent-basedframeworks,viewisresponsibleformappingvaluestobeansandtothemodel.Theaboveimageillustratestheorderofcalls:
TheuserperformsanactiononthesystemThefrontcontrolleroftheframeworkupdatesthecomponentsoftheviewwiththecurrentstateTheManagedBeanmethodiscalled(usingJSFasanexample),andcanexecutesomebusinessrulewiththenewvalues
Finally,thesystemmodelisupdatedActionBasedFrameworks
ActionBasedframeworksdonotnecessarilymaintainthislinkbetweenserverandclientstates.
Thisisnottosaythatthedevelopercannotstorestateontheserver,forexample,intheusersession,butthatthelinkbetweenthemodelandtheviewisnotascoupledasintheComponentBased.
AnActionBasedframeworkwilloftendirectlyreceiveHTTPrequests.Thismakestheactionbasedmodelmoreflexible,asthedevelopercanoptforanykindofviewthatgeneratesacompliantHTTPrequest.
Considerthefollowingillustration(fromthesame previous source ):
Thesummaryoftheexecutionstepsis:
TheuserperformsanactiononthesystemThefrontcontrolleroftheframeworkdirectstherequestandparameterstoacontroller
controllerreadstherequiredparametersandexecutesbusinessrulesthatupdatethemodelThecontrollerreturnsaviewfortheuser
Conclusion
Wecansaythatcomponentbasedframeworksaremorefocusedonviews(withitscomponentsthatmapthemodelanduserdata)basedparametersaremorecenteredoncontrollers.
Examplesofframeworks are already in the response quoted in the question .