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