The Application Server consists of one or more domains. A domain is an administrative boundary or context. Each domain has an administration server (also called Domain Administration Server or DAS) associated with it and consists of zero or more standalone instances and/or clusters. Each cluster has one or more homogeneous server instances. A server instance is a single Java Virtual Machine (JVM) that runs the Application Server on a single physical machine. Server instances (whether standalone or clustered) in a domain can run on different physical hosts.
This section contains the following topics:
A domain is a group of instances that are administered together. However, an application server instance can belong to just one domain. In addition to the administration boundary, a domain provides the basic security structure whereby different administrators can administer specific groups (domains) of application server instances. By grouping the server instances into separate domains, different organizations and administrators can share a single Application Server installation. Each domain has its own configuration, log files, and application deployment areas that are independent of other domains. If the configuration is changed for one domain, the configurations of other domains are not affected.
The Sun Java System Application Server installer creates the default administrative domain (named domain1). It also creates an associated domain administration server (named server). You must provide the administration server port number. The default administration server port is 4848. The installer also queries for the administration username and master password. After installation, additional administration domains can be created.
Each domain has its own Domain Administration Server (DAS) with a unique port number. The Admin Console communicates with a specific DAS to administer the associated domain. Each Admin Console session allows you to configure and manage the specific domain.
The Domain Administration Server (DAS), is a specially-designated application server instance that hosts the administrative applications. The DAS authenticates the administrator, accepts requests from administration tools, and communicates with server instances in the domain to carry out the requests. The DAS is sometimes referred to as the admin server or default server. It is referred to as the default server because it is the only server instance that gets created on Sun Java System Application Server installation and can be used for deployments. The DAS is simply a server instance with additional administration capabilities.
Each Admin Console session allows you to configure and manage a single domain. If you created multiple domains, you must start an additional Admin Console session to manage the other domains. When specifying the URL for the Admin Console, be sure to use the port number of the DAS associated with the domain to be administered.
A cluster is a named collection of server instances sharing the same set of applications, resources, and configuration information. A server instance can belong to exactly one cluster. A cluster facilitates server instance load-balancing through distribution of a load across multiple machines. A cluster facilitates high availability through instance-level failover. From an administrative perspective, a cluster represents a virtualized entity in which operations on a cluster (e.g. deployment of an application) act on all instances that make up the cluster.
A lightweight agent (e.g. hosting a JMX runtime only) is required on each node in the domain to facilitate remote lifecycle management of instances. Its primary purpose is to start, stop, and create server instances as instructed by the DAS. The Node Agent also acts as a watchdog and restarts failed processes. Like the DAS, the Node Agent should only be required for certain administrative operations and should not be expected to be highly available. However, the Node Agent is an “always on” component, and must be configured to be started by the native O/S node bootstrap (e.g. Solaris/Linux inetd, or as a Windows service). A Node Agent is not required for the DAS.
The server instance is a single Java EE compatible Java Virtual Machine hosting an Application Server on a single node. Each server instance has a unique name in the domain. A clustered server instance is a member of a cluster and receives all of its applications, resources, and configuration from its parent cluster; ensuring that all instances in the cluster are homogeneous. An unclustered server instance does not belong to a cluster and as such has an independent set of applications, resources, and configuration. The following figure shows an application server instance in detail. The application server instance is a building block in the clustering, load balancing, and session persistence features of the Application Server.
The Sun Java System Application Server creates one application server instance, called server, at the time of installation. For many users, one application server instance meets their needs. However, depending upon your environment, you might want to create one or more additional application server instances. For example, in a development environment you can use different application server instances to test different Application Server configurations, or to compare and test different application deployments. Because you can easily add or delete an application server instance, you can use them to create temporary sandbox area for experimentation purposes.
In addition, for each application server instance, you can also create virtual servers. Within a single installed application server instance you can offer companies or individuals domain names, IP Addresses, and some administration capabilities. For the users, it is almost as if they have their own web server, without the hardware and basic server maintenance. These virtual servers do not span application server instances. For more information about virtual servers, see Chapter 13, Configuring the HTTP Service.
In operational deployments, for many purposes you can use virtual servers instead of multiple application server instances. However, if virtual servers do not meet your needs, you can also use multiple application server instances. On stopping, application server instance stops accepting new connections, then waits for all outstanding connections to complete. If your machine crashes or is taken offline, the server quits and any requests it was servicing may be lost.
Application server instances form the basis of an application deployment. Each instance belongs to a single domain and has its own directory structure, configuration, and deployed applications. Each server instance also includes the Java EE platform web and EJB containers. Every new server instance must contain a reference to a node agent name defining the machine on which the instance will reside.
You cannot create Application Server instances on a developer domain. A developer domain is always associated only with the default instance, server1. To create multiple instances, you need to create a domain with the cluster profile. For information on creating domains, see the manpage for the command create-domain or consult the Admin Console Online Help.
You can create three types of server instances:
In the standalone server instance the configuration is not shared by any other server instance or clusters.
In the shared server instance the configuration is shared with other instances or clusters.
In the clustered server instance the configuration is shared with other instances in the cluster.
A cluster is a group of server instances sharing the same set of applications, resources, and configuration information. A server instance can belong to only one cluster. Among other things, the cluster is used to facilitate load balancing, through distribution of a load across multiple machines, and high availability, through instance level failover.
From the General Tab you can perform the following tasks:
Click Start Instance to start the instance.
Click Stop Instance to stop the instance.
Click View Log Files to open the server log viewer.
Click Rotate Log File to rotate the log file for the instance.
This action schedules the log file for rotation. The actual rotation takes place the next time an entry is written to the log file. The rotation happens immediately for the default server (the DAS) but is delayed for other standalone server.
Click JNDI Browsing to browse the JNDI tree for a running instance.
Click Recover Transactions to recover incomplete transactions.
In addition, you can select the following tabs to perform these additional tasks:
Applications Tab: deploy a selected application.
JVM Settings Tab: configure the JVM general settings used by the Application Server.
Resources Tab: manage a selected resource.
Properties Tab: configure instance specific properties.
Logging Tab: configure the logging levels used by the Application Server.
Monitor Tab: view monitoring data for JVM, Server, Thread Pools, HTTP Service, and Transaction Service.
Advanced Tab: set general properties for deploying applications.
The Start Instance option and tabs such as Rresources and Properties are not available if you are running Admin Console on a Developer Profile.
Administration of the Application Server includes tasks such as creation, configuration, control and management of domains, clusters, node agents, and server instances. This section contains the following topics:
Domains are created using the create-domain command. The following example command creates a domain named mydomain. The administration server listens on port 5000 and the administrative user name is admin. The command prompts for the administrative and master passwords.
$ asadmin create-domain --adminport 5000 --user admin mydomain
To start the Admin Console for mydomain domain, in a browser, enter the following URL:
In Application Server 9.1, every domain has a profile associated with it. For information on profiles, see Usage Profiles. You can choose the profile of a domain during creation and you can change from Developer profile to Cluster profile by clicking the Add Cluster Support button in the Administration Console. Use the --profile option with the create-domain command to specify a profile for the domain. If you do not use the --profile option to explicitly specify a profile, the default profile is associated with the domain. The AS_ADMIN_PROFILE variable in the asadminenv.conf file defines the default profile.
Do not create an enterprise domain unless you have HADB and the Network Security Services (NSS) keystore. You will not be able to start an enterprise domain unless you have HADB and NSS.
For the preceding create-domain example, the domain’s log files, configuration files, and deployed applications now reside in the following directory:
To create the domain’s directory in another location, specify the --domaindir option. For the full syntax of the command, type asadmin help create-domain or the create-domain(1).
Domains are deleted using the asadmin delete-domain command. Only the operating system user (or root) who can administer the domain can execute this command successfully. To delete a domain named mydomain, for example, type the following command:
$ asadmin delete-domain mydomain
$ asadmin list-domains
To list domains that were created in other directories, specify the --domaindir option.
When starting a domain, the administration server and application server instance are started. Once the application server instance is started it runs constantly, listening for and accepting requests. Each domain must be started separately.
$ asadmin start-domain --user admin domain1
If there is only one domain, omit the domain name. For the full command syntax, type asadmin help start-domain. If the password data is omitted, you are prompted to supply it.
From the Windows Start Menu, select Programs -> Sun Microsystems -> Application Server -> Start Admin Server.
Stopping a domain shuts down its administration server and application server instance. When stopping a domain, the server instance stops accepting new connections and then waits for all outstanding connections to complete. This process takes a few seconds because the server instance must complete its shutdown process. While the domain is stopped, the Admin Console or most asadmin commands cannot be used.
$ asadmin stop-domain domain1
If there is only one domain, then the domain name is optional. For the full syntax, type asadmin help stop-domain.
Consult the Admin Console online help to stop the domain through the Admin Console.
From the Start menu select Programs -> Sun Microsystems -> Application Server-> Stop Admin Server.
A cluster is created using the create-cluster command. The following example creates a cluster named mycluster. The administration server host is myhost, the server port is 1234, and the administrative username is admin. The command prompts for the administrative passwords.
$ asadmin create-cluster --host myhost --port 1234 --user admin mycluster
For the full syntax, type asadmin help create-cluster.
A cluster is started using the start-cluster command. The following example starts the cluster named mycluster. The command prompts for the administrative passwords.
$ asadmin start-cluster --host myhost --port 1234 --user admin mycluster
For the full syntax, type asadmin help start-cluster.
A cluster is stopped using the stop-cluster command. The following example stops the cluster named mycluster. The command prompts for the administrative passwords.
$ asadmin stop-cluster --host myhost --port 1234 --user admin mycluster
myhost is the administrative server host, 1234 is the administrative port, admin is the administrative username.
For the full syntax, type asadmin help stop-cluster. When a cluster is stopped, all the server instances in the cluster get stopped.
A node agent is created using the create-node-agent command. The following example creates node agent named mynodeagent. The administration server host is myhost, the administration server port is 1234, and the administrative username is admin. The command normally prompts for the administrative passwords; however, if the --savemasterpassword option is not specified or false, the command does not prompt for the master passwords.
$ asadmin create-node-agent --host myhost --port 1234 --user admin mynodeagent
For the full syntax, type asadmin help create-node-agent.
A node agent is started using the start-node-agent command and specifying the node agent name. For example, to start the node agent mynodeagent, type the following:
$ asadmin start-node-agent --user admin mynodeagent
For the full syntax, type asadmin help start-node-agent.
A node agent is stopped using the stop-node-agent command and specifying the node agent name. For example, to stop the node agent mynodeagent, type the following:
$ asadmin stop-node-agent mynodeagent
For the full syntax, type asadmin help stop-node-agent.
A server instance is started using the start-instance command. The following example starts the server instance named myinstance. The command prompts for the administrative passwords.
$ asadmin start-instance --host myhost --port 1234 --user admin myinstance
The administrative server host is myhost, the administrative port is 1234, the administrative username is admin. The server instance myinstance can be clustered or standalone.
For the full syntax, type asadmin help start-instance.
A server instance is started using the stop-instance command. The following example stops the server instance named myinstance. The command prompts for the administrative passwords.
$ asadmin stop-instance --host myhost --port 1234 --user admin myinstance
The administrative server host is myhost, the administrative port is 1234, the administrative username is admin. The server instance myinstance can be clustered or standalone.
For the full syntax, type asadmin help stop-instance.
To restart server instance, stop and start the instance.
For mirroring purposes, and to provide a working copy of the Domain Administration Server (DAS), you must have:
One machine (machine1) that contains the original DAS.
A second machine (machine2) that contains a cluster with server instances running applications and catering to clients. The cluster is configured using the DAS on the first machine.
A third backup machine (machine3) where the DAS needs to be recreated in case the first machine crashes.
You must maintain a backup of the DAS from the first machine. Use asadmin backup-domain to backup the current domain.
The following steps are required to migrate the Domain Administration Server from the first machine (machine1) to the third machine (machine3).
Install the application server on the third machine just as it is installed on the first machine.
This is required so that the DAS can be properly restored on the third machine and there are no path conflicts.
Install the application server administration package using the command-line (interactive) mode. To activate the interactive command-line mode, invoke the installation program using the console option:
You must have root permission to install using the command-line interface.
Deselect the option to install default domain.
Restoration of backed up domains is only supported on two machines with same architecture and exactly the same installation paths (use same as-install and domain-root-dir on both machines).
Copy the backup ZIP file from the first machine into the domain-root-dir on the third machine. You can also FTP the file.
Execute asadmin restore-domain command to restore the ZIP file onto the third machine:
asadmin restore-domain --filename domain-root-dir/sjsas_backup_v00001.zip domain1
You can backup any domain. However, while recreating the domain, the domain name should be same as the original.
Change domain-root-dir/domain1/generated/tmp directory permissions on the third machine to match the permissions of the same directory on first machine.
The default permissions of this directory are: ?drwx------? (or 700).
chmod 700 domain-root-dir/domain1/generated/tmp
The example above assumes you are backing up domain1. If you are backing up a domain by another name, you should replace domain1 above with the name of the domain being backed up.
Change the host values for the properties in the domain.xml file for the third machine:
Update the domain-root-dir/domain1/config/domain.xml on the third machine.
For example, search for machine1 and replace it with machine3. So, you can change:
<jmx-connector><property name=client-hostname value=machine1/>...
<jmx-connector><property name=client-hostname value=machine3/>...
Start the restored domain on machine3:
asadmin start-domain --user admin-user --password admin-password domain1
Change the DAS host values for properties under node agent on machine2.
Change agent.das.host property value in as-install/nodeagents/nodeagent/agent/config/das.properties on machine2.
Restart the node agent on machine2.
Start the cluster instances using the asadmin start-instance command to allow them to synchronize with the restored domain.