Introduction
As you know ADF Faces is implemented on top of the JSF framework. In other words, ADF Faces leveraged the extensibility options offered by JSF to add more features, keeping the basic architecture in aligned with that of the JSF framework. A key area where ADF Faces excels over other JSF based frameworks is the controller layer. The JSF navigation controller provides a basic navigation model for a web application and is very flexible by design. However it lacks certain functionalities such as reuse of pages, hooks for placing page initialization logic, page fragmenting, and modular development. The ADF Controller is designed to overcome these drawbacks. Let's give a glance at the features offered by the JSF controller before digging in to the details of the ADF Controller.