文档介绍:Motivation for Distributi on
Concurrent Object-Oriented
Benets of puting:
Network Programming with C++
{ Collab oration ! connectivity and interworking
{ Performance ! multi-processing and lo cality
Douglas C. Schmidt
{ Reliability and availability ! replication
Washington University , St. Louis
{ Scalability and p ortability ! mo dularity
{ Extensibility ! dynamic conguration and recon-
guration
.ed u/s chmi dt/
******@ u
{ Cost eectiveness ! op en systems and resource
sharing
1
2
Caveats
Challenges and Solutions
OO and C++ are not a panacea
Developing ecient, robust, and extensible
distributed applications is challenging
{ However, when used properly they help minimize
\accidental" complexity and improve software qual-
{ ., must plex topics that are less
ity
problematic or not relevant for non-distributed and
non-concurrent applications
Advanced OS features provide additional func-
tionality and p erformance, .,
Object-oriented OO techniques and C++
language features enhance distributed soft-
{ Multi-threading
ware quality factors
{ Multi-processing
{ Key OO techniques ! design patterns and frame-
works
{ Synchronization
{ Key C++ language features ! classes, inheritance,
dynamic binding, and parameterized types
{ Explicit dynamic linking
{ Key software quality factors ! , mo dularity exten-
{ Shared memory
, sibility po , rtability , reusability , reliability and cor-
rectness
{ Communication protocols and IPC mechanisms
3
4
Software Development
T utorial Outline
Environment
Outline key challenges for developing dis-
The topics discussed here are largely inde-
tributed applications
p endent of OS, network, and programming
language
Present an OO design and implementation
{ Currently b eing used on UNIX and Windows NT
of the munication applications:
platforms, running on TCP/IP and IPX/-
works, written in C++