Hala N Dajani (2003)
Client-Server Component Architecture for Scientific Computing
Rice University, Department of Computational and Applied Mathematics, 6100 Main Street, Houston, TX 77005.
In a Distributed Computing Environment software components dispersed on a variety of computer platforms communicate transparently with each other to emulate a single computer platform. One distributed component framework model consists of two autonomous processes: the client and the server. The client-server model implemented in an object-oriented language shields low level platform complexities from the user and allows coupling of prefabricated components. These components must have a means of interfacing with each other in a distributed environment. To accommodate this need, while maintaining high performance, we propose a low level socket communication core. We employ the proxy design pattern and introduce new C++ classes to dynamically extend object behavior to a distributed environment. These classes also serve as component interfaces. Here, we describe general guidelines for partitioning objects into client and server components.