1. A computer program product, tangibly embodied in an information carrier, the computer program product being operable to cause data processing apparatus to perform operations comprising: receiving an identification of a pattern, the pattern including a predefined arrangement of user interface elements and specifying predefined actions that can be performed using the user interface elements; generating configuration data for the pattern, the configuration data specifying associations between one or more of the user interface elements and one or more entities in a back-end system, and further specifying customization data for the user interface elements; and storing the configuration data separately from the pattern.