Интерфейс операционной системы
Интерфейс операционной системы
В этом разделе рассказывается о Базисе 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.