Neulich habe ich eine Ersatz-Glühbirne für unsere Deckenleuchte gekauft. Das ist so eine runde Leuchte aus Milchglas, die wie eine flache Blase an der Decke hängt:
Natürlich sollte es eine LED sein, wir wollen ja Energie sparen. Die Deckenleuchte ist für “klassische” Glühlampen gebaut, wie es sie schon jahrzehntelang gibt:
Bildquelle: KMJ, alpha masking by Edokter [CC BY-SA 3.0], via Wikimedia Commons
Also gehe ich in den Lampenladen und kaufe eine LED-Birne mit der klassischen Bauform für den Sockel. Nach dem Einschrauben stellt sich leider heraus: sie passt zwar – nicht zu lang, nicht zu breit und natürlich passt auch das Gewinde – aber die LED-Birne leuchtet nur zu einer Seite. Das sieht in unserer Deckenleuchte nicht gut aus, weil sie sehr ungleichmäßig hell wird. Mit der klassischen Glühbirne funktionierte es:
Die alte Birne hat nach allen Seiten genug Licht abgestrahlt (auch in Richtung des Sockels), so dass die Leuchte gleichmäßig hell war. Die LED-Birne leuchtet nur nach rechts.
Also gehe ich nochmal los und siehe da: Es gibt LED-Lampen, die den alten Glühbirnen zum Verwechseln ähnlich sehen! Sie haben genau die gleiche Form, und natürlich leuchten sie in alle Richtungen, auch nach hinten. Perfekt für meine Anwendung, der Marktwirtschaft sei Dank.
Warum erzähle ich das?
Der Glühbirnen-Sockel ist ein alltägliches Beispiel für eine erfolgreiche Schnittstelle
In der IT haben wir es laufend mit solchen Schnittstellen (Interfaces) zu tun. Sie trennen (oder verbinden) Subsysteme und helfen, die unvermeidlichen Abhängigkeiten im Zaum zu halten. Oft sitzen Interfaces zwischen Subsystemen mit verschiedenen Lebenszyklen: Die Glühbirne wird alle paar Monate gewechselt, Kraftwerke und Stromnetz sind über Jahrzehnte konstant. Ein weiterer Grund für die Einführung von Schnittstellen ist, dass die Subsysteme zu verschiedenen Organisationen gehören. Denken Sie nur an die vielen APIs (application programming interfaces), über die man externe Services (Logistik, Bonitätsprüfung, Email-Versand) nutzen kann.
Erfolgreiche Schnittstellen können bemerkenswert stabil sein. Das sieht man wieder an der obigen LED-Glühbirne: Schon am Beginn des 20. Jahrhunderts war der Schraubsockel als “Edison Screw” weltweit etabliert. Die früheste Darstellung, die ich finden konnte, stammt aus einem Patent des Erfinders der Glühbirne von 1881:
Bildquelle: FIXTURE AND ATTACHMENT FOR ELECTRIC LAMPS,
Patent NO. 248,420, dated October 18, 1881, THOMAS A EDISON
In diesem Patent geht es hauptsächlich um die Anbringung von elektrischen Lampen mit einem Schwenkarm. Interessanterweise hat Edison den Sockel wohl als Nebensache betrachtet, es gibt anscheinend kein entsprechendes Patent von ihm. Bei Einführung des Schraubsockels kam der Strom noch aus Dynamos, die mit Dampfmaschinen angetrieben wurden. Mittlerweile haben wir Turbinen, Atomkraftwerke und Solaranlagen auf der einen Seite (Stromerzeuger) und etliche Produkt-Generationen (Glühbirne, Halogen, LED) auf der anderen Seite (Leuchtmittel). Sie passen immer noch zusammen, weil zwischen ihnen die stabile Schnittstelle “Schraubsockel” steht, zusammen mit dem wohldefinierten “Strom aus der Steckdose” (220 Volt, 50 Hertz).
Gute Schnittstellen
Alles in allem ein sehr erfolgreiches Interface, auch wenn sich im Laufe der Zeit hier und da weitere ungeplante Abhängigkeiten eingeschlichen haben. So wie bei unserer Deckenleuchte: das Design der Leuchte verlässt sich nicht nur auf den Sockel, sondern eben auch auf die Form der Birne und auf die Lichtausbreitung nach allen Seiten. Aber glücklicherweise kann man ja LED-Leuchten kaufen, die auch diesem erweiterten (inoffiziellen) Interface noch entsprechen.
Gute Schnittstellen sind
Stabil, damit sich die angrenzenden Subsysteme weiterentwickeln bzw. austauschen lassen. Im Extremfall ist die Schnittstelle faktisch eingefroren, weil sie von so vielen Subsystemen verwendet wird.
Gut definiert, damit sie auch ohne das jeweils andere Subsystem sicher implementiert und getestet werden können. Der Schraubsockel ist in mehreren internationalen Standards bis ins Kleinste festgeschrieben.
Schmal, um den Implementationsaufwand klein zu halten und die Subsysteme in ihrer eigenen Evolution möglichst wenig einzuschränken. Bei der Lampe sieht man gleich, dass es wenig sinnvoll wäre, etwa den Abstand bis zur nächsten Wand oder die Art der Stromkabel in demselben Standard festzuschreiben wie den Schraubsockel. In IT-Systemen sieht man manchmal sehr breite Schnittstellen, mit dem entspechenden Wildwuchs von Abhängigkeiten.
Schnittstellen trennen Schnelles von Langsamem, Billiges von Teurem, Eigenes von Fremdem. Wer Modularität und Geschwindigkeit will, sollte gut über die nötigen Schnittstellen nachdenken.
Matthias Berth