1. A method of rehosting a legacy application, comprising: providing a new platform comprised of new hardware, a new operating system, and middleware; transferring a legacy source code for a legacy application from a legacy platform to said new platform; creating a plurality of library save files on said legacy platform, wherein each of said library save files contains a library for said legacy application, wherein said legacy source code includes Control Language code, Report Program Generator code, COBOL code, Remote Program Generator Integrated Language Environment code, SQLRPG code, SQLCOBOL code, command libraries and panel groups; transferring said plurality of library save files from said legacy platform to said new platform; creating a plurality of data save files on said legacy platform, wherein said plurality of data save files comprise legacy physical files and legacy logical files; transferring said data save files from said legacy platform to said new platform; compiling said legacy source code with said middleware to restore said legacy application on said new platform, said compiling step comprising the steps of first compiling said Control Language code, then compiling said Report Program Generator code, then compiling said COBOL code, then compiling said Remote Program Generator Integrated Language Environment code, then compiling said SQLRPG code, then compiling said SQLCOBOL code, then compiling said command libraries and then compiling said panel groups; wherein said compiling step includes identifying missing components, issuing a request for said missing components, and incorporating said missing components into one or more of said data save files; executing said legacy application on said new platform with said middleware, wherein said middleware operates between said new operating system and said legacy application; comparing a new output of said legacy application on said new platform with a legacy output of said legacy application on said legacy platform; and validating that said new output matches said legacy output.