This chapter includes the following sections:
An Oracle WebLogic Server administration domain is a logically related group of Oracle WebLogic Server resources. Domains include a special Oracle WebLogic Server instance called the Administration Server, which is the central point from which you configure and manage all resources in the domain. Usually, you configure a domain to include additional Oracle WebLogic Server instances called Managed Servers. You deploy Web applications, EJBs, Web services, and other resources onto the Managed Servers and use the Administration Server for configuration and management purposes only.
You can use a single Oracle WebLogic Server installation to create and run multiple domains, or you can use multiple installations to run a single domain. See Figure 2-1.
How you organize your Oracle WebLogic Server installations into domains depends on your business needs. You can define multiple domains based on different system administrators' responsibilities, application boundaries, or geographical locations of the machines on which servers run. Conversely, you might decide to use a single domain to centralize all Oracle WebLogic Server administration activities.
Depending on your particular business needs and system administration practices, you might decide to organize your domains based on criteria such as:
Logical divisions of applications. For example, you might have one domain devoted to end-user functions such as shopping carts and another domain devoted to back-end accounting applications.
Physical location. You might establish separate domains for different locations or branches of your business. Each physical location requires its own Oracle WebLogic Server installation.
Size. You might find that domains organized in small units can be managed more efficiently, perhaps by different system administrators. Contrarily, you might find that maintaining a single domain or a small number of domains makes it easier to maintain a consistent configuration.
You can create a simple domain that consists of a single server instance. This single instance acts as an Administration Server and hosts the applications that you are developing. Although a single server domain is typically used for development and test environments, this domain type is fully supported for production use and may be appropriate for light-load applications. The
wl_server domain that you can install with Oracle WebLogic Server is an example of this type of domain.
Figure 2-2 shows a production environment that contains an Administration Server, three stand-alone Managed Servers, and a cluster of three Managed Servers.
Although the scope and purpose of a domain can vary significantly, most Oracle WebLogic Server domains contain the components described in this section.
The Administration Server operates as the central control entity for the configuration of the entire domain. It maintains the domain's configuration documents and distributes changes in the configuration documents to Managed Servers. You can also use the Administration Server as a central location from which to monitor all resources in a domain.
To interact with the Administration Server, you can use any of the administration tools listed in "Summary of System Administration Tools and APIs" in Understanding Oracle WebLogic Server. See "System Administration" in Understanding Oracle WebLogic Server for information about modifying the domain's configuration.
Each Oracle WebLogic Server domain must have one server instance that acts as the Administration Server.
For more information about the Administration Server and its role in the Oracle WebLogic Server JMX management system, see "System Administration" in Understanding Oracle WebLogic Server.
The failure of an Administration Server does not affect the operation of Managed Servers in the domain but it does prevent you from changing the domain's configuration. If an Administration Server fails because of a hardware or software failure on its host machine, other server instances on the same machine may be similarly affected. However, the failure of an Administration Server itself does not interrupt the operation of Managed Servers in the domain.
If an Administration Server for a domain becomes unavailable while the server instances it manages—clustered or otherwise—are up and running, those Managed Servers continue to run. Periodically, the Managed Servers attempt to reconnect to the Administration Server. If the domain contains clustered server instances, the load balancing and failover capabilities supported by the domain configuration remain available, even if the Administration Server fails.
You can start a Managed Server even if the Administration Server is not running. In this case, the Managed Server uses a local copy of the domain's configuration files for its starting configuration and then periodically attempts to connect with the Administration Server. When it does connect, it synchronizes its configuration state with that of the Administration Server.
For information on starting a Managed Server without a running Administration Server, see "Managed Server Independence Mode" in Administering Server Startup and Shutdown for Oracle WebLogic Server. For information on re-starting an Administration Server, see "Avoiding and Recovering From Server Failure" in Administering Server Startup and Shutdown for Oracle WebLogic Server.
Managed Servers host business applications, application components, Web services, and their associated resources. To optimize performance, Managed Servers maintain a read-only copy of the domain's configuration document. When a Managed Server starts up, it connects to the domain's Administration Server to synchronize its configuration document with the document that the Administration Server maintains.
For production environments that require increased application performance, throughput, or high availability, you can configure two or more Managed Servers to operate as a cluster. A cluster is a collection of multiple Oracle WebLogic Server instances running simultaneously and working together to provide increased scalability and reliability. In a cluster, most resources and services are deployed identically to each Managed Server (as opposed to a single Managed Server), enabling failover and load balancing. A single domain can contain multiple Oracle WebLogic Server clusters, as well as multiple Managed Servers that are not configured as clusters. The key difference between clustered and non-clustered Managed Servers is support for failover and load balancing. These features are available only in a cluster of Managed Servers. For more information about the benefits and capabilities of an Oracle WebLogic Server cluster, see "Understanding WebLogic Server Clustering" in Administering Clusters for Oracle WebLogic Server.
In addition to the Administration Server and Managed Servers, a domain also contains the resources and services that Managed Servers and deployed applications require.
Managed Servers can use the following resources:
Machine definitions that identify a particular, physical piece of hardware. A machine definition is used to associate a computer with the Managed Servers it hosts. This information is used by Node Manager in restarting a failed Managed Server, and by a clustered Managed Server in selecting the best location for storing replicated session data. For more information about Node Manager, see "Node Manager Overview" in the Administering Node Manager for Oracle WebLogic Server.
Network channels that define default ports, protocols, and protocol settings that a Managed Server uses to communicate with clients. After creating a network channel, you can assign it to any number of Managed Servers and clusters in the domain. For more information, see "Configuring Network Resources" in Administering Server Environments for Oracle WebLogic Server.
Virtual hosting, which defines a set of host names to which Oracle WebLogic Server instances (servers) or clusters respond. When you use virtual hosting, you use DNS to specify one or more host names that map to the IP address of a server or cluster. You also specify which Web applications are served by each virtual host.
Applications can use the following resources and services:
Security providers, which are modular components that handle specific aspects of security, such as authentication and authorization.
Resource adapters, which are system libraries specific to Enterprise Information Systems (EIS) and provide connectivity to an EIS.
Diagnostics and monitoring services.
JDBC data sources, which enable applications to connect to databases.
XML entity caches and registry of XML parsers and transformer factories.
Messaging services such as JMS servers and store-and-forward services.
Persistent store, which is a physical repository for storing data, such as persistent JMS messages. It can be either a JDBC-accessible database or a disk-based file.
Startup classes, which are Java programs that you create to provide custom, system-wide services for your applications.
Work Managers, which determine how an application prioritizes the execution of its work based on rules you define and by monitoring actual run-time performance. You can create Work Mangers for entire Oracle WebLogic Server domains or for specific application components.
Work Contexts, which enable applications to pass properties to a remote context without including the properties in a remote call.
In designing your domain configuration, note the following restrictions:
Each domain requires its own Administration Server for performing management activities. When you use the WebLogic Server Administration Console to perform management and monitoring tasks, you can switch back and forth between domains, but in doing so, you are connecting to different Administration Servers.
All Managed Servers in a cluster must reside in the same domain; you cannot split a cluster over multiple domains.
All Managed Servers in a domain must run the same version of the Oracle WebLogic Server software. The Administration Server may run either the same version as the Managed Servers in the domain, or a later patch set.
Server instances cannot have the same name as the domain.
If you have created multiple domains, each domain must reference its own database schema. You cannot share a configured resource or subsystem between domains. For example, if you create a JDBC data source in one domain, you cannot use it with a Managed Server or cluster in another domain. Instead, you must create a similar data source in the second domain. Furthermore, two or more system resources cannot have the same name.
When naming a server instance, note the following restrictions and considerations:
Use alphanumeric names for server instances. Valid server names cannot include spaces or the following characters:
question mark (?)
forward slash (/)
Use a unique name for each server instance. Within a domain, all configuration objects, including server instances, machines, clusters, JDBC connection pools, virtual hosts, and other resource types, must have unique names and must not use the same name as the domain.
Server names are for identification purposes only. Server names are not used as part of the URL for applications deployed on the server instance. The server name displays in the Administration Console or Fusion Middleware Control. If using WebLogic Server command-line utilities, you use the server name to identify the server instance.
Once you have created a server instance, you cannot change its name. To use a new name, clone the server instance and provide a new name for the clone.
You can configure a WebLogic domain to run in one of two modes: development mode or production mode. The domain mode determines default settings regarding security and logging. In development mode, the security configuration is more relaxed. You can start the Administration Server using a boot identity file or deploy an application using the
autodeploy directory. In production mode, the security configuration is much more stringent, such as requiring a username and password to deploy applications and start the Administration Server.
There are also several differences between the default settings in production mode and the default settings in domain mode, including:
The number of threads in an execute queue
Log settings, including the maximum number of files saved during log rotation, the minimum size of the log file that triggers log rotation, and whether logs are rotated at startup
The default for server lifecycle operations timeout
SNMP security level
Servlet reload check periods
For more information on development and production mode default tuning values, see "Development vs. Production Mode Default Tuning Values" in Tuning Performance of Oracle WebLogic Server.
You can configure the domain mode at the time you create the domain, and you can also change the domain mode at any time later. For more information about how to select the domain mode using the Configuration Wizard, see "Domain Mode" in Creating WebLogic Domains Using the Configuration Wizard.
For information about how to modify a domain from development mode to production mode using the WebLogic Server Administration Console, see "Change to production mode" in the Oracle WebLogic Server Administration Console Online Help. (Note that WebLogic Server also supports modifying a domain from production mode to development mode).
Note:Oracle recommends that you do not enable the Web Services Test Client in production mode. For more information about the Web Services Test Client, see "Using the Web Services Test Client" in Administering Web Services.
After changing to production mode, Oracle recommends that you do the following to enhance the security of your production domain:
Modify the domain start scripts to change the value of the
-Xverify flag from
all. This change enables bytecode verification. For more information on bytecode verification, see "Java Language Security and Bytecode Verification" in the Java Security Overview at
Restart the Administration Server and each Managed Server in your domain. In the command to restart each server instance, include the
-Dweblogic.system.RemoveBootIdentity=true argument, which removes the boot identity file. The boot identity file only needs to be removed on the first restart after changing the configuration to production mode. You can use either of the following methods:
Open a separate command shell and include this argument in the
weblogic.Server startup command for each server instance.
JAVA_OPTIONS variable to include
-Dweblogic.system.RemoveBootIdentity=true and then invoke the server's start script.
Note:When you change a domain from development mode to production mode:
The domain start scripts (and the value of the
-Xverify flag) do not change.
boot.properties file continues to be in use.