Information Technology Reference
In-Depth Information
7
Conclusions and Future Work
7.1 Introduction
Our hypothesis statement declares that the distribution and recovery concerns can
be completely and effectively modularised by defining them in a high-level domain-
specific aspect language which can be applied to existing applications using a
compiler/generator tool. We believe we have proven this hypothesis by the four
contributions we have presented in this topic. To recapitulate these are:
1. The concept of a Distribution Definition Language used to define classes and
associated methods to be made distributed, the distributed system to use to
make them distributed, and the recovery mechanism to use in the event of
an error.
2. A simplified approach to the development of distributed systems that al-
lows an existing application to be distributed, thereby improving software
reusability and simplifying testability of distributed applications as applica-
tions may be functionally tested before having the distribution and recovery
concerns applied.
3. The ability to apply one of a number of protocols to the same code base
thereby generalising the distribution concern.
4. The application of distribution awareness to applications in such a way that
the application is oblivious to the distribution implementation and recovery
mechanism is yet able to fully participate in both.
We have evaluated and validated our approach by:
• Providing a case study of the addition of a publish/subscribe event-driven
protocol to RemoteJ, which uses a different paradigm to the client-server
model provided by the REST, RMI and the JMS request/reply protocols.
These protocols were added without changes needing to be made to the DDL.
• Comparing the development of a number of simple distributed applications,
developed using the RMI, REST and JMS protocols, with the RemoteJ ap-
proach. This has demonstrated that our approach allows multiple protocols
to be applied to the same code base, thereby improving software reuse and
testability by allowing applications to be tested for functional correctness
before the distribution and recovery concerns are applied.
• Providing case studies of RemoteJ's recovery approach and evaluating it in
terms of extendibility, flexibility and the ability to add the recovery concern
Search WWH ::




Custom Search