Movie clapper

Im Geschäftsalltag gibt es immer wieder Situationen, die es erfordern Entscheidungen nachzuvollziehen oder zu rechtfertigen. Aber was, wenn hierzu notwendige Informationen nicht mehr auffindbar oder überprüfbar sind? Versionierung kann dafür sorgen, dass Informationen nicht verloren gehen: Änderungen können nachverfolgt, alte Dokumente wiederhergestellt und sogar komplette Entscheidungsgrundlagen rekonstruiert werden. Versionierung schafft also eine lückenlose Transparenz getroffener Entscheidungen. Und genau darum geht es schließlich bei OPTANO: optimale Entscheidungen – 100% transparent!

Die OPTANO Plattform

OPTANO ist eine Optimierungssoftware – von erfahrenen Entwicklern gebaut und stetig erweitert. Im Laufe der Jahre sind viele Features hinzugekommen, die zunächst nicht für jeden Kunden einen messbaren Nutzen haben, die aber sowohl Nutzern als auch Entwicklern das Leben vereinfachen und auf die – wenn einmal kennengelernt – niemand verzichten möchte. Unser Ziel ist, dass unsere Software so gut ist, wie sie sein kann. Neue Features machen OPTANO stetig besser und benutzerfreundlicher. Wer mehr über die Hintergründe der OPTANO Plattform erfahren möchte liest Die OPTANO-Story – Wie alles begann…

OPTANO – Versionierung auf und hinter der Bühne

Eines dieser Features, die eine genauere Betrachtung verdienen, ist die „Versionierung und Revision in OPTANO“. Zunächst schauen wir uns die Datensatzrevision an: Sie ist der Akteur auf der Bühne. Sichtbar und überaus vorteilhaft für den Anwender. Die Quellcodeverwaltung agiert im Hintergrund: Mit ihrer Hilfe werden verschiedene Versionen des Quellcodes kontrolliert und zum richtigen Zeitpunkt zum Einsatz gebracht. Sie übernimmt sozusagen die Aufgabe des Bühnenbild-Schiebers, der ebenfalls das richtige Hintergrundbild zum richtigen Zeitpunkt bereitstellt.

Bühne frei für die Datensatzrevision

Oftmals ist es ausreichend, in einem Datenbestand nur den aktuellen Wert zu speichern – bei Änderungen wird dann der alte Datenwert einfach überschrieben. Doch immer häufiger besteht die Anforderung, alle Änderungen zu dokumentieren und archivieren, beispielsweise um nachvollziehen zu können, welcher Wert wann gültig war. Die Hauptaufgaben der Datensatzrevision sind Protokollierung, Archivierung und Wiederherstellung von Datensätzen:

  • Protokollierung der Änderungen: Es kann jederzeit nachvollzogen werden, wer wann was geändert hat.
  • Archivierung ermöglicht jederzeit den Zugriff auf ältere Versionen.
  • Wiederherstellung von alten Ständen einzelner Dateien: So können versehentliche Änderungen jederzeit wieder rückgängig gemacht werden.
  • Darstellung des Veränderungsverlaufs ermöglicht die Betrachtung von Veränderungen über einen Zeitraum (wichtig beispielsweise für die Betrachtung von Messwerten).

Die Erstellung und Archivierung alter Versionen birgt im Allgemeinen den Nachteil, dass Software langsamer wird. Um dies zu vermeiden, haben wir bei OPTANO die Versionierung auf die Datenbank verlagert. So ist effizientes Arbeiten und Planen mit OPTANO möglich – trotz (oder gerade wegen) Versionierung. Schon vor dem Deployment wird in OPTANO Architect festgelegt, ob eine Entität versioniert werden soll. Die Entität erhält einen entsprechenden Haken in ihrer View. Nach dem Deployment werden dann jegliche Änderungen der Entität in der Datenbank gespeichert. Die Verlagerung der Versionierung auf die Datenbank beinhaltet nicht nur ein schnelleres Arbeiten mit OPTANO, sondern ermöglicht zudem die Archivierung einer großen Anzahl von Versionen.

OPTANO Architect Versioning

Abbildung – Kennzeichnung der Entität zur Versionierung in OPTANO Architect

Für den Nutzer sichtbar werden die Informationen zur Versionierung im Revisionsbereich: Zusätzlich zum aktuellen Datenstand kann dieser am rechten Seitenrand geöffnet werden. Jeder Eintrag repräsentiert hier eine Revision des Datensatzes. Bei jedem Speichervorgang wird automatisch eine neue Revision angelegt. Jede Revision enthält einen Zeitstempel, die Benutzerkennung sowie eine Protokollierung der geänderten Felder. Zusätzlich kann ein Kommentar zu den Änderungen eingegeben werden. So schafft OPTANO lückenlose Transparenz getroffener Entscheidungen. (Hierzu eine kurze Anmerkung, da momentan viel über die neue DSGVO diskutiert wird: Natürlich kann auf die Speicherung der Benutzerkennung mit Hinblick auf den Datenschutz verzichtet werden.)

OPTANO Revisionarea

Abbildung – Revisionsbereich in OPTANO

Quellcodeverwaltung hinter der Bühne

Für den reinen Anwender von OPTANO nicht sichtbar, aber für Entwickler ein Feature, das die Programmierung von Software enorm erleichtert, ist die Versionsverwaltung der Quellcodes (z. B. mit Git). Diese Funktion, die vergleichbarer Software fehlt, steigert die Qualität des Entwicklungsprozesses von OPTANO enorm.

Auch bei der Quellcodeverwaltung ist eine der Hauptaufgaben die Protokollierung. So können Modifizierungen des Quellcodes mit Hilfe von Informationen wie Zeitstempel, Benutzerkennung und entsprechenden Kommentaren bis zum Zeitpunkt der Implementierung nachvollzogen und eventuell revidiert werden. Eine mächtige Funktion und große Hilfe bei einer gegebenenfalls notwendigen Fehlersuche beim Release komplexer Softwareprojekte.

Mit Hinblick auf unser Ziel viele nützliche Features zu entwickeln, zu verbessern und in OPTANO zu integrieren, greifen unsere Entwickler selbst auf die Vorteile der Versionsverwaltung von Quellcodes zurück: Features, die erst zu einem späteren Zeitpunkt oder zusammen mit weiteren als Funktionspaket in OPTANO eingebaut werden sollen, sind dank der Versionierung einfach realisierbar.

Wobei wir wieder beim Thema sind: Wir möchten unsere Software so gut machen, wie sie sein kann…

Schon gewusst?

Der Name „Git“ bedeutet in der britischen Umgangssprache so viel wie „Blödmann“. Linus Torvalds (Initiator von Git) erklärte seine Wahl des ungewöhnlichen Namens mit einem Witz, sowie damit, dass das Wort praktikabel und in der Softwarewelt noch weitgehend unbenutzt war:

„Der Witz ‚Ich benenne alle meine Projekte nach mir, zuerst Linux, nun eben Git‘ war einfach zu gut, um ihn nicht zu machen. Aber es (der Befehl) ist auch kurz, einfach auszusprechen und zu schreiben auf einer Standardtastatur, dazu einigermaßen einzigartig und kein gewöhnliches Standardkommando – sehr ungewöhnlich.” – Linus Torvalds1

1 https://de.wikipedia.org/wiki/Git