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