Frameworks Component Based
Frameworks Component Based maintains synchrony between the states of components of view and your server-side data model.
When the user interacts with the screen, the changes made are, at a given moment, reflected in the model that is on the server.
In JSF, for example, the "screen" is generated by a facelet, that is nothing more than an XML that defines which components will be displayed to the user and associate the values of these components to an object (Java Bean) which is on the server. These components are then rendered in HTML, and when the user executes an action, the JSF updates the objects on the server.
I couldn’t find a proper visual representation, but something close to one Caelum’s article on the subject:
In frameworks Component based, to view is responsible for mapping values to Beans and to the template. The image above illustrates the order of calls:
- The user executes an action in the system
- The front controller update the components of the view with the current state
- The method of Managed Bean is called (using JSF as an example), and can execute some business rule with the new values
- Finally, the system model is updated
Frameworks Action Based
Already the frameworks Action Based does not necessarily maintain this link between server and client states.
This does not mean that the developer cannot store status on the server, for example, in the user’s session, but that the link between the model and the view is not as coupled as in the model Component Based.
A framework Action Based will usually directly receive HTTP requests. This makes the template action based more flexible, since the developer can opt for any type of view that generates a compatible HTTP request.
Consider the following illustration (from the same previous source):
The summary of the implementation steps is:
- The user executes an action in the system
- The front controller of the framework directs the request and parameters to a controller
- The controller reads the required parameters and executes business rules that update the model
- The controller "returns" a view for the user
Completion
We can say that the frameworks Component based are more focused on views (with its components that map the model and user data), while the action based are more focused on controllers (which receive parameters via request).
Examples of frameworks are already in the answer quoted in the question.
I suggest you get to the bottom of it at that link.&#He was even quoted in this answer that you put as the basis. But he details very well what each one does, then talks about their advantages, disadvantages and differences.
– Guilherme Louro