В мире COBOL существует что-то вроде транзитивного управления зависимостями?Управление зависимостями для COBOL
Существует ли какая-либо система репозитория для двоичных файлов COBOL?
В мире COBOL существует что-то вроде транзитивного управления зависимостями?Управление зависимостями для COBOL
Существует ли какая-либо система репозитория для двоичных файлов COBOL?
Ответ на ваш (очень широкий, но по-прежнему действительный) вопрос будет «НЕТ», как уже отмечают комментарии. Для этого ответа я определяю «программное обеспечение для управления зависимостями» как программное обеспечение, которое помогает увидеть, какие программы и файлы необходимы для запуска приложения (которое состоит из многих программ COBOL [в противном случае вам не понадобится управление для этого]), в идеале [для версии N программы X мне нужны программы Y и Z в версии M вместе с файлами A и B).
Что делает работающую систему зависимостей для COBOL Труден, что вы бы легко отслеживать зависимость уровня источника (состоящий только из источника и копирования книг) и зависимость времени выполнения, которые вы не можете отслеживать:
CALL "SOMEMODULE"
(более или менее статические вызовы) можно легко отслеживать, но часто вы увидите CALL somemodule
(высокодинамические вызовы, где фактическое имя модуля хранится в переменной). Для более позднего вам нужно будет проверить все возможные значения, которые может получить переменная (иногда только один простой MOVE "PROG"
непосредственно перед CALL
, иногда переменная будет изменена подпрограммами или даже будет взята из файла/DB/без разницы). Вторая зависимость, которую вы обычно имеете, - это файлы/DB-соединения. Они в основном не статичны, как в ASSIGN to "file1"
, но динамические ASSIGN TO filename
с теми же проблемами, что и у вас, с динамическими вызовами программы.
Таким образом, у вас часто нет реального управления зависимостями (как определено выше), но только версии с моментальным снимком [скомпилированных] программ и файлов COBOL со всем, что было собрано вместе, должно (должно) работать.
В «Мир Windows/Unix» вы разместили их в архиве, процедуре резервного копирования (возможно, инкрементной) или управлении версиями, которая работает для двоичных файлов.
Как представляется, управление зависимостями определяется как связанное с отслеживанием того, что программа COBOL «касается». Вы заметите, что возможны «статические» ссылки (внешне называемые подпрограммами, внешним файлам с использованием жестких констант), но возможны и «динамические» ссылки (с использованием вычисленных значений). Вы подразумеваете, что отслеживание последнего сложнее (да, но это практично). Я не понимаю положения «поэтому»; это звучит так, будто вы упаковываете рабочий набор двоичных файлов вместе как «управление зависимостями». У меня есть это право? –
... похоже, имеет странное свойство, что все * программы *, которые могут потребоваться для запуска приложения, объединены вместе, но не все программы * и файлы *, но вы явно подчеркнули (динамическую) зависимость от файлов. (Назовите меня озадаченным). –
Благодарим вас за отзыв. Я отредактировал ответ и надеюсь, что теперь он станет более ясным. И «выполнимо практичным способом» в основном означает добавление некоторой информации вручную (или добавление дополнительных шагов, таких как выгрузка файла и добавление этой информации, когда «динамические» вызываемые программы получают информацию о переменных, читая файл). –
Вы можете взглянуть на некоторые из инструментов IBM - Rational Asset Manager для двоичных файлов и анализатора активов Websphere для зависимостей.
Взгляните на http://maven-nar.github.io/ Помогите ...? – khmarbaise
Пожалуйста, добавьте комментарий, если у вас вопрос вниз. Я хотел бы понять, как улучшить вопрос. –
Не опущен вниз. – khmarbaise