It’s now several weeks I attended some event about high availability (HA). But what is actually high availability? According to our friend Wikipedia, HA is based on 3 main principals:
- Elimination of Single Point of Failure (SPoF)
- Reliable crossover (with minimal or no downtime)
- Detection of failures when they arrive
If those principals are met, end users may never realize about a failure.
The aim of that blog is not to dive into too much details, but just to give you an overview and provide you entry points for further investigation.
HA can be applied to a broad range of elements of the Oracle Fusion Middleware stack like:
- Application programming with ADF
- Application server
- Identity management
- Supporting Database
Let’s see how those elements can take care of HA.
Application Programming with ADF for HA:
As easy as application development can be made easy with ADF in JDeveloper, developers still have to consider particular settings to enable the application to run smouthly in WebLogic cluster and take advantage of the HA features.
BEWARE: by default, when you start an WebLogic managed server with the node manager, it is not taking in account any of the specific settings. So start script should be enabled on the node manager.
– Persistence store type should be set to REPLICATE_IF_CLUSTERED in the weblogix.xml file
– Controller configuration should be set with “adf scope ha support” being true in the adf_config.xml for the Application Ressource
– Application modules should be set for clustrer failover (AM-Pooling jbo.dofailover = “true”)
– Managed Beans and Task Flow Parameters should be serializable
– UI bindings should be kept in a small scope
So if you follow some principals, your ADF application will take the best out HA on a WebLogic cluster.
There are 2 main tools provided by Oracle for reporting purpose:
– BI Publisher
Both can be integrated in a HA environment even though the need may not be that big.
There are different challenges, specifically with Forms/Reports as the same report with a given ID can be generated and delivered by different report servers whereas the client application is looking for a single reference. So it’s not very straight forward to create a HA environment for Forms/Reports with replicated servers.
What developers should now about WebLogic Server and HA:
Not only ADF based Java applications can benefit from WebLogic cluster, but any Java EE application can do so when deployed on a WebLogic cluster.
There are some settings and design principles to be taken in account so that the application can switch between the different nodes of the cluster.
There is a broad range of solutions that can apply to the WebLogic cluster:
• Auto Restart
• Session Replication
• Transaction Failover
• Clustered Messaging
• Server Migration
• Clusterware Integration
• Metadata split
• Online Deployment
• Rolling Redeployment
• Online Configuration Change
• Cluster Management
• Rolling Patching
• Shared Services Architektur
Oracle database 12c associated to WebLogic 12c enables another level in the HA with the Application Continuity feature allowing automated transaction replay making developer’s life easier.
You can find more information about WebLogic Cluster and HA on the following Oracle white papaer:
Identity and Access Management:
This is one very sensitive subject where HA is key. Without proper availability of your access management, HA in your applications would be almost useless, as user won’t be able to use them.
But this is also one of the most complex environment to make HA, in the Oracle landscape, because of all the bricks put together:
– Oracle Internet Directory (OID)
– Oracle Access Management (OAM)
– Oracle Virtual Directory (OVD)
– Metadata Services (MDS)
– Oracle Platform Security Services (OPSS)
– Oracle Entitlement Server (OES)
… and more
You can find details about HA for Identity and Access management on the Oracle website:
Oracle DB – the basement:
Fusion Middleware applications are refering to databases which also need to be HA if the application layer wants to provide HA.
The Oracle database provides several solutions for the HA of which mainly:
– Real Application Cluster (RAC)
– Data Guard
Both can be used seperately, but also combined.
HA solutions can also be implemented on storage level and/or hardware.
Other option is to use third party solutions like Db Visit (http://www.dbvisit.com/) which can leverage HA on an Oracle standard edition and spare the additional costs of an Enterprise edition.
As HA is mostly synonym of complex environments, I hope you will enjoy setting-up them and please your end users in hidding failures.