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.
Try this search on Wikipedia, OneLook, Google
Nearby terms: Frobozz Magic Programming Language « frogging « Frolic « front end » front-end processor » front side bus » frotzed