2016-06-17 16 views
1

Gibt es in der COBOL-Welt eine transitive Abhängigkeitsverwaltung?Abhängigkeitsverwaltung für COBOL

Gibt es irgendein Repository-System für COBOL-Binärdateien?

+0

Werfen Sie einen Blick auf http://maven-nar.github.io/ Könnte helfen ...? – khmarbaise

+0

Bitte fügen Sie einen Kommentar hinzu, wenn Sie die Frage runterziehen. Ich würde gerne verstehen, wie ich die Frage verbessern kann. –

+0

Wurde nicht abgelehnt. – khmarbaise

Antwort

4

Die Antwort für Ihre (sehr breite aber noch gültige) Frage wäre "NEIN", wie die Kommentare bereits andeuten. Für diese Antwort definiere ich "Abhängigkeitsmanagement-Software" als eine Software, die hilft zu sehen, welche Programme und Dateien benötigt werden, um eine Anwendung (die aus vielen COBOL-Programmen besteht [sonst benötigen Sie keine Verwaltung dafür]), idealerweise versioniert [Für Version N von Programm X würde ich die Programme Y und Z in der Version M zusammen mit den Dateien A und B benötigen).

Was ein Arbeitsabhängigkeitssystem für COBOL schwer macht, ist, dass Sie eine einfache haben würde Source-Level-Abhängigkeit zu verfolgen (die nur aus Quelle und kopieren Bücher) und eine Laufzeitabhängigkeit, die Sie nicht können Spur:

CALL "SOMEMODULE" (mehr oder weniger statische Aufrufe) können leicht verfolgt werden, aber oft sehen Sie CALL somemodule (hoch dynamische Aufrufe, wo der tatsächliche Modulname in einer Variablen gespeichert ist). Für den späteren müsste man nach allen möglichen Werten suchen, die die Variable bekommen kann (manchmal nur eine einfache MOVE "PROG" direkt vor der CALL, manchmal wird die Variable von Unterprogrammen geändert oder sogar aus einer Datei/DB/was auch immer). Die zweite Abhängigkeit, die Sie normalerweise haben, sind Dateien/DB-Verbindungen. Diese sind meist nicht statisch wie in ASSIGN to "file1" sondern dynamisch ASSIGN TO filename mit den gleichen Problemen wie bei den dynamischen Programmaufrufen.

Daher haben Sie oft kein echtes Abhängigkeitsmanagement (wie oben definiert), sondern nur versionierte "Snapshots" von [kompilierten] COBOL-Programmen und -Dateien mit allem, was zusammengepackt ist (sollte).

In der "Windows/Unix-Welt" haben Sie sie in einem Archiv abgelegt, eine Backup-Prozedur (vielleicht inkrementell) oder eine Versionsverwaltung, die für Binärdateien funktioniert.

+0

Sie scheinen das Abhängigkeitsmanagement so zu definieren, dass es mit der Verfolgung zusammenhängt, was ein COBOL-Programm "berührt". Beachten Sie, dass "statische" Verweise (auf extern aufgerufene Unterprogramme, auf externe Dateien mit festverdrahteten Konstanten) möglich sind, dass aber auch "dynamische" Verweise (mit berechneten Werten) möglich sind. Sie implizieren, dass das Nachverfolgen der Letzteren schwieriger ist (Ja, es ist aber praktisch machbar). Ich verstehe die "daher" -Klausel nicht; Es hört sich so an, als würden Sie ein funktionierendes Set von Binärdateien als "Abhängigkeitsverwaltung" zusammenpacken. Habe ich das richtig? –

+0

... scheint die seltsame Eigenschaft zu haben, dass alle * Programme *, die Sie benötigen, um eine Anwendung auszuführen, gebündelt sind, aber nicht alle Programme * und Dateien *, Sie haben jedoch die (dynamische) Abhängigkeit von Dateien deutlich betont. (Rufen Sie mich verwirrt an). –

+0

Vielen Dank für das Feedback. Ich habe die Antwort bearbeitet und hoffe, dass es jetzt klarer ist. Und "machbar auf praktische Weise" bedeutet meist, einige Informationen manuell hinzuzufügen (oder zusätzliche Schritte wie das Entladen einer Datei hinzuzufügen und diese Informationen hinzuzufügen, wenn "dynamische" aufgerufene Programme die variablen Informationen erhalten, indem sie eine Datei lesen). –

1

Sie können sich einige der IBM Tools ansehen - Rational Asset Manager für Binärdateien und Websphere Asset Analyzer für Abhängigkeiten.