1. A computer program product, tangibly embodied in an information carrier, the computer program product comprising instructions operable to cause data processing apparatus to: receive configuration data for a pattern, the pattern defining an arrangement of user interface elements and specifying predefined actions that can be performed using the user interface elements, the configuration data specifying associations between one or more of the user interface elements and one or more objects in a back-end system; store the configuration data in a design store; transfer the configuration data from the design store to a design time repository; and deploy an application corresponding to the configuration data.