Tuesday, 31 July 2012




A web request for http://serverName/appname/faces/some.jspx arrives from the client to the application server.

The ADFBindingFilter object looks for the ADF binding context in the HTTP session, and if it is not yet present, initializes it for the first time. Some of the functions of the ADFBindingFilter include finding the name of the binding context metadata file, and finding and constructing an instance of each data control

The ADFBindingFilter object invokes the beginRequest() method on each data control participating in the request. This method gives the data control a notification at the start of every request so that it can perform any necessary setup.


The JSF Lifecycle object, which is responsible for orchestrating the standard processing phases of each request, notifies the ADFPhaseListener class during each phase of the lifecycle, so that it can perform custom processing to coordinate the JSF lifecycle with the ADF Model data binding layer. For more information about the details of the JSF and ADF page lifecycle phases.
The FacesServlet class (in javax.faces.webapp), configured in the web.xml file of a JSF application, is responsible for initially creating the JSF Lifecycle class (in javax.faces.lifecycle) to handle each request. However, since it is the Lifecycle class that does all the interesting work, the FacesServlet class is not shown in the diagram.



The ADFPhaseListener object creates an ADF PageLifecycle object to handle each request and delegates appropriate before and after phase methods to corresponding methods in the ADF PageLifecycle class. If the appropriate binding container for the page has never been used before during the user's session, it is created.cr


eated.
Source :Oracle developer's guide


    The first time an application module data control is referenced during the request, it acquires an instance of the application module from the application module pool.      

    The JSF Lifecycle object forwards control to the page to be rendered.
                      

    The UI components on the page access value bindings and iterator bindings in the page's binding container and render the formatted output to appear in the browser.

    The ADFBindingFilter object invokes the endRequest() method on each data control participating in the request. This method gives a data control notification at the end of every request, so that they can perform any necessary resource cleanup.

    An application module data control uses the endRequest notification to release the instance of the application module back to the application module pool.


    The user sees the resulting page in the browser.






    0 comments:

    Post a Comment