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