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.
1.7. Операционная система
Рассмотрев структуру отдельных уровней, архитектуры системы SAP R/3 клиент/сервер и сетевую технологию, обеспечивающую их взаимодействие, мы перейдем к вопросам интеграции R/3 с операционной системой. Особый интерес представляет взаимодействие ядра SAP R/3 и операционной системы на серверах приложений.
ПО SAP GUI и его компоненты инсталлируются типичным для ПК способом: сначала на клиентской системе (или удаленно) создается каталог, который затем поддерживается и обновляется (вручную или автоматически) для каждой новой версии SAP R/3. На уровне БД интеграция с операционной системой зависит от РСУБД и не является универсальной. Одна из основных задач администратора системы SAP R/3 - координация уровней приложений SAP R/3 (ядра R/3). Именно этим вопросам в данном разделе уделяется основное внимание.
1.7.1. Структура каталога
Структура дерева каталога SAP R/3 состоит из различных ветвей различных инстанций, независимо от того, где находятся отдельные инстанции - в операционных системах Windows NT или UNIX.
Системный идентификатор (<SID>) идентифицирует уникальное имя системы SAP R/3; он обычно включает имя базы данных. Идентификаторы SID всегда состоят из трех букв и/или цифр. Ниже дерево каталога разветвляется на каталоги SYS и каталоги с именами, соответствующими именам инстанций, например DVEBMGS00 (центральная инстанция с номером 00). В Windows NT в корневом каталоге \usi\sap есть два дополнительных общих каталога - sapmnt и saploc. В ОС UNIX такие подкаталоги
Рис. 1.10.Дерево каталогов
определяются только для каталога /sapmnt с помощью ссылок. Каталог SYS включает в себя следующие подкаталоги:
► profile
Профили экземпляра
► global
Данные и журналы, относящиеся ко всей системе SAP R/3
► ехе
Выполняемые программы
Каталог ехе содержит подкаталоги dbg, opt и run. Он содержит выполняемые программы среды времени выполнения системы SAP R/3; каждая из программ выполняется в подкаталоге run. По историческим причинам в системе UNIX каталог run отображается в каталог dbg. В данном каталоге находятся оптимизированные программы SAP R/3 и отлаживаемые программы с расширением dbg.
В более ранних версиях SAP R/3 каталог opt в системах UNIX содержал оптимизированное ядро SAP R/3, а каталог dbg- отлаживаемое ядро SAP R/3. Если возникает проблема, то можно переопределить ссылку с каталога run (куда она указывает обычно) на каталог opt с отлаживаемым и более медленным ядром SAP R/3.
С логической точки зрения узел /usr/sap/<SID> содержит каталог для каждой инстанции в системе SAP R/3; в нем находятся подкаталоги log, data и work. Каталог log содержит системный журнал инстанции SAP R/3. В каталоге work (рабочем) сохраняется информация об ошибках и данные трассировки. В каталоге data находятся файлы компонентов управления памятью для процессов SAP R/3 (Memory Management). Физически эти каталоги находятся на сервере приложений каждой инстанции. Логически они представляются в центральной инстанции с помощью средства NFS Mount. Кроме того, деревья каталогов /usr/sap/<SID>/SYS связываются с деревом каталога центральной инстанции.
1.7.2. Пользователи
На уровне операционной системы для пользователей SAP R/3 необходимы специальные пользователи. В процессе инсталляции SAP R/3 для этих пользователей создается требуемая рабочая среда, состоящая из авторизации, настроек по умолчанию и, в зависимости от РСУБД, пользователей базы данных.
UNIX
Для каждой системы SAP R/3 в операционной системе UNIX должны быть созданы пользователи <sid>adm и <RDBMS><sid>. Здесь <sid> означает идентификатор системы SAP R/3 (в нижнем регистре), a <RDBMS> - трехсимвольную аббревиатуру используемой РСУБД:
► sqd (SAPDB)
► db2 (DB2)
► inf (Informix)
► ora (Oracle)
На уровне операционной системы пользователи обычно различаются по соответствующим рабочим областям и поэтому - по их авторизации. Пользователь операционной системы <sid>adm предназначен для администрирования SAP R/3. Для задач администрирования в РСУБД предусматривается пользователь <RDBMS><sid>, однако в действительности эти обязанности возлагаются на нескольких пользователей.
В системах Windows NT все описанные задачи осуществляются пользователем <sid>adm. Сами процессы R/3 выполняются как службы, и для них определен пользователь SAPService<SID>.
Со стороны БД в системе SAP R/3 есть пользователь SAPR3, которому принадлежат все таблицы БД в системе R/3. Могут существовать и другие пользователи БД, однако они не имеют полномочий на доступ к этим таблицам.
1.8. Советы
► Пути доступа меню
При поиске пути доступа меню к транзакции можно использовать транзакцию search_sap_menu для стандартного меню или search_ user_menu для записей в меню пользователя.
► Транзакция
При поиске транзакции с помощью ключевого слова или групповых символов можно использовать ►Data Browser таблицы TSTCT.
1.9. Транзакции и пути доступа меню
Data Browser: SAP Menu • Tools • АВАР • Workbench • Overview Data Browser (SE16)
1.10. Дополнительная документация
Быстрые ссылки
► SAP Service Marketplace, псевдоним netweaver
► SAP Service Marketplace, псевдоним platforms
► SAP Service Marketplace, псевдоним sapgui
► SAP Service Marketplace, псевдоним sap-its
► SAP Service Marketplace, псевдоним releasestrategy
Указания SAP Service Marketplace
В следующей таблице представлен обзор наиболее важных указаний (Notes) в SAP Service Marketplace, которые имеют отношение к базовым вопросам архитектуры SAP R/3.
Таблица 1.3.Указания для архитектуры клиент/сервер в SAP R/3
Содержание | Указание |
ITS Maintenance Strategy | 197746 |
SAP GUI Resources | 26417 |
SAP GUI Maintenance Strategy | 147519 |
SAP GUI Limitations for Java | 454939 |
1.11. Контрольные вопросы
1. Какие службы предлагает прикладной уровень?
a. Служба коммуникаций
b. Служба диалога
c. Служба спула
d. Служба обновления
e. Служба сообщений
f. Служба транспорта
g. Служба шлюза h. Служба сети
i. Служба блокировки
j. Служба фонового выполнения
к. Служба изменения
2. Какое из следующих утверждений правильно?
a. Планировщик и процессы диалога не следует выполнять в одной инстанции.
b. Сервер блокировки и сервер сообщений тесно взаимодействуют друг с другом и, следовательно, должны выполняться в одной инстанции.
c. Служба фонового выполнения и служба обновления работают в тесном взаимодействии и никогда не должны выполняться в разных инстанциях.
3. Для чего предназначен сервис шлюза?
a. Для коммуникаций между процессами SAP R/3.
b. Для коммуникаций между системами SAP R/3 и инстанциями системы SAP R/3.
c. Для коммуникаций со спулом операционной системы.
d. Для соединения с внешними программами, такими как MAPI, EDI и служба телекса.
e. Для коммуникаций с системами SAP R/3.
4. Сколько серверов сообщений активно в системе SAP R/3?
a. 0
b. 1
c. 2
5. Сколько служб обновления может быть активными в каждой инстанции?
a. 1
b. 2
c. Это число автоматически изменяется системой SAP R/3 в зависимости от требований.
d. Любое число, в зависимости от доступных ресурсов. Это число может заранее определяться администратором.
ГЛАВА 2
ПЕРВЫЕ ШАГИ
2.1. Запуск БД и инстанций SAP R/3
Запуск системы SAP R/3 осуществляется в несколько шагов. В UNIX или Windows NT запуск системы SAP R/3 является задачей пользователя операционной системы <sid>adm. Выполнение процедуры запуска предусматривает следующие этапы. Сначала для сбора статистической информации по загрузке компьютера и его операционной системы запускают специальную программу saposcol (SAP operating system collector), если она еще не активна. Для каждого сервера SAP запускается только одна программа saposcol, даже если несколько систем или инстанций SAP R/3 выполняются на одном компьютере. Затем начинаются основные операции процедуры запуска системы SAP R/3. Самый главный элемент системы SAP R/3 - это база данных, и, для того чтобы можно было выполнять какие-то задачи, ее нужно активизировать. После этого необходимо сделать то же самое с центральной инстанцией системы R/3. Другие инстанции могут запускаться только при активном сервере сообщений и сервере блокировок. На этом процедура запуска системы R/3 завершается. Для работы пользователей с SAP R/3 необходим также запуск клиентских систем. Они могут запускаться в любое время и независимо друг от друга. По этой причине запуск клиентских систем не считается частью процедуры запуска SAP R/3. За исключением запуска клиентов все остальные этапы запуска системы SAP R/3 обычно выполняются автоматически и совместно.
Windows NT
В Windows NT управление всеми доступными системами R/3 реализовано как встраиваемый модуль Управляющей консоли Microsoft (MMC - Microsoft Management Console). MMC использует древовидную структуру. Встраиваемый модуль SAP R/3 состоит из корневого узла SAP R/3 System; различные системы SAP R/3 и их инстанции выводятся ниже корня как подузлы. Также выводится информация о процессах, текущем статусе и открытых сигналах. Когда используется экспертный режим, вывод включает также дополнительные и более подробные данные. Отметив систему R/3 или экземпляр и выбирая Start, можно фактически запустить компоненты.
В более старых версиях SAP R/3 для запуска системы под Windows использовалась программа SAP Service Manager. Хотя сегодня рекомендуется использовать ММС, можно все еще использовать SAP Service Manager. При выборе в диалоговом окне Service Manager опции Start он сначала проверяет, активна РСУБД в R/3 или еще нет. Если БД SAP R/3 еще не активна, то она будет автоматически запущена. Далее запускаются процессы SAP R/3 центральной инстанции. Светофор показывает состояние двух самых важных процессов - сервера сообщений и планировщика. Планировщик управляет работой всех других рабочих процессов. Когда он будет активизирован, нужно подождать запуска планировщиком остальных процессов. Только после этого система SAP R/3 будет готова к работе. Светофор в SAP R/3 Service Manager использует цветовой код для указания статуса каждого процесса:
Серый | Процесс не работает |
Желтый | Процесс запускается |
Зеленый | Процесс активен |
Красный | Процесс завершен после ошибки |
UNIX
В системах UNIX для запуска SAP R/3 используется командный файл оболочки. Администратор SAP R/3, <sid>adm, может применять командный файл (программу командного процессора) startsap. Файл startsap включает в себя ссылку на фактический командный файл startsap_<имя_хоста><номер_инстанции> для запуска системы в домашнем каталоге этого пользователя.
В остальном же процедура запуска R/3 в UNIX практически идентична используемой в Windows. Вызов startsap [all] запускает следующую программу и системы (если они еще не работают) в следующем порядке:
1. Сборщик статистики saposcol
2. РСУБД с базой данных SAP R/3
3. Система SAP R/3
Кроме того, startsap предлагает следующие варианты:
► startsap db
Командный файл выполняется только до шага запуска БД.
► startsap r3
Предполагается, что БД уже активна.
Дополнительные инстанции
В распределенной инсталляции SAP R/3 можно запустить дополнительные инстанции. Для этого используются те же средства, что и для запуска центральной инстанции. Однако при использовании нескольких инстанций сервер сообщений и РСУБД не запускаются. Инструменты настраивают соответствующим образом.
Если на сервере БД нет активной инстанции R/3, то можно активизировать БД с помощью средств РСУБД или командой startsap db.
Использование журналов
Процедура запуска создает также журналы (в текстовом формате) на уровне файловой системы в домашнем каталоге пользователя <sid>adm. Если во время запуска возникают проблемы, то эти журналы могут предоставить ценную информацию (например, коды ошибок или описание проблемы). Журналы приходится анализировать вручную; однако в среде Windows можно также работать из ММС для просмотра журналов с помощью контекстного меню инстанции. Во время процедуры запуска создаются следующие журналы:
► startdb.log
► startsap_<имя_компьютера>_<имя_инстанции>.log
Журнал startdb.log содержит всю требуемую информацию о запуске каждой системы базы данных. Журнал startsap_< имя_компьютера >_< имя_экземпляра>.log регистрирует процедуру запуска системы SAP R/3. Следующий журнал запуска системы "SKP" на компьютере UNIX "prdsapr3" хорошо показывает отдельные фазы запуска инстанции SAP R/3.
Листинг 2.1.Журнал запуска R/3 startsap_prdsapr3_00.log
Trace of system startup/check of R/3 System SKP on Sun Oct 6 15:02:25 UTC 2002
Called command: /usr/sap/SKP/skpadm/startsap_prdsapr3_00r3
Starting SAP-Collector Daemon
------------------------------------------------
saposcol already running
Checking SAP R/3 SKP Database
------------------------------------------------
Database is running
Starting SAP R/3 Instance
------------------------------------------------
SAP-R/3-Startup Program V1.7 (92/10/21)
------------------------------------------------
Starting at 2002/10/06 15:02:29
Startup Profile: Startup Profile: "/usr/sap/SKP/SYS/profile/START_DVEBMGS00_prdsapr3"
Execute Pre-Startup Commands