You store configuration information and metadata in either file-based or database repositories. All instances that share the same configuration information are part of the same farm.

A cluster consists of multiple instances that can be from multiple nodes and installations, while an instance can only be part of one cluster. The cluster shares identical configuration information and application deployments. Each instance configuration is part of the overall cluster configuration.

Each OracleAS instance that is part of a cluster managed using a repository consists of the following clustering components:

  • Distributed Configuration Management (DCM). DCM distributes the configuration information across the cluster and saves it to the repository.
  • Infrastructure Repository. The Infrastructure Repository contains the configuration information. A farm consists of every instance that shares the same repository.
  • Oracle Containers for J2EE (OC4J). Each instance consists of an Oracle HTTP Server (OHS)
  • An OracleAS instance can contain multiple OC4J containers to run multiple copies of an application. The module mod_oc4j acts as a load balancer and ensures that the container is functioning before it routes the request from the OHS to an OC4J.
  • Oracle Process Manager and Notification Server (OPMN). OPMN starts, stops, and monitors the processes within an OracleAS instance and monitors OracleAS components such as DCM, OC4J, and OHS. It distributes requests between instances. OPMN updates the routing table of mod_oc4j.

The clustering framework can be broken down further. The clustering component OC4J consists of OC4J instances and processes:

OC4J instance. A cluster consists of multiple OracleAS instances. Each OracleAS instance consists of one or more OC4J instances. J2EE applications are deployed and configured to OC4J instances. The OC4J instance represents a container that holds one or more OC4J processes. All of these processes share the OC4J instance configuration. When an application is deployed to an instance, it
is automatically deployed to all OC4J processes defined in the instance.

OC4J islands. Islands are used to group together selected OC4J processes across a cluster’s multiple instances. The OC4J processes are grouped across application server instances by the name of the island. This assures high availability and replicates the session state of Web applications within the island subgrouping. Enterprise Java Bean (EJB) applications do not use the island subgrouping
method to replicate state. Instead, they replicate state between all OC4J processes in the OC4J instance.

OC4J processes. The OC4J process is a Java Virtual Machine (JVM) process that executes the J2EE application. OPMN notifies each OHS when a new OC4J process is requested. The existence of multiple OC4J processes enables failover capacities in the OracleAS instance. You use mod_oc4j to provide OHS with load balancing capabilities to all OC4J processes in the OC4J instance.

After understading on Repository-managed OracleAS clusters

There are two types of OracleAS clusters – those managed using repositories and those managed manually. Both types share the cluster characteristics of scalability and availability, but the repository clusters are easier to manage than the manual clusters. Repository-managed and manually-managed clusters consist of multiple OracleAS instances.

A repository-managed cluster consists of the Distributed Configuration Management (DCM), Oracle Process Manager and Notification Server (OPMN), Infrastructure Repository, and the mod_oc4j components. OPMN provides fault tolerance, DCM and the Infrastructure Repository provide distributed deployment, and the mod_oc4j provides load balancing. The application instances of a cluster share one Infrastructure repository.

The clustering component OC4J is broken down into constituent clustering framework components such as an OC4J instance, multiple OC4J processes, and OC4J islands.