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