joBase-Entwicklung mit joBase-Entwicklungen
Diese Weißheit zeugt davon, dass sich Ausdauer, Mühe und Geduld lohnen. Zum Schluss wird alles gut.
In meiner Nebenberufung als Laienprediger für digitale Unterstützung von Prozessen im Büroalltag, habe ich mich einem Selbstversuch hingegeben. Ich habe gemerkt, dass meine Abläufe zwar digital unterstützt waren, sich jedoch die Anforderungen an meine Organisation in den letzten 10 Jahren geändert haben mussten. Also war und ist Selbsttherapie angesagt.
Vor etwas über 10 Jahren führte ich bereits digitales Projektmanagement ein mit Zeiterfassung von Projekten und digitaler Abrechnung von Telefonaten. Ebenfalls kam mit Beginn der joBase-Entwicklung eine Versionverwaltung und JIRA als Ticket-System zu mir in den Büro-Alltag.
Was es bisher nicht in mein Büroalltag geschafft hatte, war mein eigenes Programm joBase. Welche ine Schande.
Digitale Systeme sind gut, wenn sie gut integriert sind: Immerhin, meine Zeiterfassung konnte damals schon Telefonanrufe zu Projekten zuordnen und diese dann in der Buchhaltung zur Abrechnung anlegen. Vor 10 Jahren Bestand meine Tätigkeit auch zu 2/3 aus Telefonieren und Support. Da war das wichtig und auch gut so.
Bei der Softwareentwicklung ging es langsamer voran: Ein Projekt ging über einige Tage bis einige Wochen. Release-Planung für einige Wochen, wenige Kunden, wenige Abhängigkeiten. Die Planung war gut und es wurden viele Dinge wie Patches per Hand gebaut.
Der IT-Support ist bei mir vor 5 Jahren weggefallen; die Anforderungen und Abhängigkeiten in der Entwicklung haben sich verstärkt. Ich merkte zunehmen, auch mit der Organisation im Zusammenspiel mit meinem Mitarbeiter, dass die Systeme nicht mehr optimal und passend sind.
Das vorherige Bild bzw der Screenshot zeigt eine aktuelle Aufnahme von meiner Versionsverwaltung. Bereits 2014 hatte ich die Grundlage für den joMailProcessor gelegt, einer Erweiterung zur Verarbeitung (Empfang und Versand) von Emails. Die Umsetzung wurde jedoch immer weiter verschoben und letztlich blieb das sogenante Repository leer und wurde schlicht vergessen.
12 Jahre später ist die Idee nun endlich Wirklichkeit geworden. Die joBaseMail-Erweiterung (der Name hat sich leicht geändert) ist als Projekt in der Version 1.0 angekommen und hat sowohl im JIRA ein eigenes Projekt und in der Quellcodeverwaltung ein eigenes Projekt bekommen.
Die Überraschung, das alte Konstrukt daneben zu sehen und die Freude, dass die Ideen nun endlich "fertigt" werden, ist jedoch so groß, dass dieser Artikel entsteht.
In den letzten Monaten wurde viel KnowHow, Zeit und Schweiß in die joBase-Entwicklung investiert.
Zum einen wurde eine eigene beschreibende Sprache für die Datenbankmodellierung konzipiert und auch realisiert. Diese Sprache vereinfacht die Gestaltung von Datenbanken und löst Probleme bei Aktualisierung und Verteilung in den joBase-Applikationen.
Einige alte, interne Systeme wurden durch joBase-Applikationen ersetzt. Die joBase-Basis ermöglicht zudem eine verbesserte und moderne Integration zu den übrigen bestehenden Systemen. Die Modernen Replikationstechniken erlauben nun auch einfache Zugriffe auf andere Systeme wie Microsoft M365, Cloud-Telefonie und vieles mehr.
Folgend einige Punkt in einer detaillierteren Darstellung:
In Zusammenarbeit mit der Hochschule Osnabrück und der Begleitung von Prof. Dr. Thiesing hat mein Mitarbeiter Miikka Koensler untersucht, wie eine Automatisierung der Datenbankmodell-Änderungen bei der Entwicklung und Aktualisierung der joBase-Instanzen erreicht werden kann. Die Integration existenter Lösungsansätze sind teilweise nur durch aufwändige Umprogrammierung möglich oder decken nicht alle Aspekte der joBaseEntwicklung ab.
Daher wurde eine IRDSL (Intermediate Representation Domain Specific Language) entwickelt. Eine Sprache in Anlehnung an den SQL-Dialekt zur Beschreibung von Datenbankmodellen, jedoch mit einem zeitlichen Bezug zu den Datenänderungen. Kein anderer Ansatz verfolgte diesen Bezug in unserer Recherche.
Was heißt das nun für die Entwicklung?
Bisher haben wir zu Beginn der Entwicklung Tabellen definiert. Änderungen daran erfolgten über einzelne Skripte, die sowohl in der Entwicklungsumgebung als auch in den Kundenprogrammen eingespielt wurden. Wichtig ist zudem die Reihenfolge und die exakte einmalige Ausführung. Eine Tabelle bei den Kundeninstallationen besteht also aus:
Tabelle + Änderung 1 + Änderunge 2 + Änderung 3 + Änderung x
Der neue Ansatz definiert, wie die Tabellen aussehen sollen. Änderungen erfolgen direkt in der Modellsprache. Manuelle Skripte gibt es nicht mehr. In joBase wurde der Modelsync integriert. Dieser übernimmt auf Knopfdruck den Abgleich zwischen soll und ist.
Es gibt also nur noch die eine einzige Definition: Tabelle
Ein Nebeneffekt: Aus der Definition lassen sich auf Knopfdruck ganze Datenbank-Schaugrafiken erzeugen.
Die grundlegende Struktur von joBase durch die neue Datenmodell-Definition ist nun wesentlich flexibler und unabhängiger voneinander. Zudem wurden Integration in die Top-Navigation, dem Administrationsmenü und den allgemeinen Hintergrundfunktionen flexibler gestaltet. Es gibt eine losere Kopplung vom Kernsystem und den Erweiterungen (Plugins).
Größere Funktionensmodule von joBase werden nun komplett als eigenständige Plugins ausgelagert.
Um jedoch den Überblick zu behalten, wurde das neue joBase-Repository auf Basis des joBaseFramework entwickelt. Dadurch konnte der Aktualisierungsprozess wesentlich verbessert werden. Auf Knopfdruck können Aktualisierungspakete generiert und für Kundeninstallation freigegeben werden. Die Kundeninstallationen holen automatisiert die Aktualisierungen für das joBase-Framework, die gebuchte joBase-Erweiterungen oder die Kundenindividuellen Entwicklungen ab.
Es muss lediglich das Update in der Installation freigegeben und im Anschluss der neue IR-Modelsync für die Datenbankaktualisierung ausgeführt werden.
In dem aktuellsten Prototypenprojekt wird joBase zur Hardware. Der joBaseScreen ist ein Energie-effizienter ein oder zweifarbiger EInk-Bidlschirm im Format 16x10cm. Der Bildschirm im Gehäuse ist nur 4mm dick und steckt auf einem leichten Standfuß, in dem der Microcontroller untergebracht ist. Das Design ist vollständig made in Korschenbroich.
joBase Screen ist der perfekte Begleiter, um Daten aus joBase ohne PC oder Tablet auf dem Schreibtisch zu visualisieren.
Die aktuelle Änderungsgeschwindigkeit in vielen Bereichen ist sehr stark ausgeprägt. Um so mehr Freude macht es mir, dass nach über 10 Jahren Entwicklung und produktiver Betrieb joBase als Grundlage für Webapplikationen stabiler, besser und flexibler denn je ist. Der zuverlässige Oldtimer paart sich mit dem modernen E-Auto.
Viele langjährige Ideen konnten in den letzten Monaten umgesetzt werden:
Die IRDSL, der Einsatz der vollintegrierten Aktualisierungsbereitstellung und auch die hier bisher nicht erwähnte interne Kommunikations- und Projektverfolgung-Applikation joBaseMy, die vor ein paar Monaten in meinem Büro einzug gehalten hat, bilden das Rückgrat für die bisher qualitativ hochwertigste und effizienteste Projektbegleitung Ihrer Softwareideen.
Ich bin im Moment voller Vorfreude und restlos begeistert, die neuen spannenden Dinge mit Ihnen teilen zu dürfen.
Haben Sie auch eine Idee oder einen Wunsch für eine eigene digitale Untersütung? Sprechen Sie mich an: 02161-999055