Modularer Aufbau
Die leistungsfähige, skalierbare Kernarchitektur besteht aus Komponenten für
- Routineaufgaben und Schnittstellenfunktionen (Job-Engine),
- Speicher- und Workflow-Vorgänge sowie
- Kommunikations- und Webaufgaben,
die miteinander interagieren.
Die Job-Engine führt zeit- oder ereignisgesteuert Abfolgen von Aufgaben aus (sogenannte Job-Bundles, die aus beliebig vielen Einzeljobs bestehen können). Sie kann beispielsweise eine Datei, die in ein definiertes Verzeichnis gespeichert wird, einlesen und daraus Buchungen in einer Finanzbuchhaltung erzeugen. Oder daraus eine pdf-Datei erzeugen.
Oder über Nacht Millionen von Verkaufspreisen neu berechnen und vom ERP-System an ein Shop-System senden. Sie kann auch einen in einem ERP-Datenbank geänderten Kunden-Stammsatz sofort an ein Shop-System übertragen. Oder einen Auftrags-Statusbericht automatisch erzeugen und per eMail an den Kunden verschicken.
Eine Vielzahl vordefinierter Funktionen macht die Umsetzung solcher Aufgaben sehr einfach. Es gibt beispielsweise Datenbank-Jobs zum Lesen und Schreiben von SQL-Datenbanken. Ein Lesen-Job auf der Quelldatenbank und danach ein Schreiben-Job auf der Zieldatenbank können zwei Systeme mit geringem Aufwand synchronisieren (und wenn Sie der Meinung sind, das sei in der Praxis aber gar nicht trivial mit Transaktionssicherheit, Primärschlüsseln und so weiter – das wissen wir und haben es natürlich gelöst).
Die Speicher- und Workflow-Komponente setzt auf eine der modernsten so genannten No-SQL-Datenbanken: MongoDB. In dieser Datenbank können Objekte (ein Objekt in beispielsweise ein Kundendatensatz) so gespeichert werden, wie die Anwendungssoftware sie erstellt. Wo herkömmliche, relationale Datenbanken den Kunden-Datensatz also in Tabellen und Spalten aufteilen müssen, speichert MongoDB einfach die Daten mehr oder weniger so wie sie sind. Und kann sie trotzdem oder gerade deshalb extrem schnell wiederfinden. Die Speicherkomponente ist so leistungsfähig, dass sie nicht nur die Basis großer Internet-Shops darstellt sondern darüber hinaus eine führende Rolle im „Internet-Of-Things“ spielt und beispielsweise bei der Speicherung von Sensordaten von Kraftwerken oder Fahrzeugen genutzt wird.
Dem Wachstum Ihres Unternehmens sind damit also kaum Grenzen gesetzt.
Die Kommunikations-Komponente leistet die Anbindung der Anwender an das System. Per HTTPS und RestFul-WebServices können Daten schnell und sicher über das Internet ausgetauscht werden. Und wenn Ihnen das zu modern ist: ein FTPS- und WebDAV-Server gehört ebenso zum Standardumfang wie die Anbindung an eMail-Server zum Lesen und Senden von eMails.
Skalierung, Hochverfügbarkeit und zentrale Überwachung
Wenn ein Server in Ihrem Unternehmen nicht ausreicht, kann ExsoFlow auf mehrere Server verteilt werden. Die Datenhaltung kann optional hochverfügbar erfolgen, so dass auch im Falle von Unfällen, Naturkatastrophen oder Sabotage die Daten auf entfernten Systemen online vorgehalten werden und Sie die ausgefallenen Standorte („Knoten“) in kurzer Zeit wieder einsatzfähig machen können. ExsoFlow-Server können sich zudem gegenseitig überwachen und Alarm geben, wenn ein Server ausfällt.
Die Steuerung und Überwachung beliebig vieler ExsoFlow-Server erfolgt über eine Management-Console vom Arbeitsplatz des Administrators aus.
Plug-Ins
Ein Highlight der ExsoFlow-Serverarchitektur ist die Möglichkeit, mit PlugIns zu arbeiten. Das sind modulare Erweiterungen, die neue Funktionalitäten, Jobs und Benutzeroberflächen anbieten. Sie können weitestgehend unabhängig von ExsoFlow entwickelt werden. Die PlugIn-Fähigkeiten erkennt ExsoFlow automatisch und bindet sie in das System ein.
ExsoFlow-PlugIns können mit überschaubarem Aufwand für alle denkbaren Anwendungs-Szenarien entwickelt werden. Außer der Berücksichtigung einiger Vorgaben des Servers steht Ihrer Fantasie nichts im Wege. Es gibt standardisierte Plug-Ins zur Anbindung an Finanzbuchhaltungs-, ERP- und Webshop-Lösungen, daneben existieren spezielle PlugIns für individuelle Projekte.