Es mag den Anschein haben, dass "es ein Geschäftsmodell für ein IT-Support-Unternehmen geben sollte, das sich auf ältere Plattformen wie diese konzentriert", aber ich persönlich denke, dass dies nur Wunschdenken von Ihrer Seite ist, da es die Herausforderungen "lösen" würde, denen Sie sich in einem Unternehmen gegenübersehen fiel sturzflug.
In alten Umgebungen stecken zu bleiben, ist nicht der richtige Weg. Und ich für meinen Teil würde das Leben eines Unternehmens nicht darauf wetten, festzuhalten, indem ich eine Firma finde, die bereit wäre, das zu tun, was Sie anscheinend nicht können.
Also keine Antwort auf die eigentliche Frage, die Sie gestellt haben, sondern aufrichtige Ratschläge, wie Sie vorankommen und gleichzeitig die Risiken einer Migration auf ein Minimum beschränken können.
Lesen Sie "So überleben Sie eine grundsätzliche Umschreibung, ohne Ihren Verstand zu verlieren"
Machen Sie nicht den Fehler eines langen Migrationsprojekts, das lange Zeit keine wirklichen Ergebnisse liefert. Lesen Sie "So überleben Sie eine grundsätzliche Umschreibung, ohne Ihren Verstand zu verlieren"
Ich kann nicht genug betonen, wie der Rat in diesem Artikel mir geholfen hat, ähnliche Probleme anzugehen / anzugehen, nachdem ich mich verbrannt habe, solche Projekte auf die "alte" Weise zu machen.
Richten Sie automatisierte Tests ein
Wenn Sie es noch nicht installiert haben (warum auch immer nicht?), Lassen Sie Ihre aktuellen Programmierer ein automatisiertes Test-Harness für Ihre Anwendungen erstellen.
Die automatisierte Testsuite sollte alle Funktionsbereiche Ihrer Anwendungen abdecken. Es sollte die aktuellen Arbeitsspezifikationen in "when_X_then_Y" -Regeln der einzelnen Testfälle dokumentieren. Dies hilft sowohl dabei, Änderungen in Ihrem aktuellen Code daran zu hindern, vorhandene Funktionen zu beschädigen, als auch die Migration in eine neue Umgebung zu unterstützen.
Da es sich um COBOL und BASIC handelt, sollte sich die Testsuite wahrscheinlich auf der Ebene von Integrationstests befinden: Abarbeiten eines "festen" Satzes von Eingabedateien / Datenbanken und Überprüfen der Ausgabedateien / geänderten Datenbankinhalte bestimmter Programme (COBOL) und / oder anwendungen. Für die BASIC-Teile Ihrer Software kann dies bedeuten, dass Sie Befehlszeilenparameter hinzufügen, um bestimmte Funktionen ohne (G) UI-Eingriffe auszuführen, oder ein (G) UI-basiertes automatisiertes Testtool erwerben.
Isolieren Sie Berechnungen und andere Algorithmen
Selbst Cobol unterstützt die Vorstellung von Unterprogrammen, die von einem Hauptprogramm aus aufgerufen werden können. Isolieren Sie alle Importberechnungen und andere Algorithmen in separaten Programmen oder Modulen. Ziel ist es, eine Bibliothek von Programmen / Modulen / was auch immer zu erstellen, die die Grunzarbeit isoliert von allem, was Input sammelt und Output erzeugt.
Passen Sie das Testkabel an, um es sowohl in Ihren alten Anwendungen als auch isoliert zu testen. Dadurch wird sichergestellt, dass die Arbeit, die Sie am "alten" Code ausführen, um die Migration in eine neuere Umgebung zu erleichtern, so wenig Fehler wie möglich verursacht.
Starten Sie eine neue Reihe von Anwendungen in einer "aktuellen" Umgebung
Konvertieren Sie Ihren aktuellen Code nicht. Das Konvertieren einer Sprache in eine andere bedeutet, die Einschränkungen der alten Umgebung der neuen aufzuerlegen. Das Ergebnis ist oft weniger als wünschenswert (lesen Sie: Das Ergebnis wird schrecklich sein und ein Schmerz, den es zu erhalten gilt). Wandern. Nehmen Sie sich die Zeit, um Ihre Anwendungen in der neuen Umgebung so einzurichten, dass sie als Best Practice für diese Umgebung gelten.
Holen Sie sich dazu neue Programmierer, die sich in der von Ihnen gewählten Umgebung auskennen. Machen Sie es vom ersten Tag an zur Priorität, alle wichtigen Berechnungen und Algorithmen in separaten Klassen und / oder Paketen zu isolieren und hinter Schnittstellen zu verstecken. Verwenden Sie die Abhängigkeitsinjektion (die billigste Art der DIY-Abhängigkeitsinjektion), um Ihrer neuen Anwendung mitzuteilen, welche Klassen instanziiert / für die Berechnungen verwendet werden sollen.
Dies ist ohnehin eine gute Möglichkeit, Dinge zu tun, und in Ihrem Fall können Sie diese wichtigen Teile fallweise migrieren. Außerdem werden die Schwierigkeiten beim Aufrufen von Basis- und / oder Cobol-Programmen vor den aufrufenden Funktionen in der neuen Umgebung verborgen.
Gehen Sie nicht weiter als bis zur Einrichtung der Anwendungen und vielleicht bis zur Einrichtung der wichtigsten Ein- / Ausgabefunktion, die eine Berechnung aus Ihrer COBOL / BASIC- "Bibliothek" verwendet.
Integrieren Sie Ihre COBOL / BASIC "Bibliothek"
Finden Sie heraus, wie Sie Ihre COBOL / BASIC-Bibliothek in Ihrer neuen Umgebung aufrufen können. Dies kann das Einrichten von Parameterdateien oder Datenbanktabellen sowie das Ausführen eines COBOL / BASIC-Programms umfassen, das die zuvor eingerichtete COBOL / BASIC-Bibliothek umschließt. Wenn Sie Glück haben, können Sie mit Ihrer BASIC-Version möglicherweise DLLs erstellen, die direkt aufgerufen werden können.
Implementieren Sie die Klasse in Ihrer neuen Umgebung, die die COBOL / BASIC- "Bibliothek" aufruft, und testen Sie sie mit denselben Tests, die sich im Testgeschirr der alten Umgebung befinden, jetzt jedoch in Form von Komponententests in der neuen Umgebung .
Ja, dies bedeutet, die Tests zu "duplizieren", aber es ist ein Sicherheitsnetz, auf das Sie nicht verzichten möchten. Schon allein deshalb, weil diese Komponententests später als Tests dienen, um die Implementierung Ihrer Berechnungen und Algorithmen zu überprüfen, wenn sie in Ihre neue Umgebung migriert werden.
Aber noch einmal: Gehen Sie nicht weiter, als die Einheitentests für die Berechnung (en) hinzuzufügen, die von der Einzelnen verwendet werden, die aus dem vorherigen Schritt am wichtigsten ist.
Erarbeiten Sie die neuen Anwendungen in Iterationen
Entwickeln Sie die neuen Anwendungen, indem Sie die vorherigen beiden Schritte für alle Funktionen in Ihren alten Anwendungen wiederholen. Fügen Sie immer wieder die Komponententests hinzu, mit denen die Berechnungen im Testkabel Ihrer neuen Anwendung überprüft werden. Verwenden Sie die Integrationstestsuite, um zu überprüfen, ob die migrierten Funktionen mit Ihren alten Anwendungen identisch sind.
Migrieren Sie die Kernbibliothek in Iterationen
Und schließlich migrieren Sie die Berechnungen und Algorithmen in Ihrer COBOL / BASIC- "Bibliothek" und implementieren Sie sie erneut in Ihrer neuen Umgebung. Wiederholen Sie dies iterativ, indem Sie die (Einheiten-) Tests verwenden, um Ihre geistige Gesundheit zu erhalten.