The following table summarizes the information presented so far as a time sequence of events.
|
|
Zim Application | Zim Server Process | Database Agent Process |
| 1. | The Zim Server process is started with the command:
(UNIX) nohup zimserver [-p <portnumber> | -s service] (WINDOWS) start zimserver [-p <portnumber> | -s service] It reads the file zmserver.cfg and then listens for client connection requests. |
||
| 2. | When a Zim application tries to connect to a server (using the CONNECT command), the Zim Application reads the file zmserver.cfg. It then sends a message containing the logical database name to the Zim Server Process. | ||
| 3. | The logical database name is looked up in zimdb.zim. The Zim Server process records the connection and locates the actual database directory. It creates a working directory for the Database Agent process (it is about to start) and creates a config.zim in that directory based on config.srv. It then starts a Database Agent process and returns to listening for connection requests. | ||
| 4. | The Database Agent process starts and runs SERVPROF and then waits for a request from the client. | ||
| 5. | The Zim Application sends a LOGIN request to the Database Agent process (this is optional). | ||
| 6. | The LOGIN is executed and the client is now logged in as that user. | ||
| 7. | Requests are sent to the Database Agent process. | ||
| 8. | Requests are processed and results are returned to the application. | ||
| 9. | Results are received from the Database Agent process. | ||
| 10. | When the application is finished it uses the DISCONNECT command to send a "disconnect" to the Database Agent process. | ||
| 11. | The Database Agent process runs SERVBYE, sends a message to the Zim Server, and terminates. | ||
| 12. | The Zim Server removes the Database Agent process from the list of active processes. |