1. A computer-implemented method for generating one or more components of a software application comprising: providing input data to an application generator through a user interface, wherein said input data defines an information structure for the software application, wherein the information structure specifics a hierarchical data structure specifying at least one complex object with at least one embedded simple object such that the complex object correlates to a step in a workflow and the simple object correlates to a data field included in the step of the workflow; applying one or more constraints to the input data using the application generator, wherein the one or more constraints embody one or more rules related to conversion of the information structure into the one or more components of the software application; and generating, using the application generator, the one or more components of the software application, wherein the one or more components include at least the workflow.