Patent ID: 7681193

Claim:
A method in a data processing system for providing alternative installation structures for deployment of software applications, the method comprising: detecting a set of requirements for a plurality of software modules to be deployed to a plurality of data processing systems, wherein the set of requirements is defined in an extensible markup language file; comparing a set of hosting requirements in the set of requirements to capabilities of the plurality of software modules in a software registry, wherein the software registry is a repository of software modules for supporting an installation of a client software application; identifying a set of candidate hosting software modules based on the set of hosting requirements; cascading a set of non-hosting requirements in the set of requirements for validation at a corresponding level, wherein the corresponding level is specified by a requirement type of the software modules; exposing the plurality of software modules in the software registry based on supported requirement types of the software modules, wherein the supported requirement types include software module requirements, runtime environment requirements, and operating system requirements; filtering the set of candidate hosting software modules using the exposed plurality of software modules based on a set of options in the set of non-hosting requirements, wherein the filtering comprises: selecting an option from the set of options; determining if each of the exposed plurality of software modules matches the selected option; and removing a respective exposed software module from the set of candidate software modules if the respective exposed software module does not match the option; and presenting a list of filtered software modules to a user.