Quelltext und Abhängigkeiten

Für die Weiterentwicklung wird der vollständige Projektstand benötigt: Quelltext, Versionshistorie, verwendete Bibliotheken und die Angaben zu deren Versionen. Bei kommerziellen Komponenten gehören auch Lizenzen und Ansprechpartner dazu. Welche Nutzungsrechte übertragen werden, wird im Auftrag festgelegt.

Ein neues Team muss erkennen können, welche Teile zum Projekt gehören und welche aus externen Paketen stammen. Bei unserem öffentlichen Foundation-Kern gilt die MIT-Lizenz; kommerzielle Erweiterungen werden gesondert vereinbart.

Quelltext wird mit einer Build-Anleitung in eine ausführbare Version übersetzt. Für den Betrieb kommen Daten und Einstellungen hinzu.Quelltext wird mit einer Build-Anleitung in eine ausführbare Version übersetzt. Für den Betrieb kommen Daten und Einstellungen hinzu.
Der Weg zur laufenden Anwendung: Quelltext bauen, Daten und Einstellungen bereitstellen, Betrieb prüfen.

Bauen und starten

Eine Build-Anleitung beschreibt, wie aus dem Quelltext eine ausführbare Version entsteht. Dazu gehören benötigte Werkzeuge, Versionsstände und erreichbare Paketquellen. Bei .NET kann eine festgelegte SDK-Version verhindern, dass verschiedene Entwicklungsrechner unbemerkt unterschiedliche Werkzeuge verwenden.

Die Probe erfolgt in einer frischen Umgebung. Dabei wird sichtbar, ob lokale Dateien oder Einstellungen fehlen, die bisher nur auf einem Entwicklerrechner vorhanden waren. Anschließend wird die Anwendung mit einer dokumentierten Beispielkonfiguration gestartet.

Daten wiederherstellen

Zum Datenbestand können neben der Datenbank auch hochgeladene Dateien, Dokumente und zugehörige Schlüssel gehören. Die Sicherung muss diese Bestandteile passend zueinander enthalten. Die Wiederherstellungsprobe zeigt, ob Datensätze, Anhänge und wichtige Abläufe danach wieder nutzbar sind.

Zwei Zeitangaben helfen bei der Planung: Wie lange darf die Anwendung ausfallen, und aus welchem Zeitraum dürfen im Fehlerfall Änderungen fehlen? Daraus ergeben sich Anforderungen an Sicherungsrhythmus und Wiederanlauf. Die maximale Ausfallzeit wird häufig als RTO bezeichnet, die zulässige Datenlücke als RPO.

Ein Beispiel: Der letzte wiederherstellbare Datenstand stammt von 08:00 Uhr. Um 10:00 Uhr fällt die Anwendung aus, um 10:30 Uhr ist sie wieder nutzbar. Die Unterbrechung dauert eine halbe Stunde. Im wiederhergestellten Stand fehlen aber die Änderungen aus den zwei Stunden vor dem Ausfall.

Beispiel auf einer gemeinsamen Zeitskala: Datenstand von 08:00 Uhr, Ausfall um 10:00 Uhr, wieder nutzbar um 10:30 Uhr. Zwei Stunden Änderungen fehlen, der Ausfall dauert dreißig Minuten.Beispiel auf einer gemeinsamen Zeitskala: Datenstand von 08:00 Uhr, Ausfall um 10:00 Uhr, wieder nutzbar um 10:30 Uhr. Zwei Stunden Änderungen fehlen, der Ausfall dauert dreißig Minuten.
Datenlücke und Ausfallzeit sind zwei unterschiedliche Größen. Der Zeitstrahl zeigt ein Rechenbeispiel.

Zugänge und Verantwortung

Die Übergabe erfasst Server, Domains, Zertifikate, Datenbanken und angebundene Dienste samt zuständigen Personen. Projektbezogene Konten sollten sich durch das betreibende Unternehmen verwalten lassen. Persönliche Konten eines bisherigen Dienstleisters dürfen nicht unbemerkt Voraussetzung für den Betrieb bleiben.

Passwörter und Schlüssel werden getrennt vom Quelltext übergeben und bei einem Verantwortungswechsel nach Bedarf erneuert. Gemeinsam wird festgelegt, wer Störungen bearbeitet, Zugänge entzieht und ablaufende Zertifikate erneuert.

Änderungen nach der Übergabe

Für die nächste Version werden auch Datenbankänderungen, Konfiguration und ein möglicher Rückweg dokumentiert. Das Zurücksetzen einer Programmdatei nimmt neue oder veränderte Daten nicht automatisch zurück. Vor einem Update wird deshalb geprüft, welche Version mit welchem Datenstand zusammenarbeitet.

Automatisierte Tests und einige dokumentierte Geschäftsabläufe helfen beim Vergleich. Ein Beispiel ist ein Auftrag, der angelegt, freigegeben und als Dokument ausgegeben wird. Erwartete Ergebnisse machen die Prüfung auch für ein übernehmendes Team nachvollziehbar.

Die Vorbereitung von Softwareupdates behandelt Einführung, Rückwege und die Prüfung im laufenden Betrieb.

Übergabe prüfen

  • Den vereinbarten Quellstand aus der Versionsverwaltung abrufen.
  • Eine Version in einer frischen Umgebung erstellen.
  • Die Anwendung mit dokumentierten Einstellungen starten.
  • Eine Sicherung samt Anhängen wiederherstellen und prüfen.
  • Einen vollständigen Geschäftsablauf mit Beispieldaten durchgehen.
  • Zugänge, Zuständigkeiten und den nächsten Updateablauf übergeben.

Projekt und Betrieb

Technischer Hintergrund: Microsoft: Auswahl der .NET-SDK-Version mit global.json und Microsoft: Wiederherstellungsziele und erprobte Abläufe (englisch).