Front-End und Back-End

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
Dieser Artikel erläutert Front-End und Back-End im Sinne der Informationstechnik. Für andere Begrifflichkeiten siehe Front-End und Back-End.

Die Begriffe Front-End und Back-End (von englisch für Vor- bzw. Über- und Unterbau, wörtlich vorderes und hinteres Ende) 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[Bearbeiten]

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, das auf dem Server laufende als Back-End bezeichnet.
  • Bei Datenbank-Anwendungen wird die grafische Benutzeroberfläche, bestehend aus Formularen und Berichten, als Front-End, die auf dem Server laufende Datenbank, bestehend aus 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, den zweiten als das Back-End.
  • 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.

Literatur[Bearbeiten]