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