Объект (IBM i) - Object (IBM i)

На многих вычислительных платформах все является файлом , но, в отличие от IBM i, все является объектом .

Обзор

Объекты IBM i имеют общие черты с объектами объектно-ориентированного программирования , но есть и различия. Есть сходство в том, что когда для чего-то выделяется память , это что-то определенного типа, и только определенному набору программ разрешено воздействовать на этот объект. Есть различия в том, что, хотя IBM i поддерживает Java и C ++ , объекты IBM i не могут быть унаследованы, как классы на этих языках. Другое отличие состоит в том, что набор типов объектов фиксируется IBM, и только IBM имеет возможность создавать новые.

Количество типов объектов огромно, и пользователям доступно небольшое их подмножество. Человекочитаемая форма типа объекта всегда представляет собой мнемонику из трех-шести символов, перед которой ставится звездочка. Ниже приводится краткий список наиболее часто используемых объектов и их мнемоники:

  • * LIB: библиотека (где хранится все, что ниже, кроме каталогов и потоковых файлов; библиотеки не могут существовать в других библиотеках).
  • * PGM: Программа (для компилируемых языков: CL, RPG-IV, C, C ++, COBOL и т. Д. И нет ограничений интерфейса между языками).
  • * МОДУЛЬ: Модуль (подключаемый к программе из скомпилированного языка выше, и здесь также нет ограничений на возможность связывания между языками).
  • * SRVPGM: служебная программа (динамический набор из одного или нескольких модулей, сродни DLL-файлу в Microsoft Windows ).
  • * BNDDIR: Каталог привязки (содержит список модулей и служебных программ и используется при создании программ).
  • * CMD: Command (объект, используемый для вызова программ, который позволяет пользователям запрашивать их параметры; может быть создан с помощью языка определения команд). Смотрите Control Language для получения дополнительной информации.
  • * МЕНЮ: Меню (доступ к которому осуществляется командой GO).
  • * ФАЙЛ: файл (файлы IBM i могут использоваться для данных, устройств ввода / вывода и исходного кода, в зависимости от подтипа).
  • * DTAARA: область данных (небольшие фрагменты памяти, используемые для хранения крошечных элементов данных для быстрого доступа).
  • * DIR: каталог (часть интегрированной файловой системы, которая эквивалентна иерархическим файловым системам Unix и Microsoft Windows ).
  • * STMF: Потоковый файл (традиционный файл, знакомый большинству пользователей Unix и Microsoft Windows и хранящийся только в каталогах).
  • * JRN & * JRNRCV: журнал и получатель журнала (используется для ведения журнала изменений в файлах, областях данных и потоковых файлах).
  • * USRPRF: Профиль пользователя (позволяет пользователям входить в систему).
  • * JOBD: Описание работы (используется при отправке / запуске вакансий).
  • * SBSD: Описание подсистемы (используется при запуске подсистем; это место, где выполняются пользовательские задания).
  • * JOBQ: очередь заданий (используется для постановки в очередь пакетных заданий для запуска в подсистеме).
  • * LIND: Описание линии (линия связи: Ethernet, Token Ring и т. Д.).
  • * CTLD: Описание контроллера (контроллер связи для линий, рабочих станций и т. Д.).
  • * DEVD: Описание устройства (устройство связи для линий, рабочих станций, ленточных накопителей принтеров и т. Д.)
  • * DTAQ: очередь данных (используется для создания очереди записей данных для быстрого поиска другими заданиями).
  • * MSGQ: очередь сообщений (используется для отправки сообщений пользователям, также может использоваться как очередь данных).
  • * OUTQ: очередь вывода (используется для размещения вывода на принтер).
  • * USRSPC: Пользовательское пространство - общий объект, содержащий данные, произвольного размера (до 16T).

Создание объекта обычно (но не всегда) включает команду, которая начинается с мнемонического символа «CRT». Итак, чтобы создать описание вакансии, вы должны запросить команду CRTJOBD. Профили пользователей будут созданы с помощью команды CRTUSRPRF. Аналогичным образом изменение объектов выполняется путем запроса команд, которым предшествует «CHG» (CHGJOBD, CHGUSRPRF и т. Д.), При удалении объекта используется «DLT» (DLTJOBD, DLTUSRPRF и т. Д.), При отображении объекта используется «DSP» (DSPJOBD, DSPUSRPRF, и т. д.), а для работы с набором объектов используется «WRK» (WRKJOBD, WRKUSRPRF и т. д.). Чтобы просмотреть общий набор объектов в библиотеке, используйте команду DSPOBJD. WRKOBJ можно использовать для просмотра объектов в нескольких библиотеках.

Структура команд IBM i ориентирована на простоту использования. Чтобы просмотреть все объекты, с которыми может работать глагольная часть команды IBM i («WRK») после «go cmdWRK», где «WRK» может быть любым из глаголов текущего и будущего «CHG», «DLT», «DSP», «EDT», «INZ», «PRT» и т. Д. Параметры команды можно отобразить, просто набрав имя команды и нажав F4 или введя имя команды в командной строке IBM i. Это вызовет стандартную панель SAA, в которой будет отображаться информация для каждого параметра, который может принять команда. Командная строка может быть отображена в любой момент во время запроса, нажав F1u2, который, если он используется для выхода из командной строки, может быть использован с помощью F9 = Получить предыдущую команду. Сводку справки по команде и ее параметрам можно получить, нажав F1.

Такая структура команд и строгое соблюдение стандартов SAA делает IBM i чрезвычайно простым в использовании на уровне команд, а также для разработки исходных файлов, содержащих команды. Команды могут выполняться в интерактивном режиме или помещаться в текстовые файлы и выполняться последовательно или могут быть скомпилированы в объект IBM i типа * PGM с атрибутом типа CLP.

Рекомендации