- WebSphere Application Server Structure
- Comparison of the Administration in Versions 4 and 5
- Overview of Administration Tools for Version 5
Overview of Administration Tools for Version 5
System administration provides a variety of tools for managing WebSphere Application Server. These tools can be categorized into four general tool sets that are available with most editions of the product:
Java programming APIs
Individual chapters of this book focus on in-depth details of each of these tool sets, but the following overview provides an introduction to the intended usage for the different tools.
Command-line tools are simple programs that you run from a command prompt to perform specific tasks. Using the command-line tools, you can start and stop application servers, check server status, add or remove nodes, and complete similar tasks. The command-line tools provided with Application Server Version 5 are restricted for use on a single local node.
All of the command-line tools are Java programs that use the same Application Server Version 5 administration APIs as the console and the wsadmin tool, which are discussed in the next section. Chapter 3 provides a full list of the command-line tools available with Application Server v5.
Most of the command-line tools print a usage syntax statement if you invoke them with the help option (by entering either -? or -help as part of the command). Most command-line tools also log their activity under the logs directory for the product. All command-line tools require authentication data when product security is enabled.
The Administrative Console is a graphical interface that provides many features to guide you through deployment and systems administration tasks. It is extremely useful for helping you start exploring the available management options. Various wizards guide you through the more complicated processes. The Administrative Console program is documented in the Application Server Version 5 InfoCenter. Figure 1.3 shows the WebSphere Administrative Console home page.
Figure 1.3 WebSphere Administrative Console.
The separation of run-time operations from configuration changes is an important concept in Version 5. Run-time requests are delivered to the running server components through JMX operations and take effect immediately. These run-time attribute changes are transient in nature and do not survive a server restart. Configuration changes, which are made in the XML configuration files for the server, are persistent across server restarts. Configuration changes do not take effect immediately; you must restart the server for the new values in the XML configuration files to be picked up.
Most run-time attributes have corresponding persistent configuration settings. However, there are considerably more configuration settings stored in the XML files than there are run-time attributes available for dynamic modification on managed objects while they are running in a server. Separating the two functions makes the distinction clear when you are changing something that will take effect immediately, but is transient as opposed to when you are making a persistent change. If you want both an immediate run-time change and a persistent configuration change, you need to perform both operations. Figure 1.4 shows a server page in the Administrative Console displaying both the server Runtime and Configuration tab views.
Figure 1.4 Server page in WebSphere Administrative Console.
The Base Application Server version of the Administrative Console provides single-server administration capabilities. This Web application runs in the same server that it manages in the base environment. In a Network Deployment environment, the Administrative Console executes in the Deployment Manager server. This lets the console create server clusters that span multiple nodes and manage any process configured on any node within the cell. The Network Deployment environment allows you to manage multiple servers across multiple nodes whether they are clustered or not.
Use the Administrative Console client program to become familiar with the product and all of its capabilities. You can explore all of the various aspects of the environment in a graphical presentation. Once you have learned many of the details of Application Server Version 5 using the graphical console application, you might find that some of the other administrative tools provide faster access for day-to-day activities.
The Application Server administrative scripting program, wsadmin, is a powerful, nongraphical command interpreter environment that lets you execute administrative operations interactively or from a script file. The wsadmin tool is intended for production environments and unattended operations. The wsadmin tool is documented in the Application Server Version 5 InfoCenter. It is built on top of the Bean Scripting Framework that ships with Version 5. This lets the program support several languages for scripting Application Server administrative functions. The initial Version 5 release only supported the Tcl syntax, but additional scripting language support was added in release 5.1 when the Jython syntax was supported.
The wsadmin scripting tool has three modes of operation:
Interactive mode. This lets the user enter commands and view the response on a command-line prompt. This mode is useful for learning the scripting tool and its capabilities. It is also useful for prototyping command syntax to verify the options before building a larger script.
Batch mode. This lets the user supply a set of script commands in a file that the tool executes as a program.
Command mode. This lets the user enter a single command from the regular operating system command window and executes this one command, returning control to the operating system command shell.
The wsadmin tool is most often executed as a client attached to a running server. You can also run it in a "local" execution mode where a running server is not required. In this mode, however, the function is limited to only configuration changes because a server run-time is not available to receive operational requests.
The wsadmin tool is primarily intended for rapidly assembling small control programs using the available Application Server administrative functions. You can develop more sophisticated administration programs using the Java API for Application Server administration (described next). However, the combination of full scripting language constructs, such as loops and variable evaluation, along with Application Server administration functions, provides powerful capabilities.
Java Programming API
Application Server v5 supports a Java programming interface for developing administrative programs. All of the administrative tools supplied with the product are written according to the API, which is based on the industry-standard JMX specification.
Using the administrative programming API, you can do the following:
Write your own custom administration client to perform specific administration functions. The command-line tools available with Application Server Version 5, including the wsadmin tool and the console, are client programs that use the public administration APIs to carry out their tasks. Custom administration client programs can be simple or extremely complex. For example, you could write a client that only lets you start and stop clusters. You could also write a specialized administration client program to monitor certain metrics in the server and adjust configuration settings if the metrics exceed some threshold.
Extend the basic Application Server administration system with your own custom MBeans that expose the management interface specifically aligned for your requirements. For example, your application might have its own run-time properties that you can adjust to tune the application while it is executing. Your application can implement a JMX MBean that exposes these attributes and other useful operational requests. Using the Version 5 administration programming interfaces, you can add your MBean to the set provided with Application Server, and control your application, along with the rest of the system, using the wsadmin scripting client. You can even write a custom server extension and expose its functionality to the Application Server administration system as a JMX MBean.
The Application Server administration programming API is fully documented in the javadoc, which is provided with every installation (it is located in the web/apidocs directory under Application Server's root installation directory). The Application Server administration API is based on standard JMX interfaces and classes, and the JMX javadoc is also provided with each installation. The com.ibm.websphere.management package contains the public Application Server management interface.
Many helper classes and interface definitions are associated with the Version 5 administrative programming APIs. If you plan to create custom administration code, you should familiarize yourself with the public javadoc for the product. Chapter 6 in this book explores the details of how to use this administration programming API, and provides detailed examples of custom administration programs and system extensions.