Information Technology Reference
In-Depth Information
4.2.3
Separation of Concerns
As discussed in Chapter 2, distributed systems are dicult to write. Programmers
need to adhere to specific distributed systems programming conventions and frame-
works, which makes distributed systems development complex and error prone and
ties the resultant application to the distributed system because the application's
code is tangled with the crosscutting concern distribution.
Separation of concerns is a primary design principle [79] yet current dis-
tributed systems development techniques require the use of distribution frame-
works, programming conventions, or both. Therefore, one of the primary motiva-
tions behind our research is to assist developers in modularising the distribution
concern and consequently separation of concerns is a primary design principle.
However, in contrast with other systems that have similar motivation, such as
the D language framework [66] and J-Orchestra [113], we expand the distribution
concern into two distinct concerns, distribution implementation and recovery.
While the systems mentioned above assume a single protocol, RMI, we as-
sume multiple protocols, and therefore multiple implementations, and while RIDL
and J-Orchestra have no concept of modularising the recovery concern, we con-
sider it a concern in its own right. Although it may be argued that recovery is
part of the distribution concern, this is only true if a single protocol is considered.
The use of multiple protocols allows the possibility of the same recovery code to
be used for multiple protocols and consequently we consider the recovery concern
distinct from the distribution concern.
4.2.4
Simplicity
The ultimate goal of the RemoteJ system is to simplify distributed programming
as much as possible. In order to achieve this a number of design decisions were
made.
• The Distribution Definition Language should be as simple as possible while
still allowing sophisticated operations on the underlying program.
• We should not impose a new language on the programmer, rather we should
follow the syntax of our target language, Java, as much as possible so that
the syntax is intuitive and easy to learn and understand.
• Unless absolutely necessary, aspect-oriented concepts should be hidden from
the programmer.
• Features of the various supported distributed systems should be hidden from
the programmer as much as possible.
4.3 The Distribution Definition Language
The DDL is a simple language, based on a Java-like syntax, used to describe classes
and their methods to be made remote, the protocol to be used, and the action to
Search WWH ::




Custom Search