Introducing the Lutris EAS 4
Management Console
David H. Young, Lutris Technologies
One of the Lutris value
adds in EAS that is not part of the Enhydra open source family is LMC,
the Lutris Management Console. LMC was designed to monitor and manage
Lutris EAS servers and its EAS services as well as Web applications including
Enhydra style applications, WARs and EARs. LMC and the Services Architecture
speak the management language of JMX. In particular, they use the JMX
MBean interface to exchange and manipulate information. One of the exciting
aspects of the Services Architecture is that every facility/service consists
of at least one MBean, meaning that all aspects of the Lutris EAS environment
have been instrumented for management.
One of the compelling
uses of LMC is as a learning tool for understanding how Lutris EAS is
organized as a hierarchy of facilities, services and applications. My
goal in the article is to simply bring out some of the subtle and not-so-subtle
aspects of LMC in order to set you on your with with this impressive new
management tool.
The Lutris Services
Architecture automatically generates a single MBean when a service is
created using the TAP interface. (Developers of EAS Services can add additional
MBeans for enhanced management view of their service iplementations.)
The result is that every service is manageable. LMC was created for us
humans to be able to view, configure and alter the properties of these
MBeans through a Swing (Java Foundation Class) graphical application.
Facilities, Services and the Services Architecture
In this discussion, I'll often refer to services
and facilities. A quick definition of these terms is in order. A facility
is the lowest common denominator in the construction of services and applications.
A service composes one or more facilities. The service represents a meaningful
description of capability that can be used by other services or applications.
Reflecting one of the most powerful features of the Lutris Services Architecture
is the fact that you can install, instantiate, version or remove any one
of these facilities and/or services in a run-time setting.
With all of this flexibility to be leveraged,
you will see why the creation of LMC and its feature set were essential
to the management of this industry-leading architecture platform.
Getting Started
Getting started with LMC involves two steps: Starting
the Lutris EAS application server and then connecting LMC with the instance
of the running server. The graphic below focuses on the "Server"
pulldown menu, from which every option you need is provided for starting
and connecting to the server. Some of these features can also be accessed
from toolbar icons.

The dialog for locating and starting the server
is displayed below. The box with the ellipses will generate a file/directory
dialog box for locating the server if one is not listed by default, or
you want to locate another server.

As I mentioned, some of the menu commands are
offered as convenient toolbar icons. Launching the connection dialog is
one of them. In the connection dialog, there are options provided for
taking different ways of identifying the server instance or instances
to which you want to connect. One of them includes a Search method for
viewing the environment for running servers.

Explorer Area
If you are familiar
with the Window's Explorer tool, then you'll recognize the general view
that LMC provides. In addition to the main menu bar and the toolbar, LMC
supports three different areas of activity. The Explorer area presents
different views of expandable and contractable hierarchies of objects.
Objects represent everything from old-style Enhydra applications to facilities,
services, MBeans, MBean attributes and something called Virtual MBeans,
a Lutris innovation. The Explorer Area is shown in the screenshot below.
As you'll discover by simply moving your cursor
around the Explorer, the use of tooltips makes the information contained
within each object more available to you. Context-sensitive operations
that are available on selected objects of the hierarchy become apparent
in the form of pop-up menus when you click on the right button of your
mouse. Be sure to keep this in mind throughout your exploration of
LMC. A lot of hidden functionality is accessible to you simply by right-clicking
your mouse.

The Workspace Area delivers the details of the
object you selected in the Explorer window. In most cases, the selected
object represents an MBean. In the screenshot above, I've selected the
ContMgr (Container Manager) MBean associated with the Web Container Service
facility group, the attributes of which are shown in the workspace window.
Within the Workspace window, you can monitor or even modify attributes
within the MBean. Permissions to do so are provided on a per-attribute
basis.
The Info Area features some of the more intriguing
capabilities. The "Status History" tab displays run-time messages
transmitted from the connected EAS server. It also will display error
messages if, for example, you entered an illegal value in an MBean's attribute
field. These error messages are "live links" related to the
affected attribute and give you the ability to rollback the attribute
to a previously legal value.
The Toolbox tab also demonstrates the dynamic
nature of LMC. It gives you the ability to click and drag references from
the Workspace onto the toolbox window. For instance, you could drag the
MBean graphic at the top of the workspace into the toolbox. In essence,
you create a visual shortcut similar to the Window's shortcut feature.
But there's even great granularity provided. You can do the same operation
at the attribute area. Say, for example, you are interested in the attribute
dealing with the number of servlet containers available in the Web Container
Service. I've dragged this attribute from the worksapce into the Toolbox
where it will remain until I remove the shortcut. This behavior persists
across sessions of LMC. To help you organize your collection of saved
shortcuts, the Toolbox features 4 sub-tabs to which you can apply your
own organizational methodology.

LMC Configuration
The Explorer, Info and Workspace areas are all
windows in their on right. Using the main menu's View command, you can
"separate" each area from the main console where you can then
organize them as independent windows. LMC persists this configuration
across invocations of LMC, therefore leaving your layout in the same orientation
in which you left it.
You can also define the behaviors of the the Explorer
and Workspace. The Preferences dialog above can be activated by using
the main menu path "Edit->Preferences..." Play with the different
radio button options in order to see the kinds of effects that might suit
your working style, including MBean-per-tab or stack of Mbean cards.
Virtual MBeans
Not all Workspace items are representations of
MBeans. The example below demonstrations the concept of "Virtual
MBeans," a Lutris innovation that gives the developer the ability
to create "management views" that incorporate different data
sources. I've selected a "FacilityGrp" called Kernel Services.
It consists of four facilities, loader, socket, thread and time. Kernel
Services is not an MBean. Instead it is a Virtual MBean created to present
this logic view of related facilities.
If you're not sure when you're looking at a Virtual
MBean, the give away is appearance of the 3 icons to the left of the Workspace
(the triangle, ? and graphing icons).

Qualifiers
A limitation of the MBean interface is that they
simply publish the information behind their field and method signatures.
To create a more meaningful management picture, Lutris intorduced the
concept of Qualifers. Qualifers are a new feature in EAS. Qualifiers are
added during deployment. Developers can use Qualifiers to enhance the
management picture of their service. Through the use of Qualifers, a developer
can make their application a friendlier application to management, reducing
support complaints from their customers.
A Qualifier may, for example, give the range of
values on a "CheckLevelObject" field/attribute in an MBean.
Qualifier gives you ability to do context-sensitive tooltip or perform
range checking for simple min and max values.
It's now time for you to launch the Lutris Management
Console. Remember some of the points of interest I've collected in this
article, particularly the use of tooltips and exploring hidden options
with the click of the right mouse button.
|