1. A method of constructing an application for generating a final output comprising: providing a set of program-creation wizards selectable by a user to construct a rules based application; extracting pre-existing information from a pre-existing local data source specified by the user in the rules based application; extracting externally provided information from an external data source based on the pre-existing information; and generating the final output based on the pre-existing information and the externally provided information.