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