G. Rackl et al. / Efficiently building on-line tools for distributed heterogeneous environments
71
can find and use it. The main program does not have
– Define relevant events: After defining the entities,
to be changed at all, the only requirement is that the
JavaBean implements a minimal interface that enables
the main program to communicate with the bean.
The bean-specific properties can be set by the user.
MIVISknowsaboutthesepropertiesbymeansofthein-
trospection mechanism and provides editors to change
the settings of these properties. Additional editors for
properties of a special data type can be placed inside
the JavaBean and used instead of the standard editors.
Hence, this approach offers a very dynamic and flexi-
ble way to configure the behaviour of various display
types. More details about MIVIS can be found in [10].
In the following, we make use of the MIMO capabili-
ties to monitor and steer our load-balanced realignment
application.
relevant events that may occur within the middle-
ware or application have to be determined. For
example, these events may include generation or
deletion of entities, or interactions between enti-
ties. As before, the definition of relevant events
highly depends on the focus of the monitoring
goals and can be completely user-defined. In any
case, the result is a list of event names and their
corresponding parameters that have to be passed
with them. Also, it is possible to pass events from
the application to the tools, as well as passing back
commands from tools to the intruders or adapters
residing in the application in order to manipulate
the running application.
– Implement instrumentation code andtool: The last
step in our methodology is the actual implemen-
tation of intruders/adapters and the tools based on
the previous entity and event definitions. Here,
MIMO serves as a common monitoring frame-
work, and the MIMO core can be used as an intel-
ligent communicationinfrastructurebetween tools
and intruders/adapters. Moreover, the MIVIS tool
framework can be used for easy development of
GUI tools.
5. Integrating the load-balanced realignment
environment
In this section, we now describe how to monitor and
steer the load-balanced realignment application. First,
we begin with a general overview of the tool devel-
opment process proposed by MIMO, before we subse-
quently show the integration of the realignment appli-
cation. As a result, we obtain a visualisation tool show-
ing the activities of the realignment application, and a
steering possibility that allows to migrate or replicate
objects using interactive drag-and-drop mechanisms.
Hence, with this procedure new platforms can eas-
ily be integrated to the MIMO system by following
a fixed set of rules. This general approach therefore
enables a rapid and easy tool development which is
highly application- and middleware-oriented, such that
developers can concentrate on tool development with-
out worrying about general monitoring issues. The
steps of the tool development methodology are sum-
marised in Fig. 4.
5.1. Tool development with MIMO
To enable monitoring of a new middleware with
MIMO, a general methodology consisting of three ma-
jor steps exists:
5.2. Integrating the realignment application
– Define relevant middleware entities and map them
to the MLM model: The first step is to define enti-
ties within the middleware which are relevant for
beingmonitoredwith MIMO. This can either com-
prise application-specific entities like business-
objects, or middleware-specific entities like e.g.
CORBA objects. The choice of these entities de-
pends on the focus of interest and strongly influ-
ences the further activities.
After defining the relevant entities, they need to be
mappedto MIMO’s multi-layer-monitoringmodel
described before. Here, a certain degree of free-
dom exists and be exploited for the respective
goals. The result is a middleware-specific layer-
model with a mapping to the general MIMO MLM.
Based on the general tool development process, we
nowshow the integrationof the realignmentapplication
into the tool environment. Figure 5 depicts the struc-
ture of the realignment application. The service offered
by the server object is the compute() service, which
calculates the transformation matrix for an image. The
state of a server object consists of a reference data queue
(cache). Therefore it is replication safe since it can be
replicated without applying a consistency protocol to
its replicas, i.e. the required cache data can easily be
reestablished. A getReferenceData() service is
offered by each client and provides the specific refer-
ence data to the server if it is not already cached.