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