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