Im Zeitalter des PC war Software noch einfach aufgebaut: Ein Programm speicherte die Daten lokal auf dem PC und stellte dem Nutzer eine Oberfläche bereit, um auf die Daten zuzugreifen. Mit der Entwicklung des Internets und der großen Bandbreite an Endgeräten (PC, Smartphone, Tablet, Maschinensteuerung, Sensoren) wächst der Wunsch, vernetzt auf die Daten zuzugreifen. Was das aber für Gefahren bedeutet, wurde klar, als mit der Verbreitung des Internets die ersten Viren aufkamen.
Erste Evolution: Trennung von Anwendung und Speicherung der Daten
Die meisten Anwendungen aus den 2000er-Jahren haben ihre eigenen Datei-Formate. Die Dateien müssen in den Arbeitsspeicher geladen werden und organisieren sich erst dort in Speicherstrukturen, auf die schnell zugegriffen werden kann. Das führt dazu, dass gerade bei großen Datenmengen der PC abstürzt. Heutige Software verwendet für die Speicherung eher Datenbanken. Diese bauen von selbst Strukturen auf, mit denen man effektiv auf die Daten zugreifen kann, egal wie groß diese anwachsen. Mit der Abfragesprache SQL gibt es eine standardisierte Kommunikationsleitung zum Speicher-Backend.
Zweite Evolution: Trennung von Geschäftslogik und Oberfläche
Saubere Software enthält zwar schon intern eine Trennung der Geschäftslogik von der Oberfläche. Das war jedoch eine interne Aufteilung innerhalb der Software. Trennt man diese zwei Komponenten tatsächlich in zwei Programme auf, die nur über eine Netzwerk-Leitung miteinander kommunizieren, ergibt sich folgende Situation:
- Die Geschäftslogik kontrolliert, welche Aktionen (z.B. „Kunde hinzufügen“) durch welche Nutzer erlaubt sind
- Die Oberflächen stellen lediglich die Daten dar und leiten Aktionen an die Geschäftslogik weiter
- In der Geschäftslogik haben Sie nun die komplette Kontrolle über alle Daten inklusive den Zugriffsrechten
- Eine Software ist nun nicht mehr an eine Oberfläche gebunden. Sie können eine PC-Oberfläche, eine Tablet-Oberfläche und einen autonomen Druck-Service im Keller einrichten, die alle auf dieselbe Geschäftslogik zugreifen
- Die Kommunikation zwischen den Oberflächen und der Geschäftslogik erfolgt über eine sogenannte Web-API
WebAPIs
Die Bereitstellung der Geschäftslogik über das Netzwerk oder das Internet geschieht über das bereits von Browsern benutzte HTTP-Protokoll. Über das HTTP-Protokoll werden die Anfragen und Antworten gesendet. Damit die Daten maschinenlesbar sind, werden diese noch in ein Zwischenformat eingepackt: Entweder dem altbekannten XML oder dem kompakteren JSON.
Was bedeutet das für Anwender
Setzen Sie eine Web-API ein, sind Sie flexibler und ungebundener! Ihre Kern-Geschäftslogik ist in einem zeitlosen Programm festgehalten, das mit der Datenbank kommuniziert. Ob in Zukunft noch MS Windows benutzt wird, oder alles über Tablets läuft – wer weiß? Jedenfalls können Sie die Oberflächen, die auf die Geschäftslogik zugreifen, beliebig austauschen. Sollten Sie noch alte Datenbestände haben, können Sie problemlos über die WebAPI Bestandsdaten einfüttern. Genau so funktioniert der Export. Die von allen Entwicklern lesbaren Formate XML und JSON sichern Ihnen potenziell Unterstützung durch beliebige Fremdfirmen zu.
Somit gehen Sie weg von einer Insellösung hin zu einer vernetzbaren Softwarekomponente, die Sie an verschiedene andere Datenquellen anschließen können.
Comments are closed