Front-End und Back-End
Die Begriffe Front-End und Back-End (aus dem Englischen entlehnt, für Vor- bzw. Über- und Unterbau, wörtlich vorderes und hinteres Ende; im Deutschen gebräuchlicher sind zudem der Oberbau und dem gegenüber der Unterbau[1][2][3][4]) werden in der Informationstechnik an verschiedenen Stellen in Verbindung mit einer Schichteneinteilung verwendet. Dabei ist typischerweise das Front-End näher am Benutzer, das Back-End näher am System. In manchen Fällen ist diese Interpretation nicht anwendbar, es gilt aber prinzipiell, dass das Front-End näher an der Eingabe und das Back-End näher an der Verarbeitung ist.
Anwendungsbeispiele
Hier eine Aufstellung unterschiedlicher Verwendungen, dabei werden die Begriffe nicht bei allen Einzelbedeutungen paarweise verwendet:
- Bei Client-Server-Anwendungen wird das auf dem Client laufende Programm als Front-End (also hier: Dienstnutzer), das auf dem Server laufende als Back-End (hier: Dienstleister) bezeichnet.
- Bei Datenbank-Anwendungen wird die grafische Benutzeroberfläche, bestehend aus Formularen und Berichten, als Front-End, die Tabellen, Views, gespeicherten Prozeduren u. Ä., als Back-End bezeichnet.
- Front-End bezeichnet, eng an obige Bedeutung angelehnt, auch grundsätzlich die Benutzeroberfläche, die z. B. in Form einer grafischen Benutzeroberfläche (englisch graphical user interface, kurz GUI) oder mittels Bildschirmmasken implementiert sein kann.
- In webbasierten Anwendungssystemen mit getrennten Nutzeroberflächen für reguläre Benutzer und Systemverwaltung bezeichnet der Begriff Front-End die der Öffentlichkeit zugänglichen Internetseiten, während der Begriff Back-End für den nur dem eingeschränkten Benutzerkreis zugänglichen Bereich verwendet wird.
- Software wird häufig in Front-End und Back-End unterteilt, wobei das Back-End hardwarenäher ist. Zum Beispiel ist das KDE-basierte Programm K3b zum Brennen von CDs und DVDs ein reines Front-End, das verschiedene Konsolenprogramme (z. B. cdrkit oder MoviX) als Back-End verwendet. Diese Einteilung kann dabei mehrschichtig sein, d. h. ein Back-End kann auf niedrigerem Abstraktionsniveau selbst wieder in ein Front-End und ein Back-End unterteilt sein (z. B. greift das von K3b verwendete growisofs selbst wiederum auf genisoimage zurück).
- Bei Compilern erfolgt die Übersetzung des Programmcodes in den Binärcode häufig in zwei Schritten unter Verwendung eines allgemeinen, von der Hardware unabhängigen Zwischencodes. Dabei bezeichnet man den ersten Übersetzungsschritt als Front-End (hier: Analyseeinheit), den zweiten als das Back-End (hier: Syntheseeinheit).
- Beim Unix-Drucksystem CUPS wird das Modul, welches die aufbereiteten Rohdaten an den Drucker verschickt, als Back-End bezeichnet. Es gibt z. B. Back-Ends für parallele Schnittstelle, Netzwerk, USB usw. Als CUPS-Front-End wird eine grafische Oberfläche für CUPS bezeichnet.
- Auch bei der Sprachsynthese erfolgt die Spracherzeugung aus Text häufig über einen Zwischenschritt (eine symbolische phonetische Repräsentation), wobei wieder der erste Übersetzungsschritt das Front-End, der zweite das Back-End darstellt.
- In Verbindung mit der IBM-proprietären Systems Network Architecture (SNA) wird der Kommunikations-Vorrechner (Communication Controller) als Front-End-Prozessor (FEP, Front End Processor) mit dem üblicherweise darin laufenden NCP (Network Control Program) bezeichnet.
- Bei Content-Management-Systemen (CMS) wird die Administrationsoberfläche zum Erstellen und Pflegen von Inhalten (Content) häufig auch als Back-End bezeichnet, während die vom CMS generierte Webseite als Front-End angesehen wird.
Siehe auch
Literatur
- Peter Fischer, Peter Hofer: Lexikon der Informatik. 14. Auflage, Springer, 2008, ISBN 978-3-540-72549-7
Einzelbelege
- Microsoft bestätigt: Edge erhält Chrome-Unterbau und wird zum Cross-Plattform-Browser – ZDNet, am 7.12.2018
- Windows 10: Linux Bash aktivieren und neue Programme nutzen – Computer-Bild, am 23.9.2018; dort u. a. auch mit „Linux-Unterbau“
- Ubuntu 14.04 LTS im Test: Canonical in der Konvergenz-Falle (Seite 4 von 4) – Golem, am 17.4.2014; dort auch mit „Unterbau und Fazit“ und zudem „Die Grundlage für Ubuntu […] bildet ….“
- Virtualisierung für Windows und Linux: […] – Tecchannel.de, am 3.3.2011; dort auch mit „Windows oder Linux als Unterbau“