Verloren im Labyrinth der IT-Begriffe? Hier finden Sie Definitionen und Basiswissen zu Rechenzentrums-IT und -Infrastruktur.

Ein Rahmen für viele Zwecke Was ist ein Framework?

Autor / Redakteur: lic.rer.publ. Ariane Rüdiger / Ulrike Ostler

Der Begriff Framework ist echt ein verschwommener. Entsprechend gibt es ihn inner- und außerhalb der IT in vielen Kombinationen und Bezügen. Gemeinsam ist ihnen, dass es sich um eine Art Rahmenstruktur handelt, in deren Fächer man allerlei hineintun kann, das dazu passt.

Anbieter zum Thema

Framework ist nein Begriff, der in der IT in vielfältigen Bedeutungszusammenhängen vorkommt.
Framework ist nein Begriff, der in der IT in vielfältigen Bedeutungszusammenhängen vorkommt.
(Bild: © djama - stock.adob.com)

Frameworks gibt es nicht nur in der Informationstechnik. Der Begriff kommt auch in der Logik oder der Politik vor. Weil alles andere zu weit führen würde, beschränkt sich dieser Artikel auf den Bereich Computing (Hard- und Software).

Beispiele für Framework-Arten ohne Anspruch auf Vollständigkeit sind Software-, Anwendungs-, (Enterprise-)Architektur-, Internet-Application-, Multimedia-, CSS-, Ajax-, IIoT-Frameworks. In Zukunft wird der Framework-Zoo vermutlich noch um viele andere Exemplare erweitert.

Und der gemeinsame Nenner?

Schlägt man die Übersetzung von Framework im Wörterbuch nach, so ist von Rahmen, Rahmenplan, Bezugssystem, aber auch Gefüge die Rede. Ein Framework fügt also verwandte, aufeinander bezogene Teile und Bereiche von irgendwas (beispielsweise einer komplexen Software-Umgebung) zu einem sinnvollen Ganzen zusammen, das bestimmten Regeln folgt.

In der IT bedeutet das, dass das Framework generische Vorgaben macht, was alles in eine Umgebung gehört, die durch selbiges beschrieben wird. Also die Funktionen, aber auch die Schnittstellen der einzelnen Framework-Komponenten. Und natürlich, ob eine Framework-Komponente unverzichtbar oder eher optional ist.

Software-Frameworks

Die Begriffsfelder, in denen sich Frameworks finden, liegen durchaus weit auseinander. Ein Software-Framework etwa abstrahiert konkrete Softwaresysteme durch eine Reihe generischer Funktionen. Diese können durch diverse wiederverwendbare Klassen oder Bibliotheken erfüllt werden. Sie wiederum sind anwendungs- oder sogar kundenspezifisch veränderbar, so dass individuelle anwendungsspezifische Software entsteht.

Beispiele für Software-Frameworks sind: Das Ajax-Framework ist ein Set von Web-Entwicklungstechnologien auf der Client-Seite, mit dem sich asynchrone Web-Applikationen generieren lassen. Ein CSS-Framework dagegen ist eine Bibliothek für Web-Design mit Cascading Style Sheets. Das im Bild dargestellte IIoT-Framework (siehe: Abbildung) will dabei unterstützen, funktionsfähige IIoT-Software zu entwickeln.

Architektur-Frameworks und Enterprise Architecture Frameworks

Noch weiter gefasst ist der Begriff Architektur-Framework. Es ist laut ISO/IEC/IEEE 42010 eine „gemeinsame Vorgehensweise bei der Erzeugung, Interpretation, Analyse und Nutzung architektonischer Beschreibungen für einen spezifischen Anwendungsbereich oder eine spezifische Anwendergruppe.“ Die auf den Standard bezogene Website der ISO listet mehrere Dutzende solcher Frameworks auf.

Das Everyware-Softwareframework von Eurotech soll die Entwicklung von IIoT-Applikationen erleichtern.
Das Everyware-Softwareframework von Eurotech soll die Entwicklung von IIoT-Applikationen erleichtern.
(Bild: Eurotech)

Daneben gibt es unternehmensspezifische Varianten von Architektur-Frameworks (Enterprise Architecture Frameworks), die ein generisches Modell einer Firmen-IT-Infrastruktur beschreiben. Meist ist es in Schichten aufgebaut.

Enterprise Architecture Frameworks werden beispielsweise von Konsortien wie TOGAF (The Open Group Architecture Framework), der ISO (zum Beispiel ISO 19439), von Regierungen und öffentlichen Verwaltungen, aber auch von Unternehmen wie SAP (SAP Enterprise Architecture Framework) definiert.

Ein Blick in die Glaskugel: Clouds, Frameworks und Microservices

Wie geht es mit Frameworks beim Übergang auf Cloud-native Mikroservice-Architekturen weiter? In Mikroservices zerlegte Applikationen bestehen ja letztlich aus generischen Funktionsbausteinen, die über Schnittstellen verbunden sind.

Was also liegt näher, als komplexere Funktionsumgebungen in Zukunft vor allem durch Frameworks zu beschreiben? Sie sagen, welche Funktionen man braucht und über welche Schnittstellen man sie am besten verbindet, um eine bestimmte komplexe Aufgabe zu lösen. Aus welcher Cloud ein Anwender sich welchen Funktionsschnipsel holt, ist in einer transparenten Multicloud-Welt architektonisch letztlich unerheblich.

In dieser durch APIs bestimmten Digitalwelt läge am Ende jeder Software ein Framework zugrunde. Es ist daher naheliegend anzunehmen, dass dem Framework und seinen vielen Varianten eine große Zukunft bevorsteht.

(ID:46715092)