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