1. A method for deploying a plurality of applications, the method comprising: providing at least one library module in a server storage, wherein the at least one library module performs commonly used functions shared by the plurality of applications and the at least one library module includes a manifest that stores information uniquely identifying the library module to a web server, and wherein the library module can be implemented in different implementation versions, and wherein the manifest includes an implementation version that indicates a version of an implementation of the library module stored in the server storage; identifying the at least one library module using a key that includes a name of the at least one library module, an implementation version, and a specification version, wherein the specification version indicates a minimum extension specification version that is needed for extensions to the at least one library module; providing a plurality of deployment descriptors, wherein each said deployment descriptor is associated with one of the plurality of applications stored in the server storage, wherein each said deployment descriptor includes a reference to the at least one library module, wherein the reference includes a minimum implementation version of the at least one library module required by a said application that is associated with the said deployment descriptor; comparing the minimum implementation version in a first deployment descriptor of the plurality of deployment descriptors with the implementation version in the at least one library module, wherein the first deployment descriptor is associated with a first application of the plurality of applications in the server storage; deploying the first application to a first web server, if the implementation version in the at least one library module satisfies the minimum implementation version in the first deployment descriptor, and generating a first deployed application based on the at least one library module and the first application, such that the first application has access to the commonly used functions provided by the at least one library module; comparing the minimum implementation version in a second deployment descriptor of the plurality of deployment descriptors with the implementation version in the at least one library module, wherein the second deployment descriptor is associated with a second application of the plurality of applications in the server storage; and deploying the second application to a second web server, if the implementation version in the at least one library module satisfies the minimum implementation version in the second deployment descriptor, and generating a second deployed application based on the at least one library module and the second application, such that the second application has access to the commonly used functions provided by the at least one library module.