design products applications client macroview developing systems framework their other manual source based where developed application approach people provides software staff these collection windows information process needs functionality example product driver automated development standard language tasks system domain clients server access business developers services which allows using layer integration interface JoelLipman.Com