Java Management Extensions (JMX) application programming interface (API) provides a means for asynchronously determining the status of system components (such as servers, applications, processes or other resources) in a Java Enterprise Edition (J2EE) server. The status monitoring API requires a user to perform complex queries in order to obtain the status and consequently, it is advantageous to provide a simple client which allows a user to visualize the status of large groups of components. Such a client may consist of a web page containing a series of images corresponding to the states of the various components.
JMX queries are executed asynchronously and may not be completed within any specific period of time. However, the content of a web page typically loads and displays serially. Thus, a JMX query may not begin until the previous query has been completed. Because some queries may take a long time to complete while other may take only a short time, a single, long-running query may block the completion and display of other, shorter queries.
FIG. 1 is a block diagram of a prior art process 100 of monitoring the status of components. A user at a client device, such as a web-based administrative console 102, initiates JMX queries to determine the status of several server components 110 and 120. For clarity, only two components are illustrated; many more may be included in the system and the queries. The queries are first transmitted to a servlet 104 which processes the first query 106 to determine the status of the first server 110. The first server 110 responds after which the servlet 104 processes the second query 108 to determine the status of the second server 120. Only when the responses from all of the servers has been received by the servlet 104 does the servlet 104 provide them to the browser running in the client 102.
Moreover, the user may be interested in only a subset of the objects for which the status is presented or may be interested in information other than status, such as a simple list of application servers. If there are ten such servers and each JMX query takes up to three minutes to complete, the user may have to wait for as long as thirty minutes to see the results, even though the specific information desired by the user may be available almost immediately.
Consequently, a need remains for improving the efficiency with which monitoring information is provided to a user.