Definition Was ist eine Schnittstelle?

Autor / Redakteur: Updater / Dr. Stefan Riedl

Die Schnittstelle, im Softwarebereich als Softwareschnittstelle oder softwareseitige Datenschnittstelle bezeichnet, stellt einen logischen Berührungspunkt innerhalb eines Software-Systems dar. Durch sie wird der Austausch von Kommandos und Daten zwischen verschiedenen Prozessen und Komponenten ermöglicht und geregelt.

Anbieter zum Thema

Grundlagenwissen zum IT-Business
Grundlagenwissen zum IT-Business
(Bild: © adiruch na chiangmai - Fotolia.com)

Die Schnittstelle, im Softwarebereich als Softwareschnittstelle oder softwareseitige Datenschnittstelle bezeichnet, stellt einen logischen Berührungspunkt innerhalb eines Software-Systems dar. Durch sie wird der Austausch von Kommandos und Daten zwischen verschiedenen Prozessen und Komponenten ermöglicht und geregelt.

Datenorientiert oder funktionale Einheiten

Schnittstellen, die in der Software Verwendung finden, werden grundsätzlich unterschieden in datenorientierte Schnittstellen, welche ausschließlich zur Kommunikation benutzt werden und Schnittstellen, welche als funktionale Einheiten dienen.

Datenorientierte Schnittstellen enthalten lediglich Informationen, welche zwischen den beteiligten Systemen ausgetauscht werden.

Schnittstellen, welche als funktionale Einheiten dienen führen hingegen jeweils eine bestimmte Funktionalität aus, welche der Synchronisierung oder Unterstützung der beteiligten Systeme dient. Als Beispiel können hier Druckertreiber genannt werden.

Schnittstellen zur Interprozesskommunikation (IPC)

Dieser Schnittstellentyp stellt die Kommunikation von unterschiedlichen Programmen auf identen oder unterschiedlichen Hardwareplattformen her. So können die bekannten Netzwerkprotokolle TCP und HTTP als IPC-Schnittstellen angesehen werden.

Schnittstellen für Programmkomponenten

Hierbei handelt es sich um formale Deklarationen, welche Funktionen im System vorhanden sind und wie diese adressiert werden können. Dadurch können Module, welche über die gleiche Schnittstelle verfügen, gegeneinander ausgetauscht werden. Deshalb dienen derartige Schnittstellen der Modularisierung der Softwarelandschaft.

Schnittstellen für Programmbibliotheken

Eine große Bedeutung besitzen Schnittstellen für Programmbibliotheken, welche gemeinsam mit der Anwendung in den Speicher geladen werden. Diese Bibliotheken werden auch als dynamische Bibliotheken bezeichnet. Die Schnittstellen ermöglichen es, zu definieren, welche Anwendung welche Library in welcher Version benötigt. Zu den Kriterien für die Bewertung von Schnittstellen zählen Leistung, Skalierbarkeit, Transaktionssicherheit und Ausfallsicherheit.

Objekt-orientierte Software-Entwicklung

In der objekt-orientierten Software-Entwicklung sind Schnittstellen von elementarer Bedeutung. Sie dienen dazu, um je nach Klasse zu definieren festzulegen, welche Methoden durch die Klasse unterstützt werden müssen und an welchen Stellen die Verwendung von Instanzen dieser Klasse zulässig ist.

(ID:45300222)