1. A system for automatically discovering associations between applications and data in a multi-tiered distributed system, comprising: system configuration template description modeling a system configuration of a computer system, the system configuration template description including at least description of one or more software components on the computer system; software template description modeling at least one of use and transformation of data by one or more software components on a computer system, each software component on the computer system having a corresponding software template description; a processor operable to extract information associated with the computer system to use for creating the system configuration template description and the software template description, the processor further operable to traverse the system configuration template description and the software template description to discover application and data associations.