Asynchronous Processing

Overview

In client/server, most of the steps/functions that you perform are implemented synchronously. With synchronous processing, the following steps are performed in this specific order, with each step started only after the previous step is (successfully) finished:

  1. You request a function to be performed (e.g., by clicking on a pushbutton on the screen).

  2. The system locks the application (i.e., no user input is allowed).

  3. The system executes the requested function.

  4. The system unlocks the application and readies it to accept additional user input.

The above approach is transparent to you during short-running functions (e.g., validating a field), but may lock down an application for a prolonged period of time in the case of processes and reports.  Client/server mitigates this problem by allowing you to schedule the execution of processes and reports on a Process server. [The Process server, however, does require you to save the parameters and schedule a job.]

Note: Client/server does not use a synchronous execution model in Report Preview mode. You can view the first pages of the report as soon as they are ready while the rest of the report is being built. If you choose to print a report, however, the application is locked down until a complete report is generated and sent to the printer.
 

Costpoint web provides all of the above, as well as new asynchronous ways of executing business functions that greatly improve user productivity.

Asynchronous Processing in Costpoint Web

Costpoint web, by means of new technologies provided by the J2EE application server, enables you to execute any report or long-running process/action in either synchronous or asynchronous mode.

Please refer to the Actions topic in this document for more information on long-running actions.

Executing Actions

When starting a long-running action (process), you can choose either a synchronous mode of execution (the default) or an asynchronous (batch) mode.

In a synchronous mode,  Costpoint web uses the same technique as client/server, and the application goes through the same four steps of locking and unlocking the application as explained above in the Overview section of this topic. While the process is running, the system displays the status of the process on a progress meter.  You can cancel the process by clicking on the Cancel button on the progress meter (as in client/server).

In a batch (asynchronous) mode (which you can select from an action drop-down menu), the process begins on an application server and runs in parallel with the application. The application is unlocked almost immediately after you submit a request to start a process and is available to you for further activities (including closing the application and shutting down the PC).

The batch (asynchronous) mode is very similar to using the Execute Now option on the Process server (also available in Costpoint web), but it does not require your intervention to save the parameters or enter any information on the Process server scheduling screen. It is also not necessary to enable the Job server in Costpoint web for batch (asynchronous) mode to work. You should, however, still use the Job server to schedule a process to be run at a future time.

Executing Reports

In addition to the ability to view first pages of the report before the whole report is built in Preview mode (this mode is called “progressive viewing” in the Actuate report server), you can request any reporting function (except for download) to be performed asynchronously.  For example, you can Print / Print to a file / E-mail / Archive a report asynchronously, either without previewing a report or from Preview mode. As with actions, the application is unlocked almost immediately and you can perform additional activity in the application or close it.  To execute a report in an asynchronous mode, select the Submit to queue checkbox in the Print Parameters screen.

You can execute some reports only in a standard synchronous mode.  A typical example is a posting report, which must be successfully generated before the application will allow you to post. Executing such a report asynchronously adds little value, since you must still keep the application open and wait for the report to finish before posting.  

Note: Action/report locking rules still apply. For example, if you begin a single user process/report asynchronously, you cannot initiate another process until the first one completes, even though the application is unlocked.  

Please refer to the Application Locking topic in this document for more information on locking.

Required Actions and Reports

If an application is designed such that an action and report must be performed by the user in a specific and deliberate order, the action and report cannot be run asynchronously.  For example, you are required in a posting application to print first and then post, which must be run synchronously.  [The system will run them synchronously, even if you attempt to start them in an asynchronous mode.]

You can, however, choose the "self-sufficient" Print/Post action (which prints and posts in one "batch") asynchronously.

Job Server

You can use the Job server in Costpoint web in the same manner as the Process server in client/server.  In Costpoint web, however, the Job server runs as part of an application server (rather than as a client PC, as in client/server), and thus has greater availability and reliability. You can configure the Job Server to work in clusters to meet different scheduling and workload requirements.

Please refer to the Job Server vs. Process Server topic in this document for more information.

Top of Page