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