Patent ID: 6889375

Claim:
A system for application development, the system comprising: a plurality of programming entities comprising: a run-time container operable to execute a workflow, the workflow representing an application and comprising a plurality of workflow steps, each workflow step comprising a particular operation of the application, an interactive voice response unit comprising the run-time container, the workflow being operable to direct the operation of the interactive voice response unit; and a design-time container operable to edit the workflow; and a plurality of contracts, a contract specifying an interaction between a workflow step and a programming entity, the interaction comprising a service that the programming entity provides for the workflow step when the workflow step is executed, the workflow step and the contract operable to be used for a next workflow, the plurality of contracts comprising: a first contract specifying that the design-time container is to retrieve input data for a first workflow step when the first workflow step is executed; and a second contract specifying that the run-time container is to play a message in response to a triggering event for a second workflow step when the second workflow step is executed; the design-time container further operable to retrieve input data according to the first contract; and the run-time container further operable to play the message in response to the triggering event according to the first contract.