Information Flow
When the user requests a page containing DOUI interfaces, a concise sequence of operations occurs:
- The user requests the page from the LumisXP Server (Front controller);
- The LumisXP Server, as it is a page request, delegates processing to the PresentationController, responsible for rendering portal pages;
- The PresentationController determines which interfaces and respective services make up the requested page and requests the ServiceContainer to render each interface;
- The ServiceContainer identifies that these are DOUI interfaces and requests the DouiServiceInterface class to render the interface;
- The class
DouiServiceInterface
executes the lifecycle of a DOUI interface, namely:In the process action:
- The sources, controls, and process actions are instantiated;
- The controls restore their state, reading from the Request or populated by the sources. Controls may inject parameters into the sources to, for example, serve as filters;
- The controls inject their values as parameters into the process actions;
- The process actions and their respective process action handlers are executed, optionally returning rendering parameters.
In the render (rendering) process:
- The sources and controls are instantiated;
- The controls restore their state, reading from the Request or populated by the sources. Controls may inject parameters into the sources to, for example, serve as filters;
- The controls update the XML of the interface with their values;
- The PresentationController uses the XSL of the interface to transform the XML into HTML;
- The PresentationController returns the HTML to the user's browser.
The figure below summarizes the information flow of the DOUI framework: