Tool Description
To aid the reconfiguration of RComponent ORBs a direct manipulation configuration editor
tool has been developed to allow RComponent administrators to re-configure the functionality
of the RComponent visually through the drawing of directed graphs.
The configuration editor outputs XML based configuration mapping files that are read by the
RComponent ORB to control its configuration. At specified checkpoints within the ORBs execution
(i.e. when the ORB declares that it is safe for reconfiguration to be performed) the mapping file
is checked for changes, and the ORB's behaviour is configured to reflect the behaviour specified within
the configuration file emitted by the configuration tool.
The tool allows changes to delegated behaviour to be visually manipulated using the di-graph
representation of the ORBs configuration. This allows users to replace methods' delegated behaviour,
or nest intercessions around delegated calls to include pre and post behaviour processing, such
as usage monitors, or other evolutionary code.
Usage Instructions
Upon starting the tool you may create a new configuration mapping file or edit an existing one
by loading it into the tool. The final XML configuration mapping file should be placed where
it is expected by the RComponent ORB. Such locations are setup by the ORB administrator. The XML
configuration will be checked by the ORB at a point when the ORB considers that it is safe to
perform a re-configuration. Such checkpoints are again defined by the ORB's administrator.
The tool contains the open, save and exit commands on the menu bar. For convenience these are
replicated on the upper toolbar. The lower toolbar found at the bottom of the configuration editor
window contains the graph editing tools. The tool has four edit modes,
- Select mode - allows the user to drag nodes around the graph with the mouse. Clicking
over a intercession, or behaviour node allows the node to be renamed.
- Delete mode - removes arcs or nodes from the graph. If a node is deleted all its arcs
are also removed. If an arc is deleted that represents multiple methods from a interface node, then the
tool prompts which method's configuration you wish to remove.
- Add node mode - There are three types of node available in a REFLEX configuration graph.
- Behaviour nodes - representing functionality delegated to by a specified interface
method within the ORB. To add a new node to the graph select add node mode, and then
select the add behaviour radio
button. Click on the graph pane to add the node.
The tool will prompt for the name of the behaviour to add, and a (optional) custom exception
handler where all exception processing will be delegated to by the RComponent for that particular
behaviour. The delegation class name should represent the name
of a
Delegation class that is available to the ORB. The name should omit the
".class" file extension. Similarly, the exception class should point to a valid
ExceptionHandler class, without the ".class" extension.
- Intercession nodes - represent pre and post behaviour placed around a method
delegation. Each intercession node represents both the pre and post behaviour to evolve the
functionality provided by the behaviour nodes by parameter filtering/modification and return value
filtering/modification respectively.
- Interface nodes - represent the external interface of the ORB used by application
clients invoking behaviour on the ORB. All ORB functionality is always invoked through the
externally presented ORB interfaces. Upon adding a interface node the tool will open a file selection
dialog allowing the selection of a Java bytecode class file that the node represents. After
selection of the interface's compiled bytecode the configuration tool will introspect and
display the methods represented by the interface and any super interfaces within the interface
node.
- Add arc mode - Arcs link interface methods to behavioural delegates possibly through a
number of evolutionary intercessions. The tool will only allow arcs to be added to a configuration
graph in this declared order. To add an arc drag the mouse from the start to the finish node. If the
link is from an interface node then the tool will prompt you which method the link refers to from the
interface. Select the required method and click OK.
To create a configuration for a specified method follow these steps as an example,
- Add a interface node for the required interface you wish to set a behaviour for.
- Add a behaviour node for the delegation class that contains the behaviour written to
handle the delegation for this particular method.
- If any pre or post method processing is required add a node that represents the intercession.
Note, more than one intercession can be linked from a method out of an interface node. The chain
of pre methods will be executed in order until the behaviour node is reached, then the post method
behaviours will be executed back down the chain.
- Add the arcs from the interface class to the intercessions (if required), or else link the
interface node directly to the processing behaviour if no intercession is required at this stage
in the component's deployment. The intercessions will be executed in the order of the arcs that
link them.
- Save the file in a place where the ORB can read the newly created configuration.
Running The Tool
Go to the configuration tool software page