Wissen / Softwarearchitektur
Softwarearchitektur für modulare und wartbare Geschäftssysteme.
Softwarearchitektur entscheidet, ob ein System in fünf Jahren noch änderbar ist. Dieser Bereich sammelt die Prinzipien, nach denen die Systeme von intelliMSystems gebaut sind — hergeleitet aus der laufenden Arbeit, nicht aus Lehrbuchbeispielen.
Grundlage
Architektur ist die Summe der Entscheidungen, die später teuer zu ändern sind.
Funktionen lassen sich austauschen. Ein Datenmodell, eine Mandantentrennung oder die Frage, welches System für welche fachliche Wahrheit zuständig ist, lassen sich das nicht — jedenfalls nicht ohne Migration. Genau diese Entscheidungen sind Architektur.
Deshalb werden sie bei intelliMSystems vor der Implementierung getroffen und dokumentiert, statt sich im Laufe des Projekts nebenbei zu ergeben.
Prinzipien
Vier Fragen vor jeder Implementierung.
Wer besitzt die fachliche Wahrheit?
Für jede fachliche Information gibt es genau ein zuständiges System. Buchungsdaten gehören in das Buchungssystem, Rechnungsdaten in die Rechnungsverarbeitung. Kopien sind Ableitungen, keine zweite Quelle.
Was ist gemeinsam, was ist speziell?
Anmeldung, Rechteprüfung, Mandantentrennung und Protokollierung sind in allen Systemen dasselbe Problem. Fachliche Abläufe sind es nicht. Nur das Erste wird geteilt.
Wie werden Mandanten getrennt?
Trennung von Daten unterschiedlicher Mandanten ist eine Frage des Datenmodells und der Zugriffslogik, nicht eine Einstellung im Frontend. Sie wird zu Beginn entschieden.
Was passiert bei Änderung?
Eine Architektur ist gut, wenn eine typische Änderung an wenigen, klar benennbaren Stellen passiert — und schlecht, wenn niemand vorher sagen kann, wo überall.
Vertiefung
Ausführliche Beiträge zu diesem Cluster.
In der Praxis
Wie diese Prinzipien in den eigenen Systemen sichtbar werden.
Die konkrete Umsetzung ist unter Software-Plattform beschrieben. Ein Beispiel für geteilte Fachlogik ist die E-Rechnungssoftware, die Rechnungsverarbeitung einmal löst statt in jedem angeschlossenen System erneut.
Wer ein System nach diesen Prinzipien bauen lassen möchte, findet den Einstieg unter Individualsoftware.
Architekturfrage im eigenen Projekt?
Architekturentscheidungen lassen sich am besten am konkreten Fall besprechen.