Patent ID: 6971108

Claim:
A method for managing communication flow between a user interface and a computer application performing a task comprising a plurality of steps, the sequence of the steps controlled by the application and the progression through the steps controlled by a user operating the user interface, comprising: (a) mapping each step to an output file containing information to be sent to the user interface in support of the step; (b) mapping each task to an output generator that generates an output sent via an output medium to the user interface based upon the content of the output file; and (c) instantiating a task object modeling the task, the task object receiving a progressional input from the user interface and receiving a step sequence input from the application, the task object further performing the steps of: (i) comparing the progressional input to the step sequence input to identify a subsequent step, (ii) identifying the output file mapped to the subsequent step, and (iii) calling the output generator mapped to the task to generate an output to the user interface based upon the content of the output file mapped to the subsequent step, wherein the method is implemented in middleware and encapsulates the communication flow between the user interface and the computer application separate and apart from the task comprising a plurality of steps, thereby creating a set of uniform application programming interfaces such that presentation functions can be reused to link a variety of different applications, tasks, or both with a variety of different user interface.