stringtranslate.com

Библиотекарь (система контроля версий)

Librarian — это система контроля версий и программное обеспечение для управления исходным кодом , изначально разработанное Applied Data Research для мэйнфреймов IBM . Оно было разработано для замены физических колод перфокарт в качестве способа поддержки программ, но сохранило карточную модель в плане интерфейса. В 1970-х и 1980-х годах оно использовалось на тысячах установок мэйнфреймов IBM и было одним из самых продаваемых программных продуктов в компьютерной индустрии.

После того, как Applied Data Research была приобретена Computer Associates в 1988 году, продукт стал известен как CA-Librarian . После того, как эту компанию приобрела Broadcom в 2018 году, продукт стал известен просто как Librarian .

История

Большинство исходных компьютерных программ в 1960-х годах хранились на перфокартах , что было проблематично из-за занимаемого ими физического пространства, постоянной вероятности падения или иного повреждения колоды карт, а также проблем с сохранением истории изменений в программе. [1] [2] Даже в середине-конце 1970-х годов, когда появились другие формы компьютерного ввода, перфокарты по-прежнему оставались наиболее важными из них, и это также касалось исходного кода самих компьютерных программ. [3] [4] [5]

В первые годы своего существования компания Applied Data Research (ADR) занималась разработкой Autoflow — программы для автоматического построения блок-схем, которую часто называют одним из первых коммерческих программных приложений. [6] Сотрудники ADR хотели что-то, что помогло бы им управлять растущим размером исходной базы кода Autoflow. [1] Мартин Гетц , соучредитель ADR, использовал систему UNITYPER во время своей предыдущей работы в Sperry Rand . [1] Это устройство записывало вводимые данные на металлическую магнитную ленту. [7] Гетц понял, что исходный код не обязательно должен храниться на перфокартах, а вместо этого может храниться в стабильном магнитном хранилище; затем была создана программа под названием Librarian, которая делала это для внутреннего использования. [1]

Сотрудники ADR поняли, что то, что ценно для них, будет ценно и для других. [1] Сначала Librarian предлагался как часть Autoflow ADR, [1] и других программных пакетов. [8] Такая договоренность была реализована к 1969 году. [8] [9] На тот момент основные файлы Librarian хранились на магнитной ленте; реклама, которую ADR разместила в Datamation в 1970 году, рассказывала историю о том, как удалось спасти ленты Librarian, когда вспыхнул пожар, тогда как было бы невозможно сохранить эквивалентный объем исходного кода, если бы он находился в картотечных шкафах. [10]

Вскоре ADR осознала, что у Librarian есть свой собственный рынок. [1] К 1971 году в Computerworld появилась реклама Librarian , в которой он не упоминался в связи с другими продуктами ADR. [11] Был сделан переход к хранению основных файлов Librarian на дисках мэйнфрейма , при этом ADR заявила, что сжатие данных использовалось для минимизации использования дискового накопителя. [12]

«Librarian... очень быстро набрал обороты. Он был очень выгоден по цене. Его практичность и функциональность были очевидны. Компании не были довольны сохранением колод карт, и если вы заменяете карту на другую, то нет абсолютно никакой возможности отслеживать это; поэтому с точки зрения аудита, забывая о безопасности, не было никакой возможности вести аудиторский след изменений, которые вы вносили в программу. Это был просто очевидный тип приложения, поэтому мы продали много систем. Они были недорогими и продавались очень быстро. Это всегда было очень выгодно для ADR».

—Мартин Гетц в 2002 году [1]

Librarian быстро добился успеха на рынке и начал использоваться во многих инсталляциях. [13] Librarian, наряду с Autoflow, стали ответственны за большую часть доходов ADR и быстрый рост компании. [14] Согласно опросу, который ADR провела среди своих клиентов, использование Librarian значительно увеличило производительность программистов, особенно в областях постоянного обслуживания и улучшения существующих приложений. [13] Воодушевленная этим, ADR представила другие программные пакеты в категории инструментов программирования. [14]

К 1973 году Librarian занял место в списке лучших программных продуктов корпорации Datapro Research Corporation по числу клиентов и уровню удовлетворенности, [15] полученному в ходе опросов, проведенных Datapro. [16] Он также попадал в список лучших и в последующие годы. [17] В одном из анализов 1979 года программных пакетов для мэйнфреймов IBM Librarian был оценен как один из немногих пакетов, которые превзошли все ожидания как по общему числу установок, так и по общему объему продаж. [13]

Согласно данным о продажах, предоставленным International Computer Programs, Inc. (ICP), [16] к 1977 году Librarian использовался примерно на 3300 сайтах — больше, чем любой другой отслеживаемый ею программный пакет — и имел совокупный доход от продаж более 10 миллионов долларов. [17] К 1979 году это число возросло до 4500 установок. [13] В 1982 году ICP вручила Librarian награду за общий объем продаж в 50 миллионов долларов. [18]

В 1985 году ICP назвала Librarian лауреатом премии в размере 100 миллионов долларов, что снова отражало совокупный объем продаж за всю историю. [19] Это был один из немногих продуктов системного программного обеспечения, который достиг этого уровня. [19] За этим последовало и в 1989 году, когда ICP вручила награду за общий объем продаж Librarian в размере 250 миллионов долларов. [20]

На протяжении большей части своего существования основным конкурентом Librarian был продукт Panvalet от Pansophic Systems . [15] [16] [21] Он имел примерно такое же количество установок, как и Librarian. Как вспоминал основатель Pansophic Джозеф А. Пископо, «Panvalet и Librarian в основном разделили рынок программных библиотек между собой... Практически каждый в конечном итоге остановился на одном или другом продукте». [2]

Операция

Библиотечный список исходного модуля, показывающий историю и другие атрибуты

Перфокарта в то время была моделью для многих видов компьютерного ввода, включая те, которые представляли исходный код. [3] Библиотекарь работает, перемежая свои собственные контрольные карты с картами исходной программы. [22] Это могли быть физические карты или позднее строки в файле, хранящемся на диске и отображаемом и редактируемом на дисплейных терминалах. В любом случае, Библиотекарь работал по модели пакетной обработки . [23]

Библиотечные контрольные карты начинаются с дефиса. [22] Некоторые из них, такие как -DESC, -PGMR, и -LANG, используются для предоставления базовой идентификационной информации о модуле Библиотеки. Для языка некоторые типичные значения ASMдля языка ассемблера 370 и CBLдля COBOL . [24]

Библиотекарь использует порядковые номера в исходном файле. Традиционно они появлялись как столбцы 1–6 строки COBOL (перед указателем продолжения в столбце 7, область A, начинающаяся в столбце 8, и область B, начинающаяся в столбце 12), [4] или столбцы 73–80 строки языка ассемблера 370, [5] аналогично столбцы 73–80 для FORTRAN , [25] и так далее. Например, на контрольной карте Библиотеки -ADD, которая добавляет новый исходный модуль в Библиотекарь, опция SEQ=COBOLуказывает, что порядковые номера в Библиотекарь должны соответствовать тем, которые обычно используются в программировании на COBOL. [24]

Основными контрольными картами, используемыми при изменении существующих программ, являются -INS, -REP, и -DEL. [22] Примером набора карт для обновления программы COBOL может быть:

-РЕП 340 ЗАПИСЬ СОДЕРЖИТ 704 СИМВОЛА-ИНС 360 01 PER-MASTER-REC. 03 НА КАЖДЫЙ МАСТЕР-КЛЮЧ. 05 PER-MASTER-DIV PIC XX. 05 PER-MASTER-DEPT PIC 999. 05 PER-MASTER-JOB-CL PIC 999. 05 ЗАПОЛНИТЕЛЬНЫЙ ФОТО XXX.-РЕП 430 03 ЗАПОЛНИТЕЛЬНЫЙ РИС X(693).-ДЕЛ 540,590-РЕП 1470 ИЛИ НА КАЖДЫЙ МАСТЕР-ДЕЛ БОЛЬШЕ «94».

Контрольная -INCкарта может использоваться для включения источника другого модуля в этот. Она служит экстралингвистической функцией для языков программирования или хранимых данных, которые не имеют директивы include любого вида, или для магазинов, которые предпочитают, чтобы система конфигурации источника делала включения даже для языков, которые имели такую ​​директиву. Пользователи-библиотекари имеют контроль над тем, при каких обстоятельствах или фазе -INCбудут расширяться любые утверждения. [26] Например, включение будет выполнено операцией -SEL modname, но не операцией -PUNCH. [24] На практике, однако, включение такого рода также может быть выполнено с использованием языковых конструкций, [24] таких как COPYутверждение COBOL. [4]

Хотя операции Librarian insert/replace/deletion были послушными для модификации существующего кода, они были неудобным средством для написания новых программ, где часто происходило большое количество изменений или рефакторингов. [23] Одним из методов обхода этой проблемы было сохранение программы в файле в онлайн-интерактивной среде с текстовым редактором, таким как Source Program Maintenance Online, работающим под управлением CICS, который многократно отправлялся для пакетной компиляции или сборки. Файл мог содержать что-то вроде:

... // EXEC STRMLIB -DLM modulename, pswd -ADD modulename, pswd, [другие параметры] полный исходный код программы // EXEC ASM/COBCL/что угодно ...    

Таким образом, разрабатываемый модуль можно было бы редактировать в онлайн-текстовом редакторе, а не с помощью контрольных карт Librarian, но последняя итерация все равно сохранялась бы в Librarian между пакетными компиляциями. Однако, как только программа была бы в рабочем состоянии, обычные обновления Librarian выполнялись бы для отслеживания изменений в модуле. [24] Позже такой рабочий процесс можно было бы выполнять с помощью редактора в IBM ISPF . [27]

Помимо отслеживания истории изменений в модулях, библиотекарь имел функции, которые поддерживали возможность аудита, целостности и восстановления главного файла исходных модулей. [28]

Релизы

Librarian прошел через ряд релизов, как для добавления новых функций, так и для поддержки изменений в средах мэйнфреймов IBM. Например, новый релиз в 1976 году добавил поддержку операционных систем OS/VS1 и OS/VS2 . [29] Примером усовершенствования стало добавление интерфейса LIB/AM в 1983 году, что позволило Librarian выглядеть как разделенный набор данных для определенных программ и утилит. [30] Некоторые из других предложений ADR были интегрированы с Librarian, например, его продукт Datadictionary. [31] [32]

К 1981 году вышел выпуск 3.0 Librarian. [31] Выпуск 3.4, выпущенный в 1985 году, добавил поддержку более интерактивной операционной системы VM/CMS и среды ISPF , как в командной строке CMS, так и в панелях, меню и редакторах ISPF. [27] К 1986 году вышел выпуск 3.5 Librarian, в котором был представлен Change Control Facility для лучшего управления и осведомленности о цикле разработки программного обеспечения . [21] [33] В начале 1988 года вышла версия 3.7, которая добавила Change Control Facility в среду CMS/ISPF. [33] Выпуск 3.8 Librarian вышел позже в 1988 году, как раз когда продукт был приобретен Computer Associates . [34] Он добавил функциональность Librarian/Change Control Facility для платформы DOS/VSE . [34]

Поздние годы

Со временем подходы к контролю версий начали отходить от модели Librarian, и важной ранней альтернативой стала система контроля исходного кода (SCCS). [23] Это было, как сказал один из ее создателей, «радикальным отходом от традиционных методов контроля исходного кода», [35] и давало большую гибкость для сложных ситуаций, таких как ветвление . [23] SCCS изначально была написана для IBM OS/370, [35] но нашла применение в операционной системе UNIX для PDP-11 , где она была включена в Programmer's Workbench . [23]

Тем не менее, мир мэйнфреймов IBM продолжал существовать. В 1988 году ADR была приобретена Computer Associates (CA). [34] Затем продукт ADR стал известен как CA-Librarian. [36] CA внесла улучшения в некоторые из своих других продуктов для интеграции с CA-Librarian. [37] К 2003 году была доступна версия 4.3 CA-Librarian, которая была объявлена ​​частью набора продуктов AllFusion компании CA. [22] Выпуск 4.4 CA-Librarian, по-видимому, вышел в 2010 году. [38]

В 2018 году Broadcom Inc. приобрела CA Technologies (последнее название Computer Associates). [39] Затем название продукта стало просто Librarian, [40] хотя название CA-Librarian не исчезло. [41]

С 2023 года Librarian является частью линейки программного обеспечения для мэйнфреймов Broadcom в категории продуктов, связанных с DevOps . [40] Текущая версия продукта — Librarian 4.4. [42]

В книге 2022 года « Современная разработка мэйнфреймов» , опубликованной O'Reilly Media , CA Librarian указана как одна из систем управления исходным кодом, которая все еще используется разработчиками мэйнфреймов, наряду с несколькими другими, такими как IBM Software Configuration and Library Manager и ChangeMan ZMF от Micro Focus . [41]

Смотрите также

Ссылки

  1. ^ abcdefgh Гетц, Мартин (3 мая 2002 г.). «Интервью с Мартином Гетцем» (Интервью). Интервью взято Джеффри Р. Йостом. Вашингтон, округ Колумбия: Институт Чарльза Бэббиджа, Университет Миннесоты. стр. 5–7 . Получено 26 мая 2023 г.
  2. ^ ab Piscipo, Joseph (3 мая 2002 г.). «Интервью с Джозефом Пископо» (Интервью). Интервью Томаса Хейга. Вашингтон, округ Колумбия: Институт Чарльза Бэббиджа, Университет Миннесоты. стр. 3, 5, 12–13 . Получено 26 мая 2023 г.
  3. ^ ab Popkin, Gary S.; Pike, Arthur H. (1977). Введение в обработку данных . Бостон: Houghton Mifflin Company. стр. 76, 116, 296. ISBN 0-395-20628-6.
  4. ^ abc McCracken, Daniel D. (1976). Упрощенное руководство по структурному программированию на COBOL . Нью-Йорк: John Wiley & Sons. С. 6–9, 346–347. ISBN 0-471-58284-0.
  5. ^ ab McQuillen, Kevin (1975). System/360–370 Assembler Language (OS) . Фресно, Калифорния: Mike Murach & Associates. стр. 8, 56–59. LCCN  74-29645.
  6. ^ Ли, Тимоти Б. (28 марта 2014 г.). «В новом деле Верховный суд пересматривает вопрос о патентах на программное обеспечение». The Washington Post . Архивировано из оригинала 2 апреля 2014 г.
  7. ^ "Unityper II, устройство ввода данных для компьютера Univac". Смитсоновский национальный музей американской истории . Получено 3 августа 2023 г.
  8. ^ ab "неопределенный". Современные системы данных . Т. 2, № неопределенный. 1969. С. 102.
  9. ^ "неопределенный". Data Management (Реклама). Т. 7, № неопределенный. 1969. С. 4.
  10. ^ "неопределенный". Datamation (Реклама). Т. 16, № неопределенный. 1970. С. 5.
  11. ^ «Библиотекарь сообщает вам, где вы находитесь, куда идете и что вы сделали... на всякий случай, если вы забудете». Computerworld (Реклама). 1 декабря 1971 г. стр. 3.
  12. ^ "Библиотекарь и MetaCOBOL из ADR ..." Computerworld (Реклама). 20 сентября 1976 г. стр. 3.
  13. ^ abcd Frank, Werner (15 января 1979 г.). «Новая экономика программного обеспечения: Часть 2». Computerworld . стр. 4–7 (Подробно).
  14. ^ ab Campbell-Kelly, Martin (2003). От бронирования авиабилетов до Соника-ежа: история индустрии программного обеспечения. MIT Press. стр. 116. ISBN 0-262-03303-8– через OpenLibrary.
  15. ^ ab "Пакеты, отмеченные в Honor Roll". Computerworld . 29 августа 1973 г. стр. 11.
  16. ^ abc Leavitt, Don (27 марта 1978 г.). «Ряды победителей в области программного обеспечения расширяются». Computerworld . стр. 2.
  17. ^ ab Leavitt, Don (4 апреля 1977 г.). «Новые идеи, направленные на наведение порядка в обзорах пакетов». Computerworld . стр. 19.
  18. ^ Блюменталь, Марсия (5 апреля 1982 г.). «ICP Honors 342 Software Products». Computerworld . стр. 1, 10.
  19. ^ ab "ICP присуждает награды самым продаваемым программным инструментам". Computerworld . 22 апреля 1985 г. стр. 11.
  20. ^ "18-я ежегодная церемония вручения наград ICP Million Dollar Awards". Insurance Software Review . Июнь 1989 г. стр. 15. ProQuest  229252239 – через ProQuest.
  21. ^ ab Babcock, Charles (16 июня 1986 г.). «Инструмент управляет исходным кодом». Computerworld . стр. 19, 22.
  22. ^ abcd "AllFusion CA-Librarian Batch Command Reference Guide 4.3" (PDF) . Computer Associates. 2003. стр. i, ii, 2–1, 2–3 . Получено 10 августа 2023 г. .
  23. ^ abcde Бьянки, М. Х.; Вуд, Дж. Л. (1976). «Точка зрения пользователя на рабочее место программиста». В трудах 2-й международной конференции по программной инженерии (ICSE '76). IEEE Computer Society Press. С. 193–199.
  24. ^ abcde MSH EDP Experimental Resources Manual . Нью-Йорк: Медицинский центр Маунт-Синай. 1982. С. 1–4, 1–7.
  25. ^ Блатт, Джон М. (1971). Введение в программирование на FORTRAN IV: использование компиляторов WATFOR/WATFIV . Pacific Palisades, Калифорния: Goodyear Publishing Company. стр. 254. ISBN 0-87620-440-X.
  26. ^ "CA Librarian Members". Natural ISPF 8.2.8 User's Guide . Software AG . Получено 12 июня 2023 г. .
  27. ^ ab "Программное обеспечение и услуги: Системное программное обеспечение". Computerworld . 11 февраля 1985 г. стр. 66, 68.
  28. ^ Корелис, Джон (декабрь 1987 г.). «Безопасность исходного кода: контрольный список для менеджеров». Информационный бюллетень SIGUCCS . 17 (4): 26–28. doi :10.1145/382266.382431. S2CID  24797580.
  29. ^ ««Библиотекарь» теперь доступен для пользователей IBM 360/370 VS». Computerworld . 27 сентября 1976 г. стр. 24.
  30. ^ "ADR объявляет о создании интерфейса транслятора для сайтов OS/MVS". Computerworld . 5 декабря 1983 г. стр. 67.
  31. ^ ab "ADR обновляет 'Datadictionary' для интеграции 'The Librarian'". Computerworld . 16 марта 1981 г. стр. 47.
  32. ^ Аллен, Фрэнк В.; Лумис, Мэри ЭС; Маннино, Майкл В. (июнь 1982 г.). «Интегрированная система словарей/каталогов». ACM Computing Surveys . 14 (2): 245–286. doi :10.1145/356876.356882. S2CID  18623739.
  33. ^ ab "Новые продукты: системное программное обеспечение". Computerworld . 15 февраля 1988 г. стр. 29.
  34. ^ abc «Библиотекарь в обновлении ВСЕ». Компьютерный мир . 3 октября 1988 г. стр. 25, 30.
  35. ^ ab Rochkind, Marc J. (декабрь 1975 г.). "Система управления исходным кодом" (PDF) . IEEE Transactions on Software Engineering . SE-1 (4): 364–370. doi :10.1109/tse.1975.6312866. S2CID  10006076.
  36. ^ "Computer Associates: Новости ..." Computerworld (Реклама). 8 октября 1990 г. стр. 37.
  37. ^ См., например, «CA Enhances Diagnostics Solutions to Speed ​​Troubleshooting of z/OS and OS/390 Applications» (пресс-релиз). PR Newswire. 18 декабря 2001 г. ProQuest  449135709 – через ProQuest.
  38. См. опубликованную в 2010 году дату выпуска 4.4 в "CA Librarian®: Installation Guide r4.4" (PDF) (второе изд.). CA Technologies. 2010. стр. 1, 2. Получено 13 августа 2023 г.Сравните с CA Librarian 4.3, последней версией, интегрированной в CA Mainframe Software Manager, как показано на слайде 22 от декабря 2009 г. в работе Roemming, Richard (14 апреля 2010 г.). "Mainframe 2.0 Update" (PDF) . CA . Получено 13 августа 2023 г. .
  39. ^ "Broadcom Inc. завершает приобретение CA Technologies" (пресс-релиз). Broadcom. 5 ноября 2018 г.
  40. ^ ab "Mainframe Software: DevOps". Broadcom Inc. Получено 7 августа 2023 г.
  41. ^ ab Taulli, Tom (2022). Современная разработка мэйнфреймов: COBOL, базы данных и подходы следующего поколения. O'Reilly Media. стр. 59. ISBN 9781098106997.
  42. ^ "Librarian 4.4". Broadcom Inc. Получено 7 августа 2023 г.

Внешние ссылки