1. A method comprising: accessing application resources residing on a software archive; caching metadata of the application resources from the software archive into memory that is independent of a file system of a runtime environment; identifying a set of objects to be deployed from the application resources residing on the software archive based on the cached metadata, including identifying the set of objects based on deployment descriptors contained in the cached metadata; verifying deployability of objects in the identified set of objects to the file system of the runtime environment, wherein verifying deployability includes: retrieving component version information for an object in the identified set of objects from the cached metadata, retrieving component version information for a previously deployed object in the runtime environment, the object corresponding to the previously deployed object, and determining whether the object is a different version of the previously deployed object based on the retrieved component version information for the respective objects; encapsulating objects in the identified set of objects that are incompatible with other objects deployed to the file system of the runtime environment, including encapsulating objects that are different versions of the previously deployed objects, wherein encapsulating objects is wrapping objects to run on the runtime environment even in the presence of the other objects with which the encapsulated objects are incompatible; deploying the identified set of objects to the file system of the runtime environment, including any encapsulated objects; maintaining in the file system of the runtime environment the other objects with which the encapsulated objects are incompatible, including maintaining previously deployed objects, until existing transactions depending upon the other objects are complete.