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