6.1 The server

In this chapter, we use Common Lisp to design and implement a CORBA server using the LispWorks ORB.

Our server presents an object-oriented interface to a bank object and its accounts. Because we want the bank's account records to persist beyond the lifetime of the server, we would store the account records in a database. This database could be manipulated by the server using an SQL interface, such as that currently available with the LispWorks product.

Since the primary motivation for this tutorial is to illustrate the use of CORBA, we simply simulate the database using a hash table. It would be fairly easy to replace this implementation with code that manipulates a real database.

The hash table simply uses a structure instance for each row:

(defstruct database-row name balance limit)

In the case of an account that does not allow an overdraft , limit will be nil.

Developing Component Software with CORBA - 30 Oct 2007