Framework vs. Plattform

Ob wir mit Kunden, Journalisten oder anderen, aus der Handelsbranche sprechen, manchmal haben wir das Gefühl, dass doch etwas Verwirrung herrscht, wenn es um die Terminologie geht. Über ein Standard-Shopsystem zu reden, ist ziemlich simpel. Aber was genau verbirgt sich hinter den Begriffen “Framework” und “Plattform”? Und wo ist der Unterschied? Wie so oft gibt es keine klaren, allgemeingültigen Definitionen, die einer wissenschaftlichen Prüfung standhalten würden. 
Wir versuchen mal, etwas Licht ins Dunkel zu bringen:

Framework

Ein Framework könnte man mit einem Skelett vergleichen, an das aber noch ein bisschen „Fleisch“ muss. Dieses “Fleisch” ist in der Regel eine bestimmte Anwendung, die mit Teilen des Skeletts verbunden ist und diese nutzt. Die eigentliche Arbeit, das heißt das Auffüllen der Zwischenräume und das Verbinden der einzelnen Teile, übernimmt dann die Anwendung.

In der Programmierung ermöglichen Frameworks den Programmierern, sich auf die eigentlichen Aufgaben zu konzentrieren, anstatt ihre Zeit damit zu verschwenden, das Rad neu zu erfinden. In der Regel werden Frameworks mit einer Reihe von vordefinierten Funktionen und Klassen ausgeliefert. Der Vorteil ist, dass Programmierer dann – wenn sie beispielsweise Spring (Java) oder Symfony (PHP) verwenden – nicht mehr allzu viel über Dinge wie Persistenz, Routing und Sitzungsmanagement nachdenken müssen. Das übernehmen standardisierte Komponenten des Frameworks. Arbeitet man mit einem solchen Framework, wird zuerst der komplette Quellcode heruntergeladen und in einer bestimmten Umgebung installiert – bei PHP-Frameworks zum Beispiel in einem LAMP-Stack. Dann beginnt man, den individuellen Code zu schreiben. Ist die Anwendung dann ‘marktreif’, muss sie noch in eine Hosting-Umgebung gebracht werden.

Beispiele für Frameworks in der Commerce-Branche sind SAP Hybris (Java) und Spryker (PHP).

Plattform

Im Gegensatz zu einem Framework bringt eine Plattform sowohl die Hardware als auch die Software mit, die für den Betrieb einer Anwendung benötigt werden – entweder als eigenständiges Programm oder eines, das auf einem Framework aufsetzt. Meistens kommt das ganze Paket als Platform-as-a-Service (PaaS). Das bedeutet aber, dass die Code-Basis der Plattform-Software selbst nicht geliefert oder lizenziert wird. Vielmehr ist sie Teil einer in der Cloud gehosteten Lösung, die über APIs oder GUIs abgerufen werden kann.

Typischerweise werden Plattformen als skalierbare, ‘multi-tenancy’-Systeme gebaut. So können viele Nutzer gleichzeitig darauf zugreifen, was wiederum Skaleneffekte mit sich bringt, sodass Services zu einem erschwinglichen Preis angeboten werden können. Entwickler können dann Plattformen wie force.com oder Google App Engine nutzen, um eigene Anwendungen zu bauen und zu betreiben. In vielen Fällen sind diese Anwendungen “schlanker” als eigenständige Programme, da der Großteil der Geschäftslogik auf der Plattform existiert.

Entscheidet man sich für eine Plattform, arbeitet man in der Regel mit einer zweiteiligen Struktur: Auf der einen Seite hat man eine spezifische, gehostete Anwendung, die den gesamten Code für genau dieses Projekt enthält. Auf der anderen Seite gibt es die Plattform in der Cloud, die Daten erhält, berechnet und gemäß den Plattform-Algorithmen an die Anwendung zurückspielt. Entwickler könnten die Kommunikation zwischen beiden Komponenten entweder über direkte API-Aufrufe oder ein SDK (siehe unten) gestalten, um ihre eigentliche Arbeit zu erledigen.

Beispiele für Plattformen im Bereich E-Commerce sind Mozu und commercetools.

SDK

Um die Arbeit mit einer Plattform noch effektiver zu gestalten, stehen den Entwicklern meist ein oder mehrere Software-Development-Kits (SDKs) in verschiedenen Programmiersprachen zur Verfügung. In unserem Fall, also bei der commercetools-Plattform, bestehen diese SDKs in der Regel aus einer Reihe von Klassen, Utilities für das Debugging und Sample-Code. Das erleichtert den Bau einer Plattform-Anwendung doch um einiges.

Wie bei Frameworks (siehe oben) laden Entwickler diese SDKs auf ihr System herunter und beginnen dann dort zu arbeiten. Im Gegensatz zu einem Framework hat ein SDK jedoch keinen eigenen Nutzen. Es ist nur dann hilfreich, wenn Anwendungen für eine bestimmte Software oder Plattform entwickelt werden. Mit anderen Worten: ein SDK ist nur ein Werkzeug, um eine Anwendung zu schreiben, während ein Framework selbst zum Teil einer Anwendung wird.

Wir hoffen, mit diesem kleinen Ausflug in die Welt der Fachbegriffe konnten wir euch ein bisschen mehr Klarheit verschaffen, wenn es um die Unterschiede zwischen Plattform und Framework geht. Brennt euch dazu noch was auf der Seele? Dann lasst uns gerne einen Kommentar da.

Von | 2018-08-14T11:13:26+00:00 14. August 2018|Blog|Keine Kommentare

Schreibe einen Kommentar

Cookies sind für die korrekte Funktionsweise einer Website wichtig. Um Ihnen eine angenehmere Erfahrung zu bieten, nutzen wir Cookies, um statistische Daten zur Optimierung der Website-Funktionen zu erheben und um Ihnen Inhalt bereitzustellen, der auf Ihre Interessen zugeschnitten ist. Klicken Sie auf "Akzeptieren", um Cookies zu akzeptieren und direkt zur Website weiter zu navigieren; oder klicken Sie weitere Informationen, um eine Übersicht der von uns verwendeten Arten von Cookies zu erhalten und um zu entscheiden, ob bestimmte Cookies bei der Nutzung unserer Website gespeichert werden sollen. Weitere Informationen zum Datenschutz auf unserer Datenschutzerklärung.

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen