Front-end and back-end
From Wikipedia, the free encyclopedia
In their most general meanings, the terms front-end and back-end refer to the initial and the end stages of a process flow. These terms acquire more special meanings in particular areas. The general idea is that the front-end is responsible for collecting input from the user, which can be in a variety of forms, and processing it in such a way that it conforms to a specification that the back-end can use. The connection of the front-end to the back-end is a kind of interface.
- In software design, the front-end is the part of a software system that interacts directly with the user, and the back-end comprises the components that process the output from the front-end. The separation of software systems into "front ends" and "back ends" is a kind of abstraction that helps to keep different parts of the system separated.
- Some common methods for interacting with computers can be conceptualized in terms of a "front-end" and "back-end". For example, a graphical file manager, such as Windows Explorer, can be thought of as a front-end to the computer's file system. At the OS level, the concept of a graphical user interface (GUI) can be thought of as a "front end" for the system (for general users), while the command line or "TUI" is sufficiently technical to be considered a "back-end." This often applies to software packages as well, which may have both graphical interfaces (front) as well as command-line scripts (back).
- Another common use for the term front end is for network application front end hardware. This is network hardware which can optimize or protect network traffic. It is called application front end hardware because it is placed on the networks front end. Meaning that network traffic passes through the application front end hardware before any other part of the network.
- In compilers, the front-end translates a computer programming source language into an intermediate representation, and the back-end works with the internal representation to produce code in a computer output language. The back end usually optimizes to produce code that runs faster.
- In speech synthesis, the front-end refers to the part of the synthesis system that converts the input text into a symbolic phonetic representation, and the back-end converts the symbolic phonetic representation into actual sounds.
- Many programs are divided conceptually into front and back ends, but in most cases, the "back-end" is hidden from the user. However, sometimes programs are written which serve simply as a front-end to another, already existing program, such as a graphical user interface (GUI) which is built on top of a command-line interface. This type of front-end is common in Unix GUIs, where individual programs are developed as many small programs, able to run independently or together. See graphical (desktop environment) and semi-graphical (such as ncurses) frontends.
- In radio telescopes, the 'front end' consists of the package containing the feed horn and wave guide, as well as the antennas required to detect the radio signal. The 'back end' refers to the amplification and filtering systems that refine and edit the signal before presenting it to the user.
- In electronic design automation, front-end stages of the design cycle are logical and electrical design (e.g., schematic capture, logic synthesis). Sometimes floorplanning is also considered front-end. Back-end are place and route, custom layout design and physical verification (design rule checking, layout versus schematic, parasitics extraction).
- In a steam locomotive, the front end is the smokebox end of the locomotive, at the front end of the boiler, hot gases rush into the smokebox before escaping into the air via a "chimney" or "stack".
- In television production, the "front-end" refers to an order for a series that is for a duration less than the full length of the season. For instance, a network may order only 13 episodes as a hedge in case the program is not popular enough to last the entire season. If the ratings are satisfactory, the "back-end" can then be ordered (typically, another nine episodes).
- In television and movie production, the "back-end" can refer to an agreement by which a performer or producer is paid (at least in part) based on profit sharing instead of upfront payments. These profits are usually realized well after the main part of the production has ended.
- In business:
- the process of handling stock is often broken down into three stages: in the "front office" orders are taken from the customers, passed on to the "middle office" for actual processing, and finally to the "back office" which handles accounting and billing. This terminology is used in a number of seemingly unrelated industries; in stock trading, for instance, the front office is an order placed by a user or broker in very general terms, the middle office handles the actual trading within those terms, and then they inform the back office of the actual details of the transaction.
- a "back-end plan" is a type of poison pill arrangement. In this plan, current shareholders of the targeted company receive a rights dividend, which allows for exchange of a share of stock (including voting rights) for senior securities or cash equivalent to the "back-end" price established by the targeted firm. As a result of this strategy, the takeover bidder is unable to both 1) exercise this right, and 2) easily deter the rise in acquisition price.
- "front-end" also refers to the early stages of product development, i.e. opportunity identification and exploration. Commonly the modifier "fuzzy" is also used, addressing the difficulties of managing and planning this process.