Если запрос спула должен затем распечатываться, то рабочий процесс спула, присвоенный выбранному устройству вывода, выполняет форматирование данных в печатную форму и направляет их спулеру операционной системы, который отвечает за устройство вывода. Таким образом, рабочий процесс спула создает
Рис. 11.1.
Каждый вывод происходит в два этапа:
1. Генерирование запроса спула — информация запроса (автор, число копий и дата запроса) сохраняется в базе данных; не зависимые от устройства данные печати хранятся в TemSe.
2. Генерирование и обработка запроса вывода из запроса спула — если устройство вывода было определено и готово получить данные.
Это разделение на запросы спула и вывода позволяет видеть вывод до его реальной печати. При необходимости можно создать также из одного запроса спула несколько запросов вывода с различными параметрами, не создавая повторно сам запрос спула.
Рис. 11.2.
Если менеджер печати спула хоста не может обратиться к устройству вывода на уровне операционной системы, то печать из системы SAP R/3 происходить не может.
Управление выводом обеспечивает форматирование, координацию, выполнение и мониторинг запросов вывода. Для этого используются рабочие процессы спула.
Теоретически можно использовать для каждой инстанции системы R/3 любое количество рабочих процессов спула. В зависимости от конкретных требований инфраструктуры спула необходимо рассмотреть следующие критерии для получения оптимальной конфигурации:
► Должно быть сконфигурировано достаточно большое число рабочих процессов спула, чтобы обрабатывать входящие запросы за приемлемое время, далее во время периодов пиковой нагрузки.
► Поскольку не все серверы, на которых выполняются инстанции SAP R/3, могут иметь доступ ко всем используемым в операционной системе принтерам, то отказ инстанции может означать невозможность получения доступа к устройству вывода.
► Рабочие процессы спула отвечают за форматирование запросов печати, пересылку запросов системе спула хоста и за другие административные задачи:
- Реорганизацию системы спула (удаление устаревших запросов)
- Перенаправление запросов при отказе сервера
- Поиск необработанных запросов
Кроме того, статус очереди системы спула хоста проверяется согласно настройке по умолчанию через регулярные интервалы.
Можно определить число конфигурируемых рабочих процессов спула, задавая параметр
Рабочие процессы спула инстанции составляют одно целое, к ним нельзя обращаться по отдельности. Поэтому устройства вывода присваивают инстанции, а не определенному рабочему процессу (см. раздел 11.4). Каждая инстанция со службами спула управляет своими входящими запросами вывода в своей собственной очереди запросов спула как объектами в основной памяти. Если возникают перегрузка и переполнение очереди запросов спула, то в качестве коллектора входящих запросов используется очередь диспетчера, чтобы ни один запрос спула не был потерян. Когда очередь запросов спула сможет вместить все запросы вывода, рабочие процессы спула смогут снова перенести запросы из очереди диспетчера в очередь запросов спула. Обработка запросов спула продолжится только тогда, когда очередь диспетчера будет пустой или очередь запросов спула полностью заполненной.
Сконфигурированные рабочие процессы спула могут обрабатывать запросы в инстанции последовательно, а иногда параллельно. Поэтому нет гарантии, что запросы вывода будут обработаны в том же порядке, в котором они были введены, если есть несколько рабочих процессов спула, выполняемых в инстанции. Некоторые запросы могут быть обработаны не в том порядке. При необходимости можно при создании устройства активировать параметр, чтобы обеспечить последовательную обработку запросов в том порядке, в котором они создаются. В этом случае рабочий процесс спула всегда обрабатывает все запросы для этого устройства в очереди спула, прежде чем принимает другие запросы. Однако в здесь ограничивается параллелизм между несколькими рабочими процессами спула, поэтому необходимо использовать этот параметр только тогда, когда это действительно необходимо (см. раздел 11.4).
Можно определить архитектуру логического спула для следующих целей:
► Выравнивание нагрузки между серверами спула
► Доступность альтернативного средства при отказе сервера спула
► Возможность простого переноса определенной инфраструктуры принтера
На рис. 11.3 показана реализация сценария отказа с определением логического сервера и его альтернативного сервера. Логический сервер «LOGI1» присвоен принтерам; «LOGI1» представляет реальный сервер спула «host1_PRD_00». Реальный сервер спула «host2_PRD_00» является альтернативным сервером. Если сервер спула «host1_PRD_00» отказывает, все запросы печати, предназначенные для устройств, которые присвоены логическому серверу «LOGI1», обрабатываются альтернативным сервером «host2_PRD_00».
Если определение «LOGI1» позволяет также распределение нагрузки, то система всегда будет определять наиболее подходящий сервер спула и разделять запросы соответственно между «host1_PRD_00» и «host2_PRD_ 00» (см. рис. 11.4).
Рис. 11.3.
Рис. 11.4.
Если принтеры были присвоены прямо серверу спула «host1_PRD_00», то ожидающие запросы вывода не будут обработаны, если сервер спула откажет.
Нагрузка сервера спула определяется числом рабочих процессов спула в инстанции, числом запросов для обработки и числом страниц для вывода.
Использование логических серверов позволяет определить более гибкую инфраструктуру устройств