Tuesday, September 10, 2013

Configuring High Availability for Oracle ADF Applications - short manual

When the ADF web application runs in a clustered environment, a portion of the application's state is serialized and copied to another server or a data store at the end of each request so that the state is available to other servers in the cluster.

To make an ADF application runnable in clustered environment you should configure it properly to ensure it's state can be restored from any server in the cluster. To do this:
  1. Ensure if any object that might be replicated to another instance of the server, should be Serializable. In other words: all managed beans with a life span longer than one request (beans stored in session scope, page flow scope, and view scope) should be serializable (they should implement the java.io.Serializable interface).
  2. Don't bind ADF UI Components to Backing Beans other than request scoped because ADF UI Components are not serializable.
  3. Ensure that Oracle ADF is aware of changes to managed beans stored in ADF scopes (view scope and page flow scope) and enable the tracking of changes to ADF memory scopes.
    You can mannualy inform ADF Controller about modifications in both scopes calling markScopeDirty() method. You can also enable automatic tracking of scope modifications. To do this you should modify adf-config.xml as shown below:

  4. To enable support for ADF Business Components failover, set the jbo.dofailover parameter to true so that the application module state is saved on release. This allows Oracle ADF to restore the application module state from a snapshot saved from a previous checkin.
  5. To support automatic replication and failover for web applications within a clustered environment, WebLogic Server supports mechanisms for replicating HTTP session state across clusters. To enable this option you should also modify weblogic-application.xml file:

No comments:

Post a Comment