Structure of a Domain
A domain represents a logical collection of one or more WebLogic server instances and the resources associated with them. It consists of a single Administration Server that allows you to centrally manage a number of other WebLogic servers, called Managed Servers, which may be distributed over several machines. The domain encompasses all of the configuration data for the various machines the deployments, clusters, physical network characteristics, and health statistics into a single unit that can be centrally monitored and managed. The Administration Server is responsible for the domain configuration, and maintains the domain configuration data in a configuration file called config.xml. It also hosts the Administration Console, a tool that allows you to manage all Managed Servers, domain resources, application services, and deployed applications.
When a Managed Server starts up, it contacts the Administration Server during its configuration. The Managed Servers are the workhorses of the system they host the various applications and associated resources and services that are needed. A Managed Server will own resources such as application components (EJBs, servlets, tag libraries), resource adapters, and startup classes. It will host services such as JDBC connection pools, JMS connection factories, JTA transaction services, XML registries, etc., that will be utilized by deployed applications.
Orthogonal to the notion of domains is the concept of a Node Manager. The Node Manager is a single, dedicated process on a physical machine that is responsible for the availability of all servers running on that machine. The Node Manager acts as one of the many agents that can monitor server health, and helps you start, stop, and automatically restart remote Managed Servers in a WebLogic domain. The Node Manager can kill managed servers that have become unstable and automatically restart servers on machines that have shut down unexpectedly. The Node Managers cooperate with the Administration Server via a secure channel. Using the Administration Console, the Node Managers provide complete control over the availability and health of all Managed Servers in the domain.
A WebLogic domain also allows you to configure different network cards and/or port numbers and adapt to the network and performance characteristics of your setup. WebLogic Server allows you to assign multiple IP addresses and ports to a Managed Server, customize the protocols supported on individual ports, and even separate external, client-based traffic from internal, server-based traffic. Network channels allow you to tailor the network configuration for a domain; network access points (NAPs) allow you to adjust the configuration for individual Managed Servers. For instance, you can ensure that all client-facing traffic arrives on a particular network interface card (NIC), while all internal traffic uses a different NIC. You can also use these facilities to segment application traffic from administration control traffic and elegantly handle NIC failures.
It is vital that you back up the configuration and security data associated with a WebLogic domain. We shall see how you can restore a failed Administration Server and how you can restart Managed Servers in the absence of the Administration Server. We also will examine how you can configure the behavior of the Node Manager when it needs to restart a failed server automatically or kill a server with "poor health."
A domain is WebLogic's way of simplifying management, administration, and monitoring of multiple server instances and their resources. Even though the notion of domains may seem alien to a J2EE developer, WebLogic Server provides seamless integration between the J2EE world and the administration of servers and their resources. Whenever possible, WebLogic relies on standard Java APIs to implement many of the administration and management tasks. For instance, WebLogic Server provides a JMX interface for introspecting the configuration data and monitoring runtime server statistics.
We begin by looking more closely at the structure of a domain, and at how to use the Configuration Wizard to prepare a domain. We then examine how to configure domain network resources, how to back up and restore domain information, and how to use the Node Managers to keep the domain up and running. Finally, we examine various states of a server's life cycle, and how WebLogic allows you to transition between the various states.