Typical Conversation to Run a Report

The following diagram illustrates a typical asynchronous conversation for running a report, using default settings.

Figure 1. Asynchronous conversation for running a report
A diagram showing a typical asynchronous conversation, between IBM Cognos and a client application, for running a report using default settings.

In this scenario, the following steps take place as part of the asynchronous conversation:

  1. The conversation is initiated with a asynch » run(objectPath, parameterValues, options) request.

  2. IBM® Cognos® could not satisfy the request in the allowed time, so a response with a status of working is returned in the bibus » asynchReply » status property.

    The bibus » asynchReply » primaryRequest property is empty since the conversation is not yet complete.

    The bibus » asynchReply » secondaryRequests property contains instances of the bibus » asynchSecondaryRequest class indicating that the next request can be either the asynch » wait(conversation, parameterValues, options) method or the asynch » cancel(conversation) method.

  3. The first call to the asynch » wait(conversation, parameterValues, options) method indicates that the client is waiting for it to complete execution of the task initiated in the primary request.

    The value provided as the asynch » wait(conversation, parameterValues, options) » conversation parameter is obtained from the bibus » asynchReply » primaryRequest property to establish the context of the conversation.

  4. IBM Cognos could not satisfy the request in the allowed time, so a response with a status of stillWorking is returned in bibus » asynchReply » status property.

    The bibus » asynchReply » primaryRequest property is still empty since the conversation is not yet complete.

    The bibus » asynchReply » secondaryRequests property contains instances of the bibus » asynchSecondaryRequest class indicating that the next request can be either the asynch » wait(conversation, parameterValues, options) method or the asynch » cancel(conversation) method.

  5. The second call to the asynch » wait(conversation, parameterValues, options) method indicates that the client is still waiting for it to complete execution of the task initiated in the primary request.

    The value provided as the asynch » wait(conversation, parameterValues, options) » conversation parameter is obtained from the bibus » asynchReply » primaryRequest property to establish the context of the conversation.

  6. IBM Cognos has satisfied the request in the allowed time, so a response of complete is returned in the bibus » asynchReply » status property.

    The bibus » asynchReply » primaryRequest property is no longer empty and contains enough information to allow another server instance to continue the conversation, if applicable, in the event of load-balancing or server failure.

    The value of the bibus » asynchDetailReportStatus » status property is responseReady, indicating that report output is ready and can be retrieved by calling the report » getOutput(conversation, parameterValues, options) method.

    The bibus » asynchReply » secondaryRequests property contains instances of the bibus » asynchSecondaryRequest class that indicate that the next request can be one of the following methods:

    Other secondary requests may be available, depending on which service is being called. For more information, see Secondary requests.

  7. The call to the report » getOutput(conversation, parameterValues, options) method retrieves the prepared output from the service (in this example, the report service).

    The value provided as the report » getOutput(conversation, parameterValues, options) » conversation parameter is obtained from the bibus » asynchReply » primaryRequest property to establish the context of the conversation.

  8. The requested action was successful so a response of complete is returned in the bibus » asynchReply » status property.

    The bibus » asynchReply » secondaryRequests property contain instances of the bibus » asynchSecondaryRequest class that indicates that one of the next allowable requests is the paging » nextPage(conversation, parameterValues, options) method.

  9. The call to the paging » nextPage(conversation, parameterValues, options) method moves to the next page of the report output.

    The value provided as the paging » nextPage(conversation, parameterValues, options) » conversation parameter is obtained from the bibus » asynchReply » primaryRequest property to establish the context of the conversation.

  10. The requested action was successful so a response of complete is returned in the bibus » asynchReply » status property.