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 für Client-Server Umgebungen nutzen
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.