- Data interface
-
Die Schnittstelle oder das Interface [ˈɪntɚfeɪs] (englisch „Grenzfläche“) ist der Teil eines Systems, der der Kommunikation dient.
Der Begriff stammt ursprünglich aus der Naturwissenschaft und bezeichnet die physikalische Phasengrenze zweier Zustände eines Mediums[1]. Er beschreibt bildhaft die Eigenschaft eines Systems als Black Box, von der nur die „Oberfläche“ sichtbar ist, und daher auch nur darüber eine Kommunikation möglich ist. Zwei benachbarte Black Boxes können nur miteinander kommunizieren, wenn ihre Oberflächen „zusammenpassen“.
Daneben bedeutet das Wort „Zwischenschicht“: Für die beiden beteiligten Boxes ist es ohne Belang, wie die jeweils andere intern mit den Botschaften umgeht, und wie die Antworten darauf zustande kommen. Die Beschreibung der Grenze ist Teil ihrer selbst, und die Black Boxes brauchen nur die ihnen zugewandte Seite zu kennen, um die Kommunikation zu gewährleisten. Das legt die lateinischen Wurzeln inter „zwischen“ und facies „Aussehen, Form“ für englisch face „Gesicht“ nahe.[2][3]
Wenn man einen Teil der Realität als Ganzes betrachtet, das es zu analysieren und aufzugliedern gilt, so wird man das Ganze, also das Gesamtsystem in kommunizierende Teilsysteme zerschneiden – jene Stellen der Teilsysteme, die als Berührungspunkte oder Ansatzpunkte fungieren, über welche die Kommunikation stattfindet, stellen dann die Schnittstellen dar. Unter Verwendung dieser Schnittstellen kann man die Teilsysteme wieder zu einem größeren System zusammensetzen.
Inhaltsverzeichnis
Grundlagen
Der Austausch von Informationen erfolgt in Form von physikalischen (z. B. Elektrische Spannung, Stromstärke) oder logischen Größen (Daten) und kann analog (z. B. Mikrofon an einer Soundkarte) oder digital (z. B. Parallelschnittstelle des PC) erfolgen. Nicht als Interface bezeichnet werden allgemeine mechanische Verbindungselemente der Konstruktionslehre, die der Informationsübermittlung dienen (etwa Seilzüge oder Federn).
Man unterscheidet:
- Datenschnittstelle (data interface) - Schnittstellen zur Datenübermittlung im allgemeinen
- Allgemeine Schnittstelle (common interface)
- Maschinenschnittstelle - Schnittstellen zwischen physischen Systemen
- Hardwareschnittstelle (hardware interface) - Schnittstellen zwischen physischen Systemen der Computertechnik
- Netzwerkschnittstelle (network interface) - Schnittstellen zwischen Netzwerkkomponenten
- Softwareschnittstelle (software interface) - Schnittstellen zwischen Programmen
- Benutzerschnittstelle (user interface) - Schnittstellen zwischen Mensch und Gerät
Eine Schnittstelle wird durch eine Menge von Regeln beschrieben, der Schnittstellenbeschreibung. Neben der Beschreibung, welche Funktionen vorhanden sind und wie sie benutzt werden, gehört zu der Schnittstellenbeschreibung auch ein so genannter Kontrakt, der die Semantik der einzelnen Funktionen beschreibt.
Standardisierte Schnittstellen bieten den Vorteil, dass Komponenten oder Module, die die gleiche Schnittstelle unterstützen, gegeneinander ausgetauscht werden können, das heißt sie sind zueinander kompatibel.
Es kommt häufig vor, dass zwei Teilnehmer der Kommunikation unterschiedliche, aber zueinander passende Schnittstellen besitzen müssen (Kompatibilität, z. B. Stecker - Buchse).
Der Begriff Schnittstelle wird ebenso im Projektmanagement im Anlagenbau verwendet, wobei Schnittstellen die Interaktionen zwischen verschiedenen Gewerken zur Erreichung der geforderten Funktionalität eines Systems beschreiben.
Maschinenschnittstelle
Maschinenschnittstelle ist der Ort, an dem ein Gerät bzw. eine Maschine mit einem weiteren Gerät bzw. mit einer weiteren Maschinen interagiert. Eine solche Schnittstelle wird wie folgt beschrieben.
Physikalische Daten
Mechanische Parameter:
- Örtliche Lage (Länge, Breite, Höhe bezogen auf einen festzulegenden Bezugspunkt)
- Abmessungen (Länge, Breite, Höhe, ggf. andere Abmessungen der mechanischen Schnittstelle, wie beispielsweise Lochabstände oder Durchmesser für Befestigung)
- Verbindungselemente (Art und Lage)
- Erforderliche Kräfte und Momente, um eine statische Bestimmtheit des Systems zu gewährleisten (z. B. Anzugsmomente für Schrauben, Nietverbindungen)
- Lage der Kraftangriffspunkte (z. B. Fundamentaufnahmen, Gerüste, Träger)
- Dynamische Belastungen (z. B. Schwingungen, Explosionen)
- Drücke (max., min. bei Hydraulik, Pneumatik, ggf. bei Förderung)
- Bei Materialförderung (auch Luft oder Flüssigkeiten): Art des Materials und Menge je Zeiteinheit (min., max.)
- Nichtelektrische Energieformen an der Schnittstelle (Pneumatik, Hydraulik)
Elektrische Parameter:
- Lage und Art der elektrischen Verbindung(en)
- Elektrische Spannung (min., max.)
- Elektrischer Strom (min., max.)
- Weitere, notwendige Informationen über Leitungsdaten (Art und Querschnitt), Erdung
- Systemparameter elektrischer Steuerungen
Thermische Parameter:
- Systemtemperaturen (max., min.)
Chemische Daten
- Erforderliche Materialeigenschaften der Konstruktionsmaterialien des Ursprungssystems und der anzuschließenden Systeme
- Gegebenenfalls Eigenschaften zu fördernden Materials
Hardwareschnittstellen
Hardwareschnittstellen sind Schnittstellen zwischen physikalischen Systemen in der Elektrotechnik und Elektronik.
Hardwareschnittstellen sind in der Computertechnik weit verbreitet. Industrienormen sorgen zum Beispiel dafür, dass ein PC ein offenes System ist, das aus Komponenten verschiedener Hersteller zusammengesetzt werden kann. Beispiele für Hardwareschnittstellen die in Computern eingesetzt werden sind der PCI-Bus, SCSI, USB, Firewire und die ältere EIA-232 (auch als RS-232 oder V24 bekannt).
Man unterscheidet zwischen paralleler und serieller (Hardware-)Schnittstelle, je nach dem, ob mehrere Bits gleichzeitig übertragen werden können (siehe Parallele Datenübertragung). Im Kontext von Peripheriegeräten für Computer ist mit paralleler Schnittstelle im allgemeinen der IEEE 1284-Anschluss gemeint, der meistens für den Drucker verwendet wird; als serielle Schnittstelle bezeichnet man in diesem Zusammenhang die veraltete EIA-232-Schnittstelle.
In der Elektrotechnik ergibt jedes Verbinden von analogen oder digitalen Geräten beim Zusammentreffen eine Schnittstelle. Bei jeder Schnittstelle bildet der Ausgangswiderstand Ra der Quelle mit dem Eingangswiderstand Ri der Last eine Anpassungsdämpfung, die auch Schnittstellendämpfung genannt wird. Besonders ist der wichtige Dämpfungsfaktor für diese Anpassungsdämpfung bei der Schnittstelle vom Endverstärker zum Lautsprecher zu beachten; letzteres ist wie bei allen Verbindungen in der Tontechnik ausschließlich Spannungsanpassung mit Ri ≪ Ra. Das Verbinden eines Mikrofons mit dem Eingang einer Soundkarte ergibt eine Schnittstelle mit den Problemen der Anpassungsdämpfung, genauso das Verbinden eines Endverstärkers mit dem Lautsprecher. Bei der Verbindung von digitalen Geräten ist Leistungsanpassung mit Ri = Ra üblich.
Siehe auch
- EIA-232, auch als serielle Schnittstelle, RS-232 oder V24 bekannt
- Bluetooth
- Infrared Data Association oder kurz IrDA
- Wireless Local Area Network oder kurz WLAN, Wi-Fi oder IEEE 802.11
Softwareschnittstellen
Softwareschnittstellen oder softwareseitige Datenschnittstellen sind logische Berührungspunkte in einem Softwaresystem: sie definieren, wie Kommandos und Daten zwischen verschiedenen Prozessen und Komponenten ausgetauscht werden. Dabei unterscheidet man Schnittstellen zum Zugriff auf Systemroutinen, zur Kommunikation mit anderen Prozessen und zum Verbinden einzelner Softwarekomponenten (Module) eines Programmes bzw. programmübergreifende Schnittstellen.
Schnittstellen zur Interprozesskommunikation
Manche Schnittstellen ermöglichen die Kommunikation zwischen verschiedenen Programmen (Interprozesskommunikation, IPC) auf dem gleichen oder einem anderen Computer. Beispiele für solche Kommunikationsschnittstellen über ein Netzwerk hinweg sind Remote Procedure Call, DCOM, RMI oder CORBA (siehe auch Interface Definition Language), aber auch ODBC und JDBC. Auch die bekannten Netzwerkprotokolle wie TCP, HTTP, usw. können als IPC-Schnittstellen verstanden werden.
Schnittstellen für Programmkomponenten
Schnittstellen für Programmkomponenten sind eine formale Deklaration, welche Funktionen vorhanden sind und wie sie angesprochen werden können. Das hat den Vorteil, dass Module, die die gleiche Schnittstelle besitzen, gegeneinander ausgetauscht werden können. Auch ist es auf diese Weise möglich, verschiedene Komponenten gleichzeitig zu entwickeln, ohne dass die erste fertig sein muss um die zweite zu übersetzen. Solche Schnittstellen dienen der Modularisierung einer Softwarearchitektur.
Ein frühes Beispiel für solche Komponenten-Schnittstellen sind Header-Dateien, wie sie in C und C++ verwendet werden. Besonders wichtig sind Schnittstellen aber für Programmbibliotheken, die erst zur Laufzeit geladen werden (Dynamische Bibliotheken): Sie erlauben zu erkennen, welches Programm welche Bibliothek in welcher Version benötigt. Je nach Verwendungszweck sind wichtige Bewertungskriterien einer Schnittstelle z. B. Leistung, Skalierbarkeit, Transaktionssicherheit oder Ausfallsicherheit.
Eine besondere Bedeutung haben Schnittstellen in der Objektorientierten Programmierung: Hier werden sie verwendet, um für bestimmte Klassen festzulegen, welche Methoden sie unterstützen müssen und an welchen Stellen Instanzen dieser Klasse verwendet werden dürfen. Ontologisch bedeutet die Zugehörigkeit einer Instanz zu einem bestimmten Interface eine ist-ein-Relation.
Siehe dazu: Schnittstellen in der objektorientierten ProgrammierungBenutzerschnittstellen
Eine Benutzerschnittstelle (oder Mensch-Maschine-Schnittstelle) ist der Punkt, an dem ein Mensch mit einem Gerät interagiert. Das können Schalter und andere Bedienelemente sein, Anzeigen von Geräten, aber auch die Grafische Benutzeroberfläche eines modernen Computers oder eine einfache Kommandozeile.
Siehe auch
- Adapter
- Common Business Object (CBO)
- Schnittstellendämpfung, Eingangsimpedanz, Ausgangsimpedanz, Bit-Banging
- eBus
- Interfacedesign
- Webservice
Literatur
- Wulf R. Halbach: Interfaces. Medien- und Kommunikationstheoretische Elemente einer Interface-Theorie. Fink, München 1994, ISBN 3-7705-2934-0
Weblinks
- Interfacetechnik in der industriellen Fertigung - eine Übersicht
- Die Schnittstelle zwischen zwei Audiogeräten und die Anpassung
Einzelnachweise
Wikimedia Foundation.