1. A computer-implemented method for analyzing a composite application comprising a plurality of components written in a plurality of different programming languages, the method comprising the steps of: providing at least one processor; providing a memory coupled to the at least one processor; providing a plurality of component interaction rules residing in the memory, each component interaction rule comprising at least one condition between components in different programming languages and at least one action to perform depending on whether the at least one condition is satisfied; the at least one processor performing the steps of: receiving the composite application; generating an application model of the composite application; analyzing the application model for conformance to the plurality of component interaction rules; and outputting results of analyzing the application model for conformance to the plurality of component interaction rules.