1. An intermediary computer that does set-up and filtering for another (usually more powerful but less friendly) machine (a "back end").2. Software that provides an interface to another program "behind" it, which may not be as user-friendly.Probably from analogy with hardware front-ends that interfaced with mainframes.[Jargon File]