Диспетчер и рабочие процессы
Диспетчер и рабочие процессы
Исполняющая система R/3 следит за многими функциями — такими, как управление памятью, управление полномочиями и т. д., то есть тем, что обычно осуществляет операционная система. Но система SAP сама осуществляет эти функции, чтобы обеспечить мобильность и контроль над производительностью системы. Исполняющая система R/3 написана на языке C/C++, в то время как SAP 4.0 и более поздние версии модулей приложений SAP были написаны на АВАР или АВАР/4.
Сервер приложений состоит из диспетчера и нескольких рабочих процессов. Исполняющая система R/3 работает как группа сотрудничающих параллельных процессов. Диспетчер — это процесс, который выступает в роли системы мониторинга транзакций; он назначает задачи для других процессов, координирует и контролирует их исполнение. Каждый режим работы в SAP имеет своего диспетчера, который, в свою очередь, может управлять многими рабочими процессами. Диспетчер обеспечивает оптимизацию и сбалансированность нагрузки системы, причем сбалансированность нагрузки поддерживается с помощью обработчика запросов, получающего запрос на доступ от презентационной компоненты. На рис. 7.1 схематически представлены диспетчер и рабочие процессы.
Рис. 7.1. Диспетчер SAP и рабочие процессы.
Например, диспетчер оптимизирует взаимодействие между уровнем презентаций и уровнем приложений. После того, как диспетчер получает данные, введенные пользователем, он ставит этот запрос в очередь на обработку и назначает для этого свободный в данное время рабочий процесс соответствующего типа, причем сначала обрабатываются запросы, которые поступили раньше. После того, как обработка данных окончена, результаты отправляются в соответствующий экран, а рабочий процесс освобождается для обработки следующего запроса в очереди. Вся коммуникация между рабочими процессами и другими системами, такими, как графический интерфейс SAP GUI, упоминаемый в этой главе, а также коммуникация между программами, осуществляется через диспетчера.
Каждый рабочий процесс состоит из обработчика задач, который по требованию активирует процессор АВАР/4, интерпретатор диалога или интерфейс для баз данных. Он также отвечает за загрузку и очистку информации о пользователе в начале и в конце каждой стадии диалога; это действие называется «развертка» (roll-in) и «свертка» (roll-out) соответственно.
Когда рабочему процессу нужны данные, находящиеся на различных стадиях диалога с пользователем, эти данные сохраняются в кэше (области памяти, доступной для разных программ). В версиях, предшествующих SAP 3.0, где для обращения к памяти рабочего процесса использовался указатель на память вместо копирования памяти, рабочие процессы имели лишь два типа кэша: «область развертки» (roll area) и «страничная область» (paging area). Область развертки сохраняла информацию о пользователе и контролировала такую информацию, как права доступа к данным на всем протяжении диалога с пользователем, в то время как страничная область содержала копии данных, имеющих отношение к приложениям, например, внутренние базы данных.
Существует несколько типов рабочих процессов. Есть процессы для обработки диалога с пользователем, для записи измененных документов, для управления распечаткой документов и т. д. Количество типов процессов, размер кэша и прочее можно изменить, настроив параметры профиля для соответствующего режима работы в SAP.
Диалоговый процесс
Учитывая, что вся работа системы SAP основана на взаимодействии с пользователем, можно сказать, что диалоговые процессы, которые контролируют все аспекты взаимодействия пользователя и системы, имеют огромное значение.
Диалоговый процесс выступает в качестве функции, доступной многим пользователям одновременно, которую предоставляет операционная система. Диалоговый процесс выполняет лишь одну динамическую программу за один раз, после чего переключается на следующий диалоговый запрос от любого другого пользователя. Таким образом достигается значительная экономия ресурсов системы.
Сбалансированность нагрузки, необходимая для успешной работы диалогового процесса с несколькими пользователями, обеспечивается обработчиком запросов. Как только пользователь запрашивает доступ к серверу приложений, презентационная компонента переадресует запрос к соответствующему обработчику запросов. Сервер запросов сверяется с базой данных занятости серверов приложений, и переадресует запрос на доступ к тому серверу приложений, который менее всего загружен.
Пакетный процесс
Пакетный процесс — важная часть ежедневных операций в любой компании. Особенно он полезен при работе с программами, обрабатывающими данные на протяжении длительного времени. Таким программам можно назначить подходящее время для работы — днем или ночью. В фоновой обработке данных диспетчер назначает один пакетный процесс для одной фоновой задачи, который выполняет задачу до конца. Это в корне отличается от диалоговой обработки данных, когда диспетчер каждый раз назначает новую LUW для следующего свободного диалогового процесса.
Для обработки пакетных или фоновых задач обычно используются те же программы, что и для синхронной обработки данных в режиме он-лайн. Управляет пакетными процессами и назначает время для их исполнения Центральная управляющая система (CCMS), которую мы рассмотрим в соответствующем разделе этой главы.
Процесс обновления
Транзакция SAP может добавить или изменить данные в базе данных двумя способами:
• Синхронно, то есть напрямую, в режиме реального времени
• Асинхронно, то есть не напрямую.
При прямой записи данных в базу данных, эту операцию осуществляет диалоговый рабочий процесс. При асинхронной записи, онлайновая фаза (диалог с пользователем) и фаза обновления данных осуществляются по отдельности. Диалоговый процесс создает отдельную запись в журнале для обновления данных сразу после завершения фазы он-лайн. Это выгодно, потому что во время диалога позволяет сразу переходить к следующей стадии диалога, что экономит время и заметно повышает эффективность работы с системой.
Ради оптимизации ресурсов и эффективности работы системы регистровая запись делится на два компонента, в зависимости от важности вносимых изменений:
• Основной компонент записи
• Вторичный компонент записи.
В то время, как основной компонент записи относится к обновлениям, связанным с изменениями деловых операций, которые происходят в реальном времени (например, расположение запасов, получение товаров и т. д.), вторичный компонент относится к обновлениям, в большей степени связанным с бизнес-ориентированными измерениями характеристик работы (МОР) за какой-либо период. Следовательно, основные компоненты состоят из приоритетных обновлений и должны исполняться как можно быстрее. Обновление основных компонентов должно завершаться до того, как в базе данных начнется обновление вторичных компонентов.
Так как обычно онлайновая фаза исполняется успешно, никаких сбоев в приложениях не происходит. Однако в случае технических сбоев в процессе обновления записей журнала, обработка основных и вторичных компонентов происходит по-другому. В случае сбоя, затрагивающего основной компонент, все обновления этой записи
Процесс очереди
Этот процесс аналогичен системе управления блокированием в базах данных, но он гораздо сложнее. Так
Но даже на одиночном сервере баз данных, от управления блокированием требуется способность обеспечить синхронизацию доступа нескольких серверов приложений к базам данных и поддерживать согласованность и стабильность данных. Это особенно важно, когда различные диалоговые процессы выполняют диалоговые шаги транзакции SAP. Даже когда диспетчер осуществляет переключение рабочих процессов, все процессы должны сохранять целостность присвоенных блокировок вплоть до окончания SAP LUW или до того момента, когда само приложение окончательно отпустит блокировки.
Эта целостность блокирования в масштабе всех процессов также необходима для осуществления асинхронных
Процесс буферизации
Запрос на вывод данных может генерироваться после диалога с пользователем или в результате пакетного процесса. Процесс буферизации подготавливает формат данных для выбранного пути вывода данных — например, для принтера, факса, электронной почты и т. д., и сохраняет их во временном последовательном файле TEMSE (temporary sequential). Затем процесс буферизации переадресует запрос на вывод данных в соответствующую базовую систему.
Другие службы
Процессы, протекающие на серверах приложений, используют службу сообщений для обмена данными и информацией.
Служба шлюзов обеспечивает коммуникацию между системой R/3 и другими внешними системами, в том числе R/3 и R/2. В основном эта служба занимается передачей больших объемов связанных с приложениями данных. Для передачи информации эта служба использует протокол CPI–C.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Рабочие области и Горячие углы
Рабочие области и Горячие углы Говоря в «интерфейсном» очерке о переключении между окнами, я вскользь упомянул о переключении в режим Expo, при котором на экран выводятся все наличные рабочие области. А уже в этом очерке просил обратить внимание на одноимённый апплет.
1.6.1 Рабочие группы и разработка протоколов
1.6.1 Рабочие группы и разработка протоколов Членство в IETF является добровольным. Для решения определенной проблемы формируется рабочая группа из технических экспертов. Члены такой группы разрабатывают методологии, объединяющие теоретические исследования с последующей
1.3.2.3. Виртуальные рабочие столы
1.3.2.3. Виртуальные рабочие столы В Windows мы привыкли, что у нас всего один рабочий стол. В оболочке GNOME (как, впрочем, и в KDE) у нас по умолчанию целых четыре рабочих стола! Посмотрите на правым нижний угол экрана- вы увидите переключатель рабочих столов (рис 1.42). В данный момент
Диспетчер устройств
Диспетчер устройств Как и в более ранних операционных системах Windows, компонент Диспетчер устройств используется для отображения и настройки оборудования, которое в данный момент установлено в компьютере и используется операционной системой. Здесь вы можете управлять
Диспетчер учетных данных
Диспетчер учетных данных Представляет собой хранилище сведений о любых ваших учетных записях, в том числе и учетных записях Windows. Здесь можно добавлять учетные данные для веб-сайтов, настраивать авторизацию с применением сертификатов и т.
Диспетчер логических дисков
Диспетчер логических дисков Служба предназначена для обнаружения и наблюдения за работой новых жестких дисков. При этом все собираемые сведения передаются службе управления диспетчера логических дисков. Иными словами, если служба Диспетчер логических дисков
Диспетчер устройств
Диспетчер устройств Диспетчер устройств входит в стандартную консоль devmgmt.msc и имеет GUID-номер {74246BFC-4C96-11D0-ABEF-0020AF6B0B7A}. После вызова данной консоли откроется окно, подобное приведенному на рис. 10.3.Окно Диспетчера устройств отображает все установленное на компьютере
Рабочие станции
Рабочие станции Требования к компьютерам-рабочим станциям, на которых исполняются клиентские части приложений базы данных на базе InterBase, определяются в основном требованиями ОС. Клиентская часть приложения базы данных InterBase не требует большего, чем обычные офисные
Поиск образов и Диспетчер CD/DVD
Поиск образов и Диспетчер CD/DVD Если вы не знаете, где на жестком диске находятся файлы-образы, созданные другими программами, или забыли названия папок, в которых сохранили виртуальные компакт-диски, созданные программой Alcohol, вы можете воспользоваться функцией Поиск
Диспетчер задач
Диспетчер задач Но мы с вами не расстаемся с программами, написанными Кристианом Форсбергом. На его сайте можно найти еще одну полезную программу, необходимую как разработчику, так и пользователю. Это Диспетчер задач (Task Manager). Программа подобного рода тоже отсутствует в
Рабочие листы
Рабочие листы В ArchiCAD есть инструмент, подобный инструменту создания деталировочных чертежей. Это Worksheet (Рабочий лист), кнопка активации которого находится на палитре инструментов. Нажатие дан ной кнопки отображает на информационной палитре элементы настройки
Рабочие листы
Рабочие листы В ArchiCAD есть инструмент, подобный инструменту создания деталировочных чертежей. Это Worksheet (Рабочий лист), кнопка активизации которого находится на палитре инструментов. При ее нажатии на информационной палитре появляются элементы настройки рабочих листов
11.6. Диспетчер устройств
11.6. Диспетчер устройств Диспетчер устройств — это специальная программа, с помощью которой мы можем узнать, какие устройства установлены в нашей системе. Также Диспетчер устройств позволяет определить состояние любого устройства нашей системы.Чтобы открыть Диспетчер
ГЛABA 11 Диспетчер кэша
ГЛABA 11 Диспетчер кэша Диспетчер кэша (cache manager) — это набор функций режима ядра и системных потоков, во взаимодействии с диспетчером памяти обеспечивающих кэширование данных для всех драйверов файловых систем Windows (как локальных, так и сетевых). B этой главе мы поясним, как
1.9. Виртуальные рабочие столы
1.9. Виртуальные рабочие столы Система Mac OS X позволяет работать одновременно с несколькими рабочими столами. Общими для всех столов являются панель Dock, значки ярлыков и пиктограммы дисков, картинка стола. Таким образом, мы не сможем, например, первому рабочему столу