Next: A working system!
Up: Build your own DBMS!!
Previous: Server software
Over the course of about six months, we implemented the entire
client/server architecture. With all the building blocks in place,
we could implement some extra features with relative ease:
- We needed a report writer; preferably one that could run on the server.
By creating reports on the server, the client PCs would require
minimal software and infrequent upgrades. Furthermore, reports could
be produced very quickly, since no data would travel across any
network, no matter how fast.
We already had a system (from a previous project) that could convert
a high-level description of a report into C source code, to be linked
against CodeBase. We integrated stand-alone executable reports
written using this tool into the server, so that a client could request
a report and the server would deliver only the output.
- Every Unix system is configured with a mailer. In our case, the mailer
was just sendmail. We wanted to give the end-users access to e-mail,
but over the encrypted SSL connection rather than directly. To do this,
we added a rudimentary e-mail user interface to the client and a thin
server, that just talks to sendmail over a local SMTP socket.
- The client/server database, along with the server's ability to
regularly execute tasks, allowed us to implement a simple bulletin
system, where any user could post announcements and the server would
automatically delete them after a period of time. The bulletins are
stored using a regular table in the database, so access to them
is controlled by the same mechanism that controls access to data
elsewhere in the system.
Next: A working system!
Up: Build your own DBMS!!
Previous: Server software
[email protected]