DCE Motif Bank Demo
Original Publication Date: 1994-Jun-01
Included in the Prior Art Database: 2005-Mar-27
The Distributed Computing Environment* (DCE) Motif* Bank demo is a client/server application that exploits all core services of DCE: Threads, Remote Procedure Calls (RPCs), Cell Directory Services (CDSs), DCE Security and Distributed Time Services (DTSs). A Motif Graphical User Interface (GUI) provides the user interface to operations of the bank.
DCE Motif Bank Demo
Distributed Computing Environment* (DCE) Motif* Bank demo
is a client/server application that exploits all core services of
DCE: Threads, Remote Procedure Calls (RPCs), Cell Directory Services
(CDSs), DCE Security and Distributed Time Services (DTSs). A Motif
Graphical User Interface (GUI) provides the user interface to
operations of the bank.
Functionality - The server portion of the example (bankd)
database of accounts. Manager routines exist to manipulate this
database of accounts. These manager routines are invoked as DCE RPC
calls from the client portion of the example. The client portion of
the example (bank) is a Motif GUI that allows the user access to the
functions of the bankd server. The user can select from a list of
banks (this list will be determined by how many bankd servers were
started). Once a bank has been selected and access gained, the user
may create accounts, delete accounts, deposit funds, withdraw funds
and inquire on accounts. These actions are accomplished via DCE RPC
to the bank server.
Technical Overview (Server) - The bank server supports
interfaces: the admin_interface (used to create, delete and inquire
accounts) and the trans_interface (used to deposit to and withdraw
from accounts). The bankd server maintains the accounts as a
circular doubly-linked list. Each account has four different objects
associated with it: a checking object, a savings object, a CD object
and an IRA object. The checking and savings account objects are of
type unrestricted. (Any amount of money may be deposited into or
withdrawn from the unrestricted accounts (checking and savings).
Accounts cannot be overdrawn. Only multiples of $500.00 may be
deposited into the restricted accounts. Any amount of money may be
withdrawn (but not overdrawn). However, the restricted accounts must
be at least ten minutes old before funds can be withdrawn from them.
This is an attempt to mimic how CDs and IRAs are in real life (i.e.,
cannot withdraw funds for at least ten years).) The CD and IRA
objects are of type restricted. This setup is an exploitation of the
object-oriented features of DCE RPC. (DCE RPC object-oriented
concepts are not to be confused with C++ object-oriented concepts.
They are distinctly different.) A specific manager routine exists
for each of the different types of accounts. The DCE RPC runtime
Object Registry table and the Interface Registry table are populated
in such a manner that the correct manager routine is selected, based
on the object that is being manipulated.
Note that the
client only makes RPCs to the functions deposit()
and withdrawal(). The manager...