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