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