Was ist ein Wrapper?

Wrapper sind gebräuchliche Entwurfsmuster von Softwareentwicklern um möglichst einfach modifizierbare Programme und Software zu gestalten. Wrapper sind Schnittstellen-Adapter, die inkompatible Softwarekomponenten miteinander verbinden. Wrapper sind in der Softwareentwicklung auch als Adapter Pattern bekannt.
Der Einsatz eines Wrapper ist somit eine beliebte Methode zur leichten Modifizierbarkeit von Softwaresystemen.

Welche Funktion erfüllt der Wrapper?

Der Wrapper einer Softwarekomponente ist das einzige Element dem die Benutzung dieser Komponente erlaubt ist. Alle anderen Softwarekomponenten müssen den Wrapper-Service anfragen und die gewünschte Funktionalität durch den zur Verfügung gestellten Wrapperfunktionsumfang nutzen. Die Wrappererweiterung transformiert die Daten oder Kontrollinformationen der Komponente, die er wrappt.

Praxisbeispiele für Wrapper-Anwendungen

Der Wrapper einer Webanwendung fängt abweichende Systemanfragen ab, die nicht den erwarteten Eingabeparametern der Systemschnittstelle entsprechen. Eine webbasierte Softwarekomponente erwartet beispielsweise Eingaben in englischer Sprache, regelmäßig erhält das System vom User abweichende Daten, z.B. in anderen Sprachen oder in abweichenden Datenformaten wie z.B. metrische Dateneingaben. Um fortlaufend produzierte Systemfehler der Webanwendung abzufangen erweitert der Programmierer die Eingabeschnittstelle für Daten um einen Wrapper, der das Eingabeformat um andere Sprachen und metrische Eingaben erweitert. Der programmierte Wrapper erfüllt also eine Übersetzungsfunktion, transformiert die Eingabe und leitet diese an die Softwarekomponente die er “umwrappt” weiter.

Mit dem Wrapper-Konzept Software modifizierbar gestalten

Wrapper umhüllen andere Softwarekomponenten und werden in der Programmierung verwendet um Applikationen und Code möglichst einfach modifizierbar zu gestalten.

Wrapperadapter als Softwareadapter und API nutzen

Im einfachsten Fall ist der Wrapper quasi ein Softwareadapter, der inkompatible Systeme miteinander verbindet. Dazu greift der Wrapper auf die Daten aus der angebundenen Schnittstelle zu, transformiert die Daten in vordefinierter Weise und leitet die Daten an sein Zielsystem weiter. Ebenso lassen sich Wrapperdienste für Export von Daten nutzen.

Softwarekomponente Wrapper, Wrapper-Frameworks und Wrapper-Klassen

Wrapper können in unterschiedlichen Konstrukten von Softwarekomponenten vorkommen wie beispielsweise Frameworks oder Klassen, den sogenannten Wrapper-Klassen. Objektorientierte Softwareentwicklung und objektorientierte Frameworks nutzen vermehrt Wrapper.

Wrapper für Client-Server Umgebungen nutzen

Ein Wrapper-Framework bietet ein Grundgerüst für die Entwicklung von Wrapperbausteinen. Ein Praxisbeispiel für eine solche Wrapper-Klasse ist eine Sammlung von einheitlichen Funktionsschnittstellen für bestehende Client-Applikationen. Einmal erstellt, lässt sich ein solcher Wrapperbaustein aus einer solchen Wrapperbibliothek dann in technisch identischen Umgebungen immer wiederverwerten. Natürlich nur soweit wie der Wrapper fachlich – also in Bezug auf seine Softwarefunktion – gekapselt ist.

Security-Wrapper für IT-Sicherheitskonzepte verwenden

Ebenso lassen sich Wrapperanwendungen als Security-Wrapper zur Laufzeitüberwachung von Anwendungen oder Webservern konstruieren. Solche Sicherheitswrapper haben die Aufgabe, das Verhalten von Schnittstellen oder API-Komponenten zu beobachten, beispielsweise um aktuelle Systemvariablen mit einer vorgegebenen Sicherheitsspezifikation abzugleichen.

Ähnliche Eintraege