15.2. The System

 <  Day Day Up  >  

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 release station the job will be printed:

    NewJobMessage sent; ConfirmJobMessage returned.

    1. The print client displays the Job Confirmation dialog and tells the user how to collect the job at the release station.

    2. Sandra goes to the release station and enters her UserID.

    3. The release station requests the jobs for that user from the central server. The central server responds with a list of print jobs:

      GetJobsMessage sent; Series of PrintJobMessages returned.

    4. The release station displays the available jobs in a dialog box.

    5. Sandra selects the jobs she wants to release.

    6. The release station requests the central server to release the jobs. The central server submits each released print job to the printer. For each job:

    ReleaseJobMessage sent; JobPickUpMessage returned.

  5. b.If Sandra chooses to cancel the print job without submitting it:

    1. The print client tells the central server to cancel the print job. The central server cancels the job:

    CancelJobMessage sent; SuccessMessage returned.

  6. The print client displays a dialog confirming that the job was cancelled.

If an operation fails, FailMessage is returned as the response. The client can retry the operation or inform the user of the failure.

Both the printing computer and the release station have a graphical user interface (GUI) associated with them. The GUI is a thin layer on top of the messaging system.

 <  Day Day Up  >  


Prefactoring
Prefactoring: Extreme Abstraction, Extreme Separation, Extreme Readability
ISBN: 0596008740
EAN: 2147483647
Year: 2005
Pages: 175
Authors: Ken Pugh

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net