subSlider_softwareFeatures

In der Entwicklung von Baresto setzen wir auf modernste Technologien, um den höchsten Ansprüchen in puncto Zuverlässigkeit, Schnelligkeit und Benutzerfreundlichkeit zu genügen. Im Vordergrund steht dabei die konsequente Anwendung funktionaler Programmierung.


Die Baresto Software-Architektur

ebenen_new

Die Desktop-Anwendung besteht aus einem Backend und dem User-Interface, welche über eine asynchrone Schnittstelle mit dem Backend kommuniziert.

Dahinter verbirgt sich eine klare Trennung der Aufgaben. Das Backend bewältigt die interne Verarbeitung von Daten, das heißt die Verwaltung der Geschäftsdaten, sowie deren Validierung und Transformation von und nach XBRL. Das User-Interface ist für die Darstellung der interaktiven Bedienelemente verantwortlich.

Auf der anderen Seite sind das Backend und das User-Interface auch technologisch unterschiedlich. Während das Backend in Haskell entwickelt ist, ist das User-Interface in PureScript geschrieben. Hintergrund für die Trennung ist die Unterschiedlichkeit der jeweiligen Anforderungsbereiche und die Philosophie “Für jede Aufgabe das richtige Tool”.

Das Backend stellt eine REST-Api zur Verfügung, die vom User-Interface asynchron angesprochen wird. Diese Schnittstelle trennt auch die Verantwortungsbereiche: Das Backend stellt Daten an definierten Endpunkten zur Verfügung. Das User-Interface reagiert direkt auf Nutzeraktivität und greift für Aufgaben, welche intensive Datenverarbeitung erforderlich machen (z.B. XBRL-Erzeugung) auf den jeweiligen Endpunkt zurück.

Diese Architektur hat dabei Vorteile sowohl hinsichtlich User-Experience und Performance. Arbeitsintensive Aufgaben werden an das Backend abgegeben und dort im Hintergrund bearbeitet. Selbst wenn die Datenverarbeitung im Backend mal einen Augenblick dauern sollte, bleibt das User-Interface immer ansprechbar. Das Aufrechterhalten der Reaktionsfähigkeit selbst bei hoher Arbeitslast ist ein wichtiges Qualitätsmerkmal moderner Software.

XBRL® Reporting Software, COREP® FINREP® Banking Reporting, Taxonomy & Validierung