15.2. The System

In the EnvisionWare system, a library patron—say, Sandra—creates a document on a library's personal computer. She uses the Print command to submit the document for printing and then walks over to a release station to release the print job to the printer.

A printing client on the personal computer and a release station client both communicate with a central server. The central server uses a database to store user and print job information.

From Sandra's viewpoint, the system works as outlined in the following procedure. Incorporated into this activity flow are the message interactions that occur at designated points. The client sends the named message to the server and the server responds with the given message.

  1. Sandra decides to print from the application she is running. Using the application's print functions and dialog, Sandra selects a printer and indicates her desire to print the document.

  2. The system validates Sandra.

    1. The print client asks Sandra for her UserID.

    2. The print client sends the UserID to the central server to validate the user and to obtain the charging rate for the user:

    AuthenticateUserRequestMessage sent; AuthenticateUserReplyMessage returned.

  3. The print client calculates the price from the page count for the print job and the user's charging rate. It displays this information to Sandra.

  4. a.Sandra can choose to accept the charges and print:

    1. The print client submits the print job to the central server. The central server notifies the print client at which ...

Get Prefactoring now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.