1. A computer-implemented method of providing an application based on a workflow, comprising: under control of one or more computer systems configured with executable instructions: obtaining one or more workflow models; testing the one or more workflow models in a test environment to identify one or more acceptable workflow models; storing the one or more acceptable workflow models in a model repository; obtaining one or more code generation templates based on the one or more workflow models; generating first source code based on the one or more acceptable workflow models obtained from the model repository and the one or more code generation templates; compiling the first source code to provide first compiled code; performing integration testing to determine whether a behavior of the one or more acceptable workflow models used to generate the first source code matches the behavior of the first compiled code; modifying at least one of the one or more acceptable workflow models to provide at least one modified workflow model based on the behavior of the one or more acceptable workflow models used to generate the first source code not matching the behavior of the first compiled code; testing the at least one modified workflow model in the test environment using interpretive components comprising interpreted code generated from the at least one modified workflow model and generated code components comprising one or more unchanged components of the first compiled code to identify one or more acceptable modified workflow models; generating second source code based on the one or more acceptable modified workflow models obtained from the model repository and the one or more code generation templates; compiling the second source code to provide second compiled code; performing integration testing to determine whether the behavior of the one or more acceptable modified workflow models used to generate the second source code matches the behavior of the second compiled code; providing the second compiled code to a deployment manager based on the behavior of the one or more acceptable workflow models used to generate the second source code matching the behavior of the second compiled code; and providing the application based on the second compiled code from the deployment manager to a production environment.