Выбрать главу

Рис. 1.9. Интерфейс базы данных

Native SQL и Open SQL

На рис. 1.9 показаны интерфейсы между РСУБД и рабочими процессами. Уровни приложений и БД взаимодействуют друг с другом исключительно через SQL. Несмотря на стандарты SQL, каждая поддерживаемая SAP R/3 РСУБД предлагает свой собственный диалект SQL. Для обеспечения максимальной независимости от специфических для каждой версии и производителя расширений и модификаций рабочие процессы SAP R/3 обычно поддерживают только интерфейс Open SQL. АВАР Open SQL соответствует стандарту SQL2 (Entry Level). При необходимости в интегрированном с рабочими процессами интерфейсе язык Open SQL преобразуется в Native SQL — собственный SQL РСУБД. Специальные средства языка SQL, реализованные в РСУБД, можно также использовать в программах АВАР. Средства языка зависят от конкретного производителя, а модули инкапсулируются в приложения SAP R/3. Их использование сводится к уровню «абсолютной необходимости». Между тем, существуют подходящие области для применения подобных средств. Это специальные приложения, такие как мониторы баз данных. Для инкапсуляции операторов Native SQL в программы АВАР используется следующая конструкция:

□ EXEC SQL.

<оператор Native SQL>

ENDEXEC.

Типы таблиц

Данные хранятся в таблицах РСУБД. Все данные приложения однозначно (1:1) отображаются в прозрачных таблицах. Теоретически к ним можно обращаться с помощью других инструментов SQL или инструментальных средств конкретного производителя. С технической точки зрения административные данные системы SAP R/3 также хранятся в таблицах. Хотя это таблицы других типов, для РСУБД они все равно остаются таблицами. Иногда несколько небольших таблиц группируются в SAP R/3 в одну таблицу РСУБД. Для SAP R/3 такая таблица-контейнер называется пулом таблиц. Таблицы в пуле видимы только для системы SAP R/3. Основное преимущество данных пулов состоит в уменьшении общего числа таблиц для РСУБД. Индивидуальные таблицы в табличном пуле идентифицируются по уникальным именам и специальным ключам записей. Поскольку в этих таблицах используются индивидуальные структуры и методы хранения, это осложняет доступ к ним без применения средств SAP R/3. Таблица АТАВ может служить примером типичного пула таблиц. Она содержит несколько управляющих таблиц SAP R/3, которые невелики по размеру, а их содержимое относительно постоянно. Это означает, что возможна буферизация всего пула таблиц.

Кластеры

Аналогичный случай представляют кластеры таблиц и логические таблицы кластера. Таблицы кластера не существуют в РСУБД как независимые таблицы. Несколько таблиц кластера группируются в кластер таблиц, который обычно называют просто кластером. Обычно несколько строк таблицы кластера группируются в запись кластера с общим ключом. В отличие от пула таблиц, где запись присваивается записи в пуле, здесь запись состоит из нескольких записей в таблице кластера. При этом осуществляется конкатенация записей, к которым добавляется ключ кластера. В основном, этот метод применяется для документирования.

Всего на уровне БД системы SAP R/3 версии 4.6B содержится порядка 21 600 таблиц и 25 000 индексов или примерно 23 700 таблиц для SAP R/3. Все программы АВАР, которые реализуют бизнес-функции SAP R/3, также хранятся в базе данных.

База данных и РСУБД играют в работе системы SAP R/3 ключевую роль. Здесь осуществляется управление всеми данными, которые вводит пользователь, включая данные администрирования SAP R/3. Администрирование также имеет очень важно особенно при резервном копировании данных. В широком смысле эти операции являются частью администрирования SAP R/3. В более крупных системах задачи администрирования БД иногда требуют, чтобы их выполнял специальный сотрудник или группа людей. Однако многие специальные особенности РСУБД характеризуют администрирование базы данных. В данной книге рассматриваются только универсально применимые процедуры. Более специальные вопросы требуют обращения к книгам, посвященным администрированию РСУБД.

1.6. Сеть

В архитектуре клиент/сервер сетевые службы используются для взаимодействия отдельных уровней. Коммуникации между компонентами SAP R/3 и другими системами основаны на протоколе TCP/IP.

CPI-C

Система SAP R/3 предусматривает различные службы, обеспечивающие коммуникацию. Для взаимодействия программ АВАР используется специальный интерфейс SAP R/3 под названием CPI-C (Common Programming Interface for Communication). Он выполняет функции стандартизованного и согласованного интерфейса коммуникации. Интерфейс CPI-C соответствует стандарту SAA (System Application Architecture), предложенному компанией IBM в 1987 г. Этот стандарт охватывает:

1. Методы установления коммуникации

2. Управление коммуникацией

3. Обмен информацией

4. Методы завершения коммуникации (закрытия соединения)

За преобразование вызовов CPI-C отвечает шлюз SAP Gateway. Интерфейс CPI-C всегда используется для коммуникации между разными системам SAP R/3 при взаимодействии систем SAP R/3 и SAP R/2, а также при выполнении программ вне системы. Короткие сообщения обрабатывает сервер сообщений (Message Server).

Шлюз SAP

При обмене большими объемами данных используется конкретная специальная служба шлюза SAP (SAP Gateway на базе TCP/IP или LU6.2). Язык CPI-C является в SAP R/3 составной частью языка программирования АВАР (Starter Set), который включает в себя дополнительные функции преобразования данных. Чтобы избавить пользователей от необходимости написания на СРТС собственных подпрограмм коммуникаций, SAP R/3 предлагает интерфейс RFC (Remote Function Call — Вызов удаленной функции). RFC использует отдельный протокол для вызова внутренних и внешних функций, обслуживаемых библиотекой функций SAP R/3. Для выполнения модуля функции на любом компьютере в той же системе SAP R/3 или в других системах R/3 и R/2 можно применять параметр Destination (назначение). RFC поддерживает асинхронную и синхронную коммуникации (см. главу 13).

Недостаток синхронной коммуникации состоит в том, что программа может вызывать другую удаленную программу, только если программа-«партнер» активна. К тому же, если получатель находится в малопроизводительной системе, это может вызвать задержки для отправителя. А если отправитель внезапно «потеряет» получателя, то нередко требуется восстановление обеих систем.

В то же время асинхронная коммуникация позволяет поддерживать высокую согласованность транзакций, для чего к вызову RFC добавляется ключевая фраза IN BACKGROUND TASK. Если выполнение на целевой системе инициируется вручную или целевой компьютер не может исполнить запрос, то данные сначала помещаются в очередь. В этом случае для администрирования используется интерфейс программирования QAPI (Queue-Application Programming Interface).

OLE

Более высоким уровнем по сравнению с RFC является механизм связывания и встраивания объектов (OLE — Object Linking and Embedding). OLE соединяет программы ПК с системой SAP R/3. Команды OLE в программах АВАР передаются в SAP GUI через механизм RFC и соответствующего ПО ПК. Это позволяет обмениваться данными с такими программами, как MS Word или MS Excel.

С точки зрения администратора должны удовлетворяться также технические требования, такие как стабильные сетевые соединения. Вместе с тем, необходимо принять меры безопасности, такие как организация брандмауэра (сетевого экрана). На практике подобные задачи обычно выполняются службой технической поддержки. В крупных системах рекомендуется поручить их выполнение администратору сети, который создаст и проверит необходимые соединения SAP R/3.