Information Technology Reference
In-Depth Information
1
Introduction
The widespread adoption of the Internet and associated technologies has resulted in
a huge increase in the number of distributed systems, both Internet and Intranet
facing. Numerous legacy systems have been, or are being, adapted to provide
an Internet presence and to integrate to customers' and suppliers' systems. In
addition, faster and more reliable networks have greatly contributed to the success
of distributed systems.
However, distributed systems development is still based on the decades old
concept of the use of object-oriented frameworks or programming libraries. Al-
though highly successful, the cost of using these frameworks or libraries is that the
resultant code is tied to the framework as the distribution framework is scattered
and tangled throughout the application making reuse of the code in other domains
dicult, if not impossible. This introduces a number of issues:
• The resultant application is tied to the distribution framework in such a way
that it is generally impossible to replace one distribution implementation
with another without a significant refactoring effort.
• The resultant application's business logic is tangled with the distribution
concern making reuse of the business logic in other domains problematic, if
not impossible.
• Distribution frameworks impose a large code overhead due to the require-
ments distributed systems impose, such as the need to catch distribution
specific exceptions, locating and binding to distributed objects, locating an-
other server in the event the current server becomes unavailable and adhering
to programming conventions dictated by the framework, such as implement-
ing framework specific interfaces.
In addition, the scattering and tangling of distribution frameworks through-
out an application violates the principle of separation of concerns, a guiding princi-
ple of software engineering that allows one to identify, encapsulate, and manipulate
only those parts of software that are relevant to a particular goal or purpose [79].
Concerns that are scattered and tangled throughout an application in this way are
referred to as crosscutting concerns [31].
There are essentially two extremes, in terms of distribution awareness, that
one could take in the development of distributed applications. The first, pioneered
by the use of the Remote Procedure Call (RPC) paradigm, attempts to make the
network transparent to the programmer by masking the difference between local
Search WWH ::




Custom Search