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