SAP – Архитектура
С помощью SAP R / 3 SAP открывает новое поколение корпоративного программного обеспечения – от мэйнфреймов (архитектура клиент-сервер) до трехуровневой архитектуры базы данных, приложения и пользовательского интерфейса.
Трехуровневая архитектура SAP R / 3
Серверы презентаций
Серверы презентаций содержат системы, обеспечивающие графический интерфейс.
- Уровень представления также известен как уровень клиента
- Уровень представления – это взаимодействие с пользователем
- В целях взаимодействия SAP-пользователя мы используем GUI
- GUI обозначает графический интерфейс пользователя
- Пример – настольные, мобильные устройства, ноутбуки
Серверы приложений
Серверы приложений включают в себя специализированные системы с несколькими процессорами и большим объемом оперативной памяти.
- Уровень приложений также известен как уровень ядра и базовый уровень.
- Прикладные программы SAP выполняются на уровне приложений.
- Уровень приложений служит связующим звеном между представлением и уровнем базы данных.
- Сервер приложений – это место, где диспетчер распределяет рабочую нагрузку между различными рабочими процессами и выполняет работу.
Уровень приложений также известен как уровень ядра и базовый уровень.
Прикладные программы SAP выполняются на уровне приложений.
Уровень приложений служит связующим звеном между представлением и уровнем базы данных.
Сервер приложений – это место, где диспетчер распределяет рабочую нагрузку между различными рабочими процессами и выполняет работу.
Серверы баз данных
Серверы баз данных содержат специализированные системы с быстрыми и большими жесткими дисками.
- Слой базы данных хранит данные
- Хранилище данных может быть бизнес-данными, системными данными SAP, таблицами SAP, программами.
- Примеры – Oracle, Microsoft SQL Server, IBM DB / 2, Siebel, Sybase и т. Д.
Трехуровневая архитектура
Что такое клиент?
Клиент – это логическая часть физической базы данных SAP R / 3. С точки зрения бизнеса, клиент может интерпретироваться как логическая группа компаний.
Очки для запоминания –
- Все работы по настройке (конфигурации) и разработке (ABAP) в SAP R / 3 выполняются на клиенте.
- Однако данные как из настройки, так и из разработки могут храниться в отдельном клиенте (клиент-зависимые данные) или среди всех клиентов (клиент-независимые данные) в системе.
Все работы по настройке (конфигурации) и разработке (ABAP) в SAP R / 3 выполняются на клиенте.
Однако данные как из настройки, так и из разработки могут храниться в отдельном клиенте (клиент-зависимые данные) или среди всех клиентов (клиент-независимые данные) в системе.
Клиент-зависимый против клиента
Данные в каждом клиенте могут быть отделены от данных других клиентов. В системе SAP R / 3 в основном существует два типа данных – клиент-зависимые и клиент-независимые данные.
- Клиент-зависимые данные определяются как данные, специфичные для отдельного клиента. Примеры зависимых от клиента данных включают диапазоны номеров, варианты ABAP и основные записи пользователей, а также данные, которые создаются или обновляются посредством транзакций SAP R / 3.
- Независимые от клиента данные могут быть определены как данные, содержащиеся на всех клиентах в системе. Примеры независимых от клиента данных включают объекты словаря данных (таблицы, представления), исходный код ABAP, экраны и меню.
Клиент-зависимые данные определяются как данные, специфичные для отдельного клиента. Примеры зависимых от клиента данных включают диапазоны номеров, варианты ABAP и основные записи пользователей, а также данные, которые создаются или обновляются посредством транзакций SAP R / 3.
Независимые от клиента данные могут быть определены как данные, содержащиеся на всех клиентах в системе. Примеры независимых от клиента данных включают объекты словаря данных (таблицы, представления), исходный код ABAP, экраны и меню.
- Данные находятся в таблицах. Чтобы определить, является ли конкретная таблица зависимой от клиента или независимой от клиента, необходимо пересмотреть структуру таблицы. Структура таблицы может быть просмотрена с помощью словаря данных (SE11). Если MANDT (клиент на немецком языке) является первым ключевым полем таблицы, то таблица зависит от клиента; в противном случае таблица не зависит от клиента.
- Например, таблица TSTC не зависит от клиента; однако таблица USR01 зависит от клиента.
Данные находятся в таблицах. Чтобы определить, является ли конкретная таблица зависимой от клиента или независимой от клиента, необходимо пересмотреть структуру таблицы. Структура таблицы может быть просмотрена с помощью словаря данных (SE11). Если MANDT (клиент на немецком языке) является первым ключевым полем таблицы, то таблица зависит от клиента; в противном случае таблица не зависит от клиента.
Например, таблица TSTC не зависит от клиента; однако таблица USR01 зависит от клиента.
Поставщики SAP R / 3
Каждая система SAP R / 3 содержит три клиента 000, 001 и 066. Давайте рассмотрим этих клиентов и рассмотрим, что они содержат.
Эти клиенты предоставляют различные функции и не должны быть удалены.
- Клиент 000 выполняет специальные функции. В частности, ему предоставляется расширенная функциональность во время обновлений.
- Клиент 001 в основном является копией 000 и может использоваться в качестве основы для нового клиента настройки.
- Клиент 066 – это специальный клиент, который предназначен для мониторинга операционной системы. Он используется службой раннего наблюдения SAP R / 3 для предоставления рекомендаций по производительности.
Клиент 000 выполняет специальные функции. В частности, ему предоставляется расширенная функциональность во время обновлений.
Клиент 001 в основном является копией 000 и может использоваться в качестве основы для нового клиента настройки.
Клиент 066 – это специальный клиент, который предназначен для мониторинга операционной системы. Он используется службой раннего наблюдения SAP R / 3 для предоставления рекомендаций по производительности.
В выпусках до 3.0 клиент 000 содержал модель компании. Начиная с версии 4.0 клиенты 000 и 001 идентичны. Клиент 000 больше не содержит модель компании. Любой клиент может быть использован в качестве основы для конфигурации через клиентскую копию. Как правило, большинство проектов начинаются с копии клиента 000, чтобы начать сборку конфигурации. Работа с клиентами никогда не должна осуществляться в трех доставленных клиентах.
4) Изучение архитектуры сока
Это называется front-end. На ПК пользователя устанавливается только внешний интерфейс, а не серверы приложений / баз данных.
Front-end принимает пользовательские запросы к серверу баз данных и серверам приложений.
Серверы приложений: — Сервер приложений построен для обработки бизнес-логики. Эта рабочая нагрузка распределяется между несколькими серверами приложений. С несколькими серверами приложений пользователь может быстрее получить результат.
Сервер приложений существует в удаленном местоположении по сравнению с местоположением пользовательского ПК.
Сервер базы данных: — Сервер базы данных хранит и извлекает данные в соответствии с запросами SQL, генерируемыми приложениями ABAP и Java .
База данных и приложение могут существовать в одном или другом физическом месте.
Понимание различных слоев SAP
Уровень представления :
Уровень представления содержит программные компоненты, составляющие SAPgui (графический интерфейс пользователя). Этот уровень является интерфейсом между Системой R / 3 и ее пользователями. Система R / 3 использует SAPgui для предоставления интуитивно понятного графического интерфейса пользователя для ввода и отображения данных.
Уровень представления отправляет входные данные пользователя на сервер приложений и получает от него данные для отображения. Пока компонент SAPgui работает, он остается связанным с сеансом терминала пользователя в системе R / 3.
Уровень приложений:
Уровень приложений состоит из одного или нескольких серверов приложений и сервера сообщений. Каждый сервер приложений содержит набор служб, используемых для запуска системы R / 3. Теоретически, вам нужен только один сервер приложений для запуска системы R / 3. На практике службы распределены по нескольким серверам приложений. Сервер сообщений отвечает за связь между серверами приложений. Он передает запросы от одного сервера приложений на другой в системе. Он также содержит информацию о группах серверов приложений и текущей балансировке нагрузки в них. Он использует эту информацию для назначения соответствующего сервера, когда пользователь входит в систему.
Уровень базы данных:
Уровень базы данных состоит из центральной базы данных, содержащей все данные в системе R / 3. Система баз данных состоит из двух компонентов — системы управления базами данных (СУБД) и самой базы данных. SAP создала собственную базу данных под названием Hana но совместим со всеми основными базами данных, такими как Oracle. Все данные R / 3 хранятся в базе данных. Например, база данных содержит данные управления и настройки, которые определяют работу вашей системы R / 3. Он также содержит программный код для ваших приложений. Приложения состоят из программного кода, экранных определений, меню, функциональных модулей и различных других компонентов. Они хранятся в специальном разделе базы данных, который называется Репозиторий R / 3, и соответственно называются объектами репозитория. Репозиторий R / 3, объекты используются в рабочей среде ABAP.
Понимание компонентов 3-уровневой архитектуры SAP R / 3: —
ABAP + системная архитектура Java
- Сервер сообщений: он управляет связью между распределенными диспетчерами в системе ABAP .
- Очередь диспетчера: в этой очереди хранятся различные типы рабочих процессов.
Диспетчер: Распределяет запросы по рабочим процессам.
Шлюз: обеспечивает связь между системой SAP, а также между системой SAP и внешними системами .
Процессы ABAP-Work: — Он отдельно выполняет шаги диалога в приложениях R / 3.
Типы рабочих процессов приведены ниже:
Каналы памяти: он обеспечивает связь между рабочими процессами ICM и ABAP.
Сервер сообщений: он обрабатывает диспетчеры Java и процессы сервера. Он обеспечивает связь в среде выполнения Java.
Сервер постановки в очередь: он обрабатывает логические блокировки, которые устанавливаются исполняемой прикладной программой Java в процессе сервера.
Центральные службы. Для кластера Java требуется специальный экземпляр центральных служб для управления блокировками и передачи сообщений и данных. Кластер Java — это набор процессов, которые работают вместе для создания надежной системы. Экземпляр — это группа ресурсов, таких как память, рабочие процессы и так далее.
Диспетчер Java: он получает клиентские запросы и перенаправляет их на серверный процесс .
SDM: Диспетчер развертывания программного обеспечения используется для установки компонентов J2EE.
Процессы сервера Java: он может обрабатывать большое количество запросов одновременно.
Потоки: несколько процессов выполняется отдельно в фоновом режиме, эта концепция называется потоками.
ICM: обеспечивает связь между системой SAP и протоколом HTTP, HTTPS, SMTP. Это означает, что, введя системный URL в браузере, вы также можете получить доступ к SAP из браузера.
Еще один компонент — JCO. JCO используется для обработки связи между диспетчером Java и диспетчером ABAP, когда система настроена как ABAP + Java.
Как работает процесс входа в систему SAP?
Шаг 1) Как только пользователь нажимает на систему SAP из графического интерфейса пользователя, запрос пользователя направляется диспетчеру.
Шаг 2) Сначала запрос сохраняется в очереди запросов. Диспетчер следует правилу « первым пришел — первым вышел» . Он найдет бесплатный рабочий процесс и при наличии будет назначен.
Шаг 3) По запросу пользователя конкретный рабочий процесс назначается пользователю. Например, при входе пользователя в систему пользователю назначается рабочий процесс Dialog. Если пользователь запускает отчет в фоновом режиме, то пользователю назначается фоновый рабочий процесс. Когда некоторые изменения выполняются на уровне базы данных, тогда назначается рабочий процесс обновления. Так что в соответствии с действием пользователя назначается рабочий процесс.
Шаг 4) Как только пользователю назначен диалоговый рабочий процесс, затем пользовательские полномочия, текущие настройки пользователя, переходят к рабочему процессу в общей памяти для доступа к данным пользователя. Как только выполняется шаг диалога, пользовательские данные выкатываются из рабочего процесса. Таким образом, совместно используемая память будет очищена, и данные других пользователей могут быть сохранены в области совместно используемой памяти. Шаг диалога означает движение экрана. В транзакции, когда пользователь переходит с одного экрана на другой, этот процесс называется шагом диалога.
Шаг 5) Первый рабочий процесс найдет данные в буфере. Если он находит данные в буфере, тогда нет необходимости извлекать данные из базы данных. Таким образом, время отклика улучшается, и этот процесс называется попаданием. Если он не находит данные в буфере, он находит данные в базе данных и этот процесс называется пропуском. Коэффициент попадания должен быть всегда выше, чем коэффициент попадания. Это улучшает производительность системы.
Шаг 6) Другие запрашиваемые данные запрашиваются из базы данных, и после завершения процесса результат отправляется обратно в графический интерфейс через диспетчера.
Шаг 7) В конце данные пользователя удаляются из общей памяти, чтобы память была доступна другим пользователям. Этот процесс называется развертыванием.
При подготовке материала использовались источники:
https://coderlessons.com/tutorials/sap/izuchite-sap-r-3/sap-arkhitektura
https://coderlessons.com/tutorials/sap/osnovy-sap/4-izuchenie-arkhitektury-soka