Definition, Funktion sowie Arten und Klassen von Schnittstellen
Bist Du schon einmal über die Bezeichnung Wrapper gestolpert, weißt aber noch nicht so recht, was es damit auf sich hat? Oder Du interessierst Dich für diesen Begriff und möchtest weitere Informationen darüber erhalten? Dann bist Du hier genau richtig, denn wir beantworten Dir diese Fragen ausführlich.
Was ist ein Wrapper? Eine Definition
Als Wrapper ist eine Software, das im Sinne einer “Schnittstelle” eine oder mehrere Software Elemente einbindet. Das geschieht zum Beispiel bei einzelnen Komponenten oder kompletten Produkten, kann aber ebenso die Architektur der Software, eine Software Umgebung oder ein Framework betreffen. Die Bezeichnung Wrapper stammt aus dem Bereich Software Engineering und steht für verschiedene Arbeitsschritte in Bezug auf Software. To wrap bedeutet auf Deutsch so viel wie einwickeln. Es gibt in der objektorientierten Umgebung darüber hinaus ein Entwurfsmuster, das nicht nur als Wrapper, sondern gelegentlich auch als Adapter Muster bekannt ist.
Wie funktioniert ein Wrapper in der Softwareentwicklung?
In Bezug auf den Wrapper muss ein bestimmtes Problem gelöst werden. Es müssen nämlich Inkonsistenzen erkannt und überbrückt werden, die sich zwischen den verschiedenen Schnittstellen unterschiedlicher Software befinden können. Wenn diese zusammenwirken, kommt es häufig zu Folgeproblemen. Damit diese verhindert und mögliche Inkonsistenzen überbrückt werden können, muss eine einheitliche Schnittstelle entwickelt werden. Die Software selbst und ihre Elemente dürfen dabei nicht bearbeitet werden.
Welche Arten und Klassen von Wrappern gibt es?
Damit Du besser verstehen kannst, welche Arten und Klassen von Wrappern es gibt, erklären wir Dir die Möglichkeiten anhand verschiedener Praxisbeispiele.
- Als einfachste Möglichkeit kannst Du einen Wrapper wie einen Adapter sehen. Er verbindet zwei Systeme, die ohne ihn nicht kompatibel wären. Dabei schaut sich der Wrapper erst die Daten an, die sich in der betreffenden Schnittstelle befinden und greift auf sie zu. Anschließend wandelt er sie in die erforderliche Form um und reicht die Daten an das zielführende System. Auch umgekehrt ist das möglich. Praktisch gesehen, gibt es oft ein Problem zu lösen, indem verschiedene Systemstrukturen verbunden werden müssen. Das zeigt sich zum Beispiel an einer Wrapper Architektur. Dort müssen Datenquellen, ob nicht relational oder relational, Datei Server, Anwendungssysteme oder Datenbanksysteme per Wrapper mit einem SQL Server verbunden werden. Dafür stellt der Wrapper eine Standard Schnittstelle zur Verfügung, damit der SQL Server alle vorhandenen Datenquellen gleich ansprechen kann.
- Mit dazu gehört auch die sogenannte JDBC oder ausgeschrieben Java Database Connectivity. Sie bezeichnet einen Schnittstellensatz, damit Java relationale Datenbanksysteme genutzt werden können. Das Wrapper Framework kannst Du auch als Gerüst sehen, mit dem Wrapper gebaut werden können, die genutzt werden, um einheitliche Funktionsschnittstellen für die vorhandenen Client Applikationen verwenden zu können. Diese sind dann sowohl fachlich als auch technisch gekapselt.
- Es gibt außerdem einen Security Wrapper, der Anwendungssysteme dauerhaft langzeitüberwachen soll. Ein solcher Wrapper soll das Verhalten an Schnittstellen bestimmter Komponenten observieren. Anschließend soll er einen Ausgleich mit einer bestimmten Sicherheitspolice des gesamten Systems durchführen. In Java gibt es außerdem eine Wrapper Klasse. Diese ermöglichen generell das Übertragen von primitiven Datentypen in Strings. Auch andersherum ist das möglich, nämlich zurück von Strings in primitive Datentypen. Des Weiteren sind Wrapper Objekte dazu gedacht, einen simplen primitiven Datentypen in ein Objekt zu verkapseln.
Wie kann ich einen Wrapper beim Entwickeln nutzen?
Der Gedanke, der hinter einem Wrapper Entwurfsmuster oder alternativ dazu hinter einem Adapter Muster steht, ist, dass verschiedene Schnittstellen aneinander angepasst werden sollen, damit sie dann von einem Client genutzt werden können. Mit dem Wrapper Muster ist die Kooperation der Klassen möglich, die ansonsten inkompatibel wären und eine Zusammenarbeit verhindern würden.
Fazit
Wenn Du Dir diesen Ratgeber ausführlich durchgelesen hast, weißt Du nun, dass Wrapper gewisse Probleme lösen können. Sie erkennen Inkonsistenzen zwischen den verschiedenen Schnittstellen von verschiedener Software und sorgen für deren Überbrückung. Die Software mit den einzelnen Elementen darf dabei nicht überarbeitet werden, sondern bleibt unberührt. Es gibt außerdem verschiedene Arten und Klassen von Wrappern, die wir Dir anhand verschiedener Beispiele beschrieben haben. Wrapper sollen also verschiedene Schnittstellen aneinander anpassen, die ohne ihn nicht zusammenarbeiten würden, weil sie ohne ihn inkompatibel wären.