In this blog I will be writing about the different layers within the App Server .
· Instances -- An instance is defined as a collection of processes required to run a component within an application server instance. An instance is made up of one or more Java containers and the structure needed to support them. In other words an Instance is best thought of as an Oracle Home. The Oracle Home contains the software and configuration needed to run all the components of the Application Server. The Application Server 10g Infrastructure with a supporting database to store metadata and J2EE & Web Cache are some examples of instance.
· Clusters -- A cluster is an arbitrary collection of instances that are part of the same farm and also share a common configuration and J2EE applications. In other words cluster is a collection of application server instances with identical configuration and application deployment. Clusters enforce homogeneity between member instances so that a cluster of Application Server instances can appear and function as a single instance. With appropriate front-end load balancing, any instance in an Application Server cluster can serve client requests. This simplifies configuration and deployment across multiple instances and enables fault tolerance among clustered instances.
· Farms -- A farm is a collection of instances and clusters that make up your Application Server 10g system and share a common repository infrastructure. In other words an Application Server Farm is an entity to allow multiple application servers to be administered from a single location. A farm is defined by a meta-data repository. Each farm has exactly one meta-data repository.
In sum, a farm is any related group of Application Server 10g instances sharing a repository, while a cluster must share a common definition and J2EE applications .Any Application Server 10g architecture may have many farms and many clusters defined within the system.