Information Technology Reference
In-Depth Information
an application recovery capability, similar to the distribution recovery capability,
could be added to the DDL to support application recovery.
Although not all application errors may be recoverable, the above examples
can be if the server were to send the exception to the client and the client, using
statements in the DDL, were to instruct the server to switch to another database
server or to use a different URL for its CLASSSPATH .
This capability would greatly enhance the functionality of RemoteJ and sim-
plify distributed application development further.
Our current recovery options include nextServer , abort , continue and user-
defined recovery routines. As we have shown in Section 6.4.2, user-defined recovery
routines can be used to provide fairly sophisticated recovery scenarios. However,
the DDL should be extended to include a built-in multicast recovery facility similar
to the one we developed in Section 6.4.2. We expect that as RemoteJ is further
tested, and extended, additional recovery routines will be added to the DDL.
One of the primary candidates for an additional recovery mechanism is a
stateful clustering capability. This would require the addition of a cluster re-
covery option to the DDL and the implementation could either be developed or
existing clustering frameworks, such as Terracotta [3], may be embedded in Re-
moteJ.
7.3.4
Autonomic Features
Autonomics is primarily concerned with the development of systems that are able
to manage themselves, given high-level objectives by administrators, so that they
may adjust their operation, workloads, demands and external conditions in the
face of hardware or software failures
The RemoteJ language, and in particular its support for the modularisation
of the recovery concern, provides the ability for a distributed system to heal itself
in the face of server failures by connecting to another server, if the current server
should become unavailable, using one of a number of predefined methods or by
the implementation of a new recovery method.
This approach allows autonomics development to be greatly simplified com-
pared to current framework approaches and RemoteJ can be further extended to
support other autonomic features, such as autonomic policies, autonomic sensors,
the ability to monitor remote servers and automatically switch to the one with less
latency and so forth. Dynamic support may be provided by embedding hooks into
existing code to allow the dynamic replacement or extension of referenced classes
using any framework supported by the DDL.
A domain-specific aspect language is a powerful concept that may be used
as a general method to apply autonomic features to applications thereby greatly
simplifying their development.
Search WWH ::




Custom Search