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