Я уже упоминал многие из этих интерфейсов в главе 4 «Решение SAP», но в этой главе расскажу об интерфейсах между системой SAP и операционной системой. Вопросы инсталляции и повседневного управления системой SAP более подробно обсуждаются в главе 11 «Инсталляция и администрирование SAP», в которой рассматривается инсталляция SAP и управление режимами, клиентами, пользователями, рабочими задачами, принтерами, базами данных и т. п. В главе 18, «Поддержка SAP», обсуждаются вопросы поддержки инсталляции SAP, в частности, обновление и Справочная система (Help Desk). Интерфейсы для взаимодействия с такими внешними системами, как ALE, I-Doc, SAP ITS/IAC и другими, рассматриваются в главе 19 «Улучшения в SAP и интерфейсы взаимодействия с системой», АРМ разработчика АВАР/4 описан в главе 8 «АВАР/4 для индивидуальной разработки». В рамках данной главы, я кратко упомяну об интерфейсах SAP для работы с базами данных, сетями и системами презентаций.
Интерфейс операционной системы
В этом разделе рассказывается о Базисе SAP, который представляет собой интерфейс для взаимодействия с подчиненными ему операционными системами.
Транзакции в системе SAP
Работа системы «Базис» основана на нескольких концепциях, таких, как SAP-транзакция и Логическая Единица Работы (Logical Unit of Work, LUW). Перед тем, как мы обсудим различные сервисы Базисного уровня, рассмотрим эти концепции.
Транзакции SAP неразрывно связаны с взаимодействием пользователей, которые находятся в том или ином экране, потому что в системе SAP любая операция основывается на взаимодействии между экранами. Транзакции приложений в рамках SAP отличаются от транзакций, знакомых нам по работе с базами данных, хотя в их основе заложен принцип внесения изменений в базу данных.
Транзакция SAP состоит из серии последовательных диалоговых окон, логически связанных между собой, заполнение которых приводит к обновлению баз данных.
Каждое появляющееся окно — это, по сути, динамическая программа, представленная в виде экрана. Каждый экран состоит из информации о конфигурации окна, полях для заполнения, определениях этих полей, подтверждения изменений в полях, сверке подтверждений и других операциях по обработке данных.
Выполнение Транзакции SAP состоит из двух фаз: фаза он-лайн и фаза внесения обновлений. Транзакция не считается завершенной, пока все логически взаимосвязанные операции не будут успешно выполнены. Кроме того, в случае, если транзакция SAP не будет успешно завершена, все обновления баз данных, внесенные во время выполнения промежуточных шагов, будут отменены.
Логическая Единица Работы в SAP
SAP дает определение Логической Единицы работы (LUW), ориентированной на приложения, в которых может содержаться несколько динамических программ и соответствующих изменений в базах данных. Таким образом, одна LUW в системе SAP может включать в себя несколько LUW на уровне баз данных, но никогда наоборот. LUW на уровне баз данных в SAP ничем не отличаются от принципа работы таких стандартных баз данных, как Oracle, Informix и т. п.
Впрочем, если LUW в системе SAP не завершается успешно, все соответствующие LUW на уровне баз данных также отменяются. Таким образом, не только отдельные базы данных остаются устойчивыми и не содержат противоречащих данных, но и вся система в целом, на всем протяжении ее работы.
Причина, почему необходимо задать общую LUW в системе SAP заключается в том, что различные динамические программы в рамках отдельной транзакции SAP могут управляться различными процессами (см. раздел «Диспетчер и рабочие процессы»), в то время как в системах управления базами данных (DBMS), напротив, логической единицей работы управляет только один процесс. Кроме того, транзакции SAP позволяют осуществлять как синхронное (то есть в режиме реального времени), так и асинхронное внесение данных (которое используется для экономии времени работы с системой), даже с разных компьютеров в рамках одной транзакции SAP.
Диспетчер и рабочие процессы
Исполняющая система R/3 следит за многими функциями — такими, как управление памятью, управление полномочиями и т. д., то есть тем, что обычно осуществляет операционная система. Но система SAP сама осуществляет эти функции, чтобы обеспечить мобильность и контроль над производительностью системы. Исполняющая система R/3 написана на языке C/C++, в то время как SAP 4.0 и более поздние версии модулей приложений SAP были написаны на АВАР или АВАР/4.
Читать дальше