Пользовательский выход
Пользовательский выход — это подпрограмма, вызываемая программным пакетом для заранее определенного события при выполнении пакета. В некоторых случаях выход указывается при установке при настройке пакета, в то время как в других случаях пользователи пакета могут заменить свои собственные подпрограммы вместо подпрограмм по умолчанию, предоставленных поставщиком пакета, для обеспечения настраиваемой функциональности. В некоторых случаях меры безопасности ограничивают выходы авторизованным пользователям, например, EXCP придатки в MVS .
Самое раннее использование этого термина относилось к операционным системам, позволяющим индивидуальному коду временно взять на себя управление при возникновении заранее назначенного события. [1] [2]
Более типичное использование — замена пользовательских программ, предоставляемых пакетом сортировки/слияния . [3] [4] [5] при этом пользовательская программа предоставляет свои собственные подпрограммы для сравнения записей. Процедуры, предоставляемые пользователем, заменяют процедуры по умолчанию (обычно заглушки, которые ничего не делают, а возвращают вызывающему объекту), предоставленные поставщиком пакета.
Процедуры, предоставляемые пользователем, обычно компилируются в статическую библиотеку и напрямую связываются с пакетом для создания исполняемой программы . Другой подход использует динамические библиотеки для достижения той же цели. Наконец, пользовательские программы могут представлять собой внешние программы, выполняемые в определенные моменты выполнения хост-пакета. [6]
История
[ редактировать ]Исторически этот термин широко использовался в языке мэйнфреймов IBM. [1] [2]
- Название: Выход из установки z/OS V1R10 DFSMS Номер документа: SC26-7396-11
- Название: Выход из установки z/OS V1R10.0 JES2 Номер документа: SA22-7534-10
- Название: Выход из установки z/OS V1R10.0 MVS Номер документа: SA22-7593-14
Ограничения
[ редактировать ]Если код, специфичный для сайта пользователя, заменяется кодом выхода по умолчанию, предоставленным поставщиком программного обеспечения, он должен взаимодействовать с пакетом программного обеспечения, используя определенные параметры, как документировано для выхода по умолчанию. Пользовательские выходы важны, поскольку, хотя они и обеспечивают специфичную для сайта настройку, они изолируют такую специфичную для установки настройку в определенных и поддерживаемых точках, позволяя сайту обновляться до последующих выпусков пакета программного обеспечения без негативного воздействия на ранее существовавшие настроенные функциональные возможности. Ниже приведены некоторые ссылки на руководства пользователя IBM по выходу. Другие поставщики, такие как SAP, Oracle, IFS, HP, Macro4, Compuware, CA, используют пользовательские программы в некоторых своих программных продуктах.
Пример
[ редактировать ]В SAP никогда не следует использовать команду «COMMIT WORK» внутри пользовательского выхода, поскольку это может повлиять на обработку программы. Более того, сообщения об ошибках не могут выводиться изнутри выхода, поскольку они останавливают обработку кода, следующего за сообщением.
Обеспечение соблюдения стандартов
[ редактировать ]Если файлы, содержащие созданное пользователем содержимое, должны соответствовать стандарту, команда (файл) Открыть текстового документа может вызвать пользовательский обработчик, который выполняет проверку и, при необходимости, возвращает код ошибки. [7]
Приложения
[ редактировать ]Некоторые приложения, предоставляющие пользовательские выходы:
- Apache Subversion допускает «перехватчики», которые представляют собой «скрипты, которые запускаются при выполнении действия».
- IBM CICS
- Пользовательские выходы IBM CMVC в виде Kornshell скриптов
- IBM JES 2 и 3
- IBM MVS , SMS , z/OS и десятки подкомпонентов, таких как RACF , SMF и т. д.
- IBM Пакет сортировки/объединения
- Oracle CC&B
- SAP R3
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ Перейти обратно: а б Термин IBM: OS/MFT, MVT «Выходы пользователей ОС» . Компьютерный мир . 11 апреля 1977 г. с. 25.
...чтобы исполнение... под OS/MFT или MVT. ... простота использования приложений с ... пользовательскими выходами
- ^ Перейти обратно: а б «Руководство по установке и эксплуатации Platform Server для z/OS» (PDF) .
Использование выходов сервера платформы MFT описывает пользовательские выходы, которые...
- ^ «Программа пользователя COBOL E15: передача или изменение записей для сортировки» .
Если используются оба выхода пользователя E15 и E35... Оператор SORTIN DD
- ^ «Сортировка с использованием пользовательского выхода» . SAP.com (документация SAP) .
- ^ «Unicenter CA-Sort для ВСЕ» (PDF) .
Если Unicenter CA-Sort накладывает хранилище обработчиков пользователя на...
- ^ «Вы сказали CMVC?» . Проверено 22 июля 2013 г.
- ^ Пример: Opinion.AnalystID.StockSymbol.DateTime - Opinion.Q347.IBM.201907031321 - альтернативно часть даты/времени может быть заполнена пользовательской программой.