SAP R / 3 Archiтекстура
⚡ Умное резюме
SAP R / 3 ArchiАрхитектура представляет собой трехзвенную клиент-серверную архитектуру, в которой разделяются функции представления, приложения и базы данных. В этой статье объясняется каждый уровень, а также язык программирования ABAP и... Java стек компонентов, процесс входа в систему, управляемый диспетчером, и причины. SAP выбрал эту многослойную модель.

SAP R / 3 ArchiАрхитектура лежит в основе почти каждого классического произведения. SAP Внедрение ERP-системы. В разделах ниже объясняется, как взаимодействуют три уровня и как работают ABAP и Java В стеках работа распределяется между диспетчером, сервером сообщений и базой данных.
Что такое SAP Р/3?
SAP R/3 — это корпоративная клиент-серверная система, построенная на основе трехуровневая архитектура состоит из трех независимых слоев:
- Презентация
- Области применения
- База данных
- R стенды для Торговая аналитика в режиме реального времени с полной прозрачностью обработка.
- 3 означает 3 яруса архитектурный образец.
ПК пользователя (интерфейс): Пользователи получают доступ к SAP система через SAP Графический интерфейс пользователя или веб-браузер. На компьютере пользователя устанавливается только клиентская часть; серверы приложений и баз данных работают отдельно на выделенном оборудовании.
Серверы приложений: Серверы приложений выполняют бизнес-логику. Нагрузка распределяется между несколькими серверами приложений, поэтому пользователи получают ответы быстрее даже при высокой нагрузке. Эти серверы обычно работают на удаленной инфраструктуре, а не на рабочих станциях пользователей.
Сервер базы данных: Сервер базы данных хранит и извлекает данные в ответ на запросы. SQL запросы, генерируемые ABAP и Java приложения. База данных и прикладные сервисы могут работать на одной машине или на отдельных физических хостах в зависимости от потребностей в ресурсах.
Почему SAP В R/3 используется трехъярусная архитектура?
Разделение представления, бизнес-логики и хранения данных на три независимых уровня позволяет SAP Четыре практических преимущества R/3 по сравнению с одноярусными или двухярусными конструкциями:
- Независимая масштабируемость: Каждый слой может масштабироваться отдельно. Узкое место в бизнес-логике устраняется путем добавления серверов приложений без изменения аппаратного обеспечения базы данных.
- Распределение рабочей нагрузки: Сервер сообщений распределяет входящие сессии между серверами приложений, предотвращая превращение какого-либо одного сервера в единую точку конкуренции.
- Защита базы данных: Конечные пользователи никогда не подключаются к базе данных напрямую. Все операции чтения и записи проходят через рабочие процессы сервера приложений, которые стандартизируют проверки авторизации, блокировки и журналирование транзакций.
- Upgrade гибкость: SAP Графический интерфейс пользователя (GUI) может развиваться (для настольных компьютеров, браузеров и мобильных устройств) посредством SAPUI5) без изменения кода приложения или базы данных.
Именно это разделение позволяет SAP для поддержки нескольких баз данных, включая SAP HANA, Oracle, IBM Db2 и Microsoft SQL Server — в рамках одной и той же кодовой базы приложения.
SAP R/2 против SAP R/3: Как Archiархитектура эволюционировала
SAP R/2 работала на мэйнфрейме и использовала двухуровневую архитектуру, в которой пользовательский терминал взаимодействовал напрямую с базой данных. R/3, выпущенная в 1992 году, добавила выделенный прикладной слой между клиентом и базой данных. Эти две системы работали параллельно:
| Аспект | SAP R / 2 | SAP R / 3 |
|---|---|---|
| Archiтекстура | Двухуровневая архитектура (мейнфрейм + терминал) | Трехуровневая архитектура (презентация + приложение + база данных) |
| Металлоизделия | Централизованный мэйнфрейм | Распределённые Unix / Windows / Серверы Linux |
| Масштабируемость | Только вертикальная установка (более крупный мэйнфрейм) | Горизонтальный (добавить серверы приложений) |
| Доступ к базе данных | Непосредственно из пользовательской сессии | Осуществляется посредством рабочих процессов сервера приложений. |
| Модель программирования | ABAP/4 только | ABAP и Java Бок о бок |
В оставшихся разделах подробно объясняется каждый из трех слоев R/3.
Понимание разных SAP слоев
Рисунок 1: Три SAP Слои R/3 и трафик, протекающий между ними.
Уровень представления
Уровень представления содержит программные компоненты, составляющие SAP GUI — графический интерфейс пользователя системы R/3. Это интерфейс между системой и ее пользователями, обеспечивающий интуитивно понятный интерфейс для ввода и отображения данных.
Этот слой перенаправляет ввод пользователя на сервер приложений и отображает полученные в ответ данные. SAP Если графический интерфейс пользователя запущен, он остается связанным с сеансом терминала пользователя в системе R/3 на протяжении всего этого сеанса.
Уровень приложений
Уровень приложений состоит из одного или нескольких серверов приложений и сервер сообщенийКаждый сервер приложений запускает набор сервисов, которые выполняют бизнес-логику R/3. Теоретически достаточно одного сервера приложений; на практике же сервисы распределяются по нескольким серверам для обеспечения производительности и резервирования.
Сервер сообщений координирует взаимодействие между серверами приложений. Он пересылает запросы. tracks объединяет серверы приложений и назначает соответствующий сервер при входе пользователя в систему в зависимости от текущей нагрузки. Именно это делает возможным горизонтальное масштабирование.
Уровень базы данных
Уровень базы данных В нем размещается центральная система баз данных, в которой хранятся все данные, используемые системой R/3. Стек базы данных состоит из двух компонентов — системы управления базами данных (СУБД) и самой базы данных. SAP поставляется со своей собственной СУБД. SAP HANAа также поддерживает все основные коммерческие базы данных (Oracle, IBM Db2, Microsoft SQL Server).
Все данные R/3 — настройки конфигурации, код приложений, определения экранов, меню, функциональные модули и данные времени выполнения — хранятся в этой базе данных. Код программы и объекты проектирования находятся в специальном разделе, называемом... Репозиторий R/3Эти «объекты репозитория» — это то, что ABAP Workbench считывает, записывает и передает между системами.
Понимание компонентов SAP R/3 3-х уровневый Archiтекстура
Рисунок 2: ABAP + Java Архитектура системы, показывающая, как два стека совместно используют инфраструктуру.
Современный SAP Экземпляр NetWeaver может размещать как ABAP, так и Java стеки. Приведенные ниже компоненты показывают, как каждый стек обрабатывает собственную диспетчеризацию, используя при этом общий шлюз, ICM и мост JCO для межстековой связи.
| Компонент | Стек | Роли |
|---|---|---|
| Сервер сообщений (ABAP) | ABAP | Координирует связь между распределенными диспетчерами в ABAP-система и распределяет нагрузку между экземплярами. |
| Диспетчерская очередь | ABAP | Buffer который удерживает входящие запросы до тех пор, пока не освободится рабочий процесс. |
| диспетчер | ABAP | Извлекает запросы из очереди и назначает каждый из них соответствующему типу рабочего процесса. |
| Рабочие процессы ABAP | ABAP | Выполнение диалоговых шагов в приложениях R/3. Типы включают: Диалог, Обновление, Фоновый режим, Печать и Постановка в очередь. |
| Шлюз оплаты | общий | Обеспечивает связь между SAP системы и между SAP и внешних систем через RFC. |
| Каналы памяти | общий | Передача данных между менеджером интернет-коммуникаций (ICM) и рабочими процессами ABAP. |
| Сервер сообщений (Java) | Java | Координаты Java диспетчеры и серверные процессы; обеспечивают связь внутри Java кластер среды выполнения. |
| Сервер постановки в очередь | Java | Управляет логическими блокировками, установленными Java Код приложения, выполняющийся внутри серверного процесса. |
| Центральные службы | Java | Специальные Java Экземпляр кластера, обрабатывающий блокировки и обмен сообщениями между процессами. «Экземпляр» — это группа ресурсов (память, рабочие процессы и т. д.). |
| Java диспетчер | Java | Принимает запросы от клиентов и перенаправляет их. Java серверные процессы. |
| SDM | Java | Менеджер развертывания программного обеспечения — устанавливает компоненты J2EE на Java стек. |
| Java Серверные процессы | Java | Обрабатывайте большое количество запросов одновременно, используя многопоточность. |
| ICM | общий | Менеджер интернет-коммуникаций — обеспечивает передачу трафика HTTP, HTTPS и SMTP, чтобы SAP Доступен из браузера. |
| JCO | Мост | Java Соединитель — обеспечивает связь между Java диспетчер и диспетчер ABAP, когда оба стека работают параллельно. |
Рисунок 3: Категории рабочих процессов ABAP (Диалог, Обновление, Фоновый режим, Спул, Постановка в очередь).
Как SAP Процесс входа в систему работает?
Рисунок 4: Пошаговая схема входа пользователя в систему. SAP Диспетчерский интерфейс R/3 и уровни рабочих процессов.
Шаг 1) Пользователь нажимает на SAP система из SAP Графический интерфейс пользователя; запрос перенаправляется в диспетчер.
Шаг 2) Запрос попадает в очередь запросовДиспетчер следует указаниям. первым прибыл, первым обслужен устанавливает правило и назначает запрос следующему доступному рабочему процессу.
Шаг 3) Назначается рабочий процесс соответствующего типа. Пользователь, выполняющий вход в систему, получает рабочий процесс «Диалог»; фоновый отчет получает фоновый рабочий процесс; оператор UPDATE передается рабочему процессу «Обновление». Тип рабочего процесса определяется действием.
Шаг 4) После назначения рабочего процесса Dialog, права доступа пользователя и его текущие настройки становятся доступными. завернутый в общую память, чтобы рабочий процесс мог работать с данными пользователя. Когда этап диалога завершается, эти данные передаются в память. выкатил Освободить память для следующего пользователя. «Шаг диалога» — это переход от одного экрана к другому в рамках транзакции.
Шаг 5) В процессе работы сначала выполняется поиск запрошенных данных в буфере. Нахождение этих данных там называется... удар и позволяет избежать обращения к базе данных, улучшая время отклика. Если его не найти, это вызовет скучать и чтение базы данных. Высокое соотношение попаданий к промахам является наиболее существенным фактором, способствующим... SAP производительность.
Шаг 6) Оставшиеся данные запрашиваются из базы данных, и объединенный результат отправляется обратно. SAP Графический интерфейс пользователя через диспетчер.
Шаг 7) В заключительной части процесса данные пользовательской сессии удаляются из общей памяти. посадочная дистанцияосвобождая область памяти для следующего запроса.
Тот же цикл диспетчер → очередь → рабочий процесс → буфер → развертывание повторяется для каждого взаимодействия с пользователем, независимо от того, откуда исходит запрос. SAP Графический интерфейс пользователя, браузер через ICM или внешняя система через шлюз.





