Oracle ADF Failover and Expected Behavior Oracle ADF Active Data Services

6-8 Oracle Fusion Middleware High Availability Guide This code is needed for any request that modifies an existing object in one of the ADF scopes. If the scope itself is modified by the scopes put, remove, or clear methods, it is not necessary to notify Oracle ADF. To enable ADF Controller to track changes to ADF memory scopes and replicate the page flow scope and view scope within the server cluster, you can enable theadf-scope-ha-support parameter in the adf-config.xml file, as described in Section 6.1.3.3, Configuring adf-config.xml. For more information about ADF object scopes, see the chapter on Fusion page lifecycle in the Oracle Fusion Middleware Fusion Developers Guide for Oracle Application Development Framework.

6.1.2.2 Oracle ADF Failover and Expected Behavior

An Oracle WebLogic cluster provides application high availability. If one member of the cluster is unavailable, any other available member of the cluster is able to handle the request. Session Failover Requirements For seamless failover of a Fusion web application, the application must meet the following conditions: ■ The application is in a cluster and at least one member of the application cluster is available to serve the request. ■ For stateful applications, state replication is configured correctly as described in Section 6.1.3, Configuring Oracle ADF for High Availability. ■ If you are using Oracle HTTP Server, the server is configured with the WebLogicCluster directive to balance among all available application instances. ■ If you are using a hardware load balancer, the load balancer is: – Routing traffic to all available instances – Configured correctly with a health monitor to mark unavailable instances – Configured to support persistence of session state Expected Behavior for Application Failover If the environment has been configured correctly, application users do not notice when an application instance in a cluster becomes unavailable. The sequence of events in an application failover is, for example, as follows: 1. A user makes a request and is routed by a hardware load balancer to instance A of the application. 2. Instance A of the application becomes unavailable because of node failure, process failure, or network failure. 3. The hardware load balancer marks instance A as unavailable. 4. The user makes a subsequent request. The request is routed to instance B. 5. Instance B is configured as a replication partner of Instance A and has the users session state. 6. The application resumes using the session state on Instance B and the user continues working without interruption. Configuring High Availability for Oracle ADF and WebCenter Applications 6-9

6.1.2.3 Oracle ADF Active Data Services

The Fusion technology stack includes the Active Data Service ADS, which allows you to bind ADF Faces components to an active data source using the ADF Model layer. In JDeveloper, you configure individual components in your JSF pages to display active data. When you configure components to use active data, data is pushed to the client whenever a change event is raised by the data source. The data is pushed from the server to the client and displayed by the browser. To support failover for pages configured to display active data, it is necessary to enable failover for the ADF Business Components application module and to enable ADF Controller to track changes to the ADF memory scopes. With these ADF settings configured, when failover occurs, the ADF server will detect the failover and request all pages configured to display active data to refresh themselves, after that ADS restarts and data is pushed to the client. For details about how to enable failover for the Fusion web application, see Section 6.1.3, Configuring Oracle ADF for High Availability. For more information about using Oracle ADF Faces components with an active data service, see the chapter on ADS in the Oracle Fusion Middleware Fusion Developers Guide for Oracle Application Development Framework.

6.1.2.4 Configuring the ADF Application Module for Oracle RAC