5. Технические характеристики программных и аппаратных средств
5.1 Архитектура системы SAP R/3
Система R/3 представляет собой набор приложений, написанных исключительно на языке ABAP/4 и поэтому не зависящих от конкретной платформы. Язык ABAP/4 занимает центральное место в программном обеспечении связного уровня, что позволяет сделать программу независимой от аппаратуры, операционной системы и СУБД.
Рисунок 2 — Стартовое окно SAP R/3
Система R/3, разработанная на базе трехуровневой архитектуры, предназначена для реализации распределенных вычислений в среде клиент/сервер. R/3 содержит 3 логических уровня:
— уровень базы данных, на котором осуществляется хранение и поиск данных бизнес-приложения;
— уровень приложения, на котором реализована логика исполнения;
— уровень представления информации с использованием GUI.
Каждая из этих служб может быть распределена и исполняться на различных аппаратных устройствах.
Интерфейс презентации SAPGUI (GUI — графический интерфейс пользователя) осуществляет выполнение специфичных для платформы функций ввода и вывода в системе R/3. SAPGUI главным образом ориентирован на Windows Style Guide и доступен для нескольких платформ с предоставлением аналогичных функций для них.
В настоящее время администрирование больших объемов данных обычно осуществляется посредством систем управления реляционными базами данных (СУРБД). Эти системы сохраняют данные и связь между ними в двумерных таблицах, которые известны своей логической простотой. Определения данных, таблиц и отношений между таблицами хранятся в словаре данных реляционной СУРБД.
Сервер приложений обеспечивает поддержку следующих типов рабочих процессов:
— диалоговая обработка (D);
— обновление (V: от немецкого “Verbuchung”);
— управление блокировками (E);
— фоновая обработка (B);
— спул (S).
Исполняющаяся система R/3 предоставляет два дополнительных сервиса для внутренней и внешней связи (ниже приведены ограничения по количеству рабочих процессов).
Система обеспечивает разные варианты масштабирования R/3 — от самых малых систем (одноуровневой для небольшого числа пользователей) до крупномасштабных вычислительных сред (трехуровневых систем для многих тысяч пользователей).
Инстанция — это административная единица, объединяющая компоненты системы Базис R/3 и предоставляющая один или несколько сервисов. Сервисы, предоставляемые инстанцией, запускаются и останавливаются одновременно. Для установки параметров всех компонентов инстанции необходимо использовать общий профиль инстанции.
Существует 3 вида конфигурации базисной системы R/3:
— одноуровневая;
— двухуровневая;
— трехуровневая.
Базисная система (R/3 Basis) состоит из следующих компонентов:
— GUI (графический интерфейс пользователя);
— исполнительная система ABAP/4;
— интерфейс базы данных;
— средства поддержки многопользовательского режима;
— средства разработки ABAP/4 Development Workbench;
— система автоматизации совместной обработки данных;
— система электронной почты;
— средства интеграции персональных компьютеров с программным обеспечением;
— средства фоновой обработки заданий;
— система спулинга;
— средства администрирования системы;
— интерфейсы связи с внешними системами;
Функции базисной системы SAP R/3:
— предоставляет среду выполнения для SAP-приложений;
— наиболее оптимально размещает приложение в системной среде;
— определяет устойчивую архитектуры для расширений системы;
— содержит инструменты для администрирования всей системы;
— позволяет осуществлять распределение ресурсов и системных компонентов;
— предоставляет интерфейсы для децентрализованных частей системы и внешних продуктов.
Архитектура базисной SAP-системы наилучшим образом подходит для конфигурации по принципу клиент-сервер.
5.2 Системный ландшафт, обзор ABAP инструментальных средств
Данные в системе R/3 подразделяются на:
— прикладные данные;
— пользовательские данные;
— настройка, зависящая от манданта;
— настройка, не зависящая от манданта;
— данные репозитария.
В дополнение к различным типам данных в системе R/3 существуют также разные виды изменений и адаптаций.
Так как система R/3 представляет собой стандартное программное обеспечение, ее необходимо адаптировать к индивидуальным требованиям каждой компании, в которой используется эта система. Такая процедура адаптации называется пользовательской настройкой, которая включает в себя как зависимые, так и независимые от манданта данные, представленные на слайде. После смены версии может также понадобиться выполнить небольшой объем работ, связанный с пользовательской настройкой.
Разработка и тестирование данных пользовательской настройки осуществляется в манданте, отличном от того, который будет использован в продуктивной эксплуатации. Это означает, что при внедрении R/3 потребуется использовать несколько мандантов. Данные пользовательской настройки обрабатываются и тестируются в одном манданте. При больших инсталляциях может оказаться целесообразным объединение и тестирование подпроектов настройки в дополнительном манданте. Продуктивная эксплуатация осуществляется с использованием своего собственного манданта.
В отличие от пользовательской настройки репозитарий не нуждается в каких-либо изменениях или расширениях при внедрении системы R/3.
Клиенты могут добавлять в репозитарий свои собственные разработки.
Модификации клиента или расширения (объекты клиента, включенные в стандартную поставку SAP-системы) вносят изменения в репозитарий. В стандартной поставке системы SAP предоставляет интерфейсы для этих расширений.
Модификации изменяют такие объекты SAP, как отчеты и определители таблиц. Репозитарий поставляемый SAP не только расширен, но и изменен. Именно поэтому модификации должны быть откорректированы в соответствии с новым репозитарием, инсталлированным в ходе последней смены версии R/3. Процедура корректировки может занять некоторое время.
Для обеспечения согласованности и непротиворечивости системы SAP рекомендует установить системную среду, состоящую из трех систем. Эти три системы включают в себя «продуктивные» манданты (для разработки, настройки и производственной эксплуатации) и любые другие необходимые манданты (для обучения, тестовый мандант и др.
Системы внутри системной среды должны иметь уникальные трехзначные имена.
Объекты репозитария создаются и редактируются посредством ABAP-инструментальных средств.
При редактировании объектов репозитария можно непосредственно вызвать ABAP-инструментальные средства, а затем выбрать соответствующий объект репозитария, либо при просмотре объектов репозитария напрямую перейти к инструментальным средствам.
Браузер репозитария предоставляет доступ к объектам репозитария.
ABAP-инструментальные средства содержат все инструменты для поддержки полного цикла разработки ПО.
С помощью ABAP-инструментальных средств разработчики могут без каких-либо проблем создавать приложения клиент/сервер при этом нет необходимости рассматривать вопросы связи и дистрибуции.
ABAP-словарь предназначен для создания и управления определениями данных. Он позволяет описать все данные, используемые в системе, взаимоотношения между ними, а также обеспечивает централизованное и упорядоченное хранение этих данных. Механизм активации гарантирует, что любые изменения выполненные в ABAP-словаре, будут немедленно задействованы во всех релевантных системных компонентах.
Наиболее важными инструментами разработок являются:
— навигатор по объектам (транзакция SE80);
— ABAP-редактор (SE38) для написания программ;
— редактор экранов и редактор меню для создания графических интерфейсов пользователя;
— построитель функций (SE37) для разработки функциональных модулей;
— построитель классов для объектно-ориентированного программирования;
— инструменты тестирования и оптимизации:
— отладчик;
— динамический анализ;
— SQL-трассировка;
— Computer Aided Test Tool (CATT) — инструментальные средства тестирования.
5.3 Структура и виды программ, среда разработки
Индивидуальные компоненты прикладных программ хранятся в специальной секции базы данных названной R/3 Репозитарием. R/3
Репозитарий служит центральным хранилищем для всех объектов разработки в системе R/3.
Внутри системы R/3 ABAP/4 имеет собственную среду разработки.
Среда разработки ABAP/4 состоит из следующих основных компонентов и прикладных приложений в системе R/3:
— редактор ABAP/4 (se38);
— отладчик (se38);
— словарь данных (se11);
— построитель функций (se37);
— построитель классов (se24);
— средства контроля времени выполнения и производительности (se38);
— расширенная синтаксическая проверка программ (se38);
— редактор экранов (se51);
— редактор меню (se41);
— навигатор по объектам (se80);
— информационная система репозитария объектов;
— организатор переносов (se09);
В среде разработки ABAP/4 также поддерживаются следующие механизмы:
— интерфейс Open SQL;
— интерфейс работы с файлами;
— OLTP программирование (распределенные буферы, распределенная обработка блокировок, сложные объекты блокирования, распределение ресурсов рабочих процессов, асинхронная обработка обновлений);
— система авторизации и доступа к объектам;
— интерфейсы взаимодействия с внешними системами (DCOM/CORBA, RFC, OLE, CPI/C);
— пакетный ввод данных;
— поддержка различных кодировок и форматов номеров;
— локализация (привязка программно-аппаратных средств к условиям и стандартам страны пользователя).
Прикладные программы R/3 в системе R/3 выполняются в рабочих процессах серверов приложений. Это делает их независимыми от использующихся аппаратных средств и операционной системы. Однако, это также означает, что Вы не можете выполнять их вне системы R/3.
Прикладная программа в системе R/3 состоит из двух компонентов, каждый из которых имеет различную задачу:
1. Логика ДинПро. Взаимодействие между прикладными программами и пользователем осуществляется с помощью экранов. Экраны обрабатываются процессором экрана выполняющегося в контексте рабочего процесса. Помимо шаблона входных данных, они состоят из последовательности вызовов экранов. Данная логика выполнения называется логикой динпро. В процессе выполнения программы, экраны реагируют на пользовательские действия и вызывают модули программы обработки данных. Эти модули программы и формируют логику обработки.
2. Логика обработки данных. Компоненты прикладных программ, которые являются ответственными за обработку данных в системе R/3 — ABAP программы. ABAP программы, выполняются ABAP процессором в контексте рабочего процесса. Они получают данные экрана от процессора экрана перед обработкой и посылают их процессору экрана после обработки. Доступ к базе данных осуществляется, используя интерфейс базы данных. ABAP содержит специальный набор команд по имени Open SQL. Данный набор позволяет считывать и записывать данные в базу данных независимо от типа используемой базы данных. Интерфейс базы данных преобразовывает команды Open SQL в команды используемой базы данных. Вы можете также использовать команды Native SQL, которые передаются базе данных без преобразований. При работе с экранами, ABAP программы играют более пассивную роль, действуя как контейнер для набора модулей, которые можно вызвать из логики ДинПро (рис.3).
ABAP/4 был разработан специально для разработки диалоговых программ взаимодействующих с БД. ABAP программы ответственны за обработку данных в пределах индивидуальных шагов диалога прикладной программы. Это означает, что программа не может быть построена как отдельная последовательная единица, а должна быть разделена на секции, которые могут быть назначены для обработки индивидуальных шагов диалога. ABAP программы имеют модульную структуру. Каждый модуль называют блоком обработки. Блок обработки состоит из набора строк ABAP кода. Блоки обработки не могут быть вложены.
К блокам обработки относятся:
1) Диалоговые модули (не могут иметь локальных данных).
2) Модули обработки событий.
3) Подпрограммы (методы классов, формы, и функциональные модули).
Рисунок 3 — Взаимодействие компонентов SAP R/3
Каждая ABAP программа состоит из следующих двух частей:
1) Объявления глобальных данных, классов и экранов выбора. Глобальные данные видимы во всех внутренних блоках обработки, как и определения параметров экранов выбора. Объявления внутри диалоговых модулей являются глобальными. Объявления внутри подпрограмм, функциональных модулей и методов являются локальными.
2) Реализация блоков обработки. Принимая во внимание то, что тело модуля диалога или подпрограммы заключены между ключевыми словами ABAP, которые их определяют, блоки обработки событий начинаются ключевыми словами событий и заканчиваются неявно в месте начала следующего блока обработки.
Все операторы языка ABAP (кроме декларативных) являются частью блоков обработки. Операторы, не заключенные в блоки обработки по умолчанию принадлежат к блоку обработки события START-OF-SELECTION.
Вызов блоков обработки может производиться либо извне ABAP программы (ABAP процессором или процессором экрана) либо операторами ABAP, которые сами являются частью блока обработки (вызов подпрограмм). Диалоговые модули и модули обработки событий вызываются неявно ABAP процессором.
Рисунок 4 — Схема выполнения блоков обработки
В системе R/3 есть различные типы программы ABAP. Тип программы определяет основные технические атрибуты программы. Тип программы устанавливается при создании. Основное различие между различными типами программы — способ вызова блоков обработки.
Существуют следующие типы ABAP программ:
1) Тип 1. Программы типа 1 не нуждаются в использовании экранов для управления диалогом с пользователем. Управление вызовами блоков обработки контролируется процессорами среды выполнения, которая вызывает список блоков обработки в четко определенной последовательности. Программы данного типа ориентированы в основном на создание отчетов. Программа типа 1 может вызываться с помощью кода транзакции (транзакция отчета).
2) Тип М. Наиболее важный технический атрибут программ типа М это то, что они могут управляться только с помощью логики ДинПро. Они могут запускаться на выполнения только с использованием кода транзакции, который привязан к программе и одному из её экранов. Ещё одна особенность программ типа М в том, что для неё необходимо создавать собственные экраны диалога с пользователем (с использованием Редактора Экранов). Программа типа М может также иметь начальный экран выбора. Программы типа М называются пулами модулей и предназначены для разработки диалоговых программ с большим набором экранов и насыщенной логикой ДинПро.
3) Тип F. Программы типа F являются контейнерами для функциональных модулей и не могут быть запущены с использованием кода транзакции или ввода имени напрямую. Функциональные модули — это специальные подпрограммы, которые можно вызывать из других ABAP программ. Программы типа F называются группами функций. Группы функций и функциональные модули создаются с использованием редактора функций.
4) Тип K. Программы типа К не могут быть запущены с использованием кода транзакции или имени программы. Они являются контейнерами для глобальных классов. Они так же известны под названием определений классов. Программы типа K создаются с использованием построителя классов.
5) Тип J. Программы типа J не могут быть запущены с использованием кода транзакции или имени программы. Они являются контейнерами для глобальных интерфейсов. Они так же известны под названием определений интерфейсов. Программы типа J создаются с использованием построителя классов.
6) Тип S. Программы типа S не могут быть запущены с использованием кода транзакции или имени программы. Они являются контейнерами для подпрограмм, которые можно вызывать из других программ. Программы типа S не могут содержать экранов.
7) Тип I. Программы типа I называются includes. Они позволяют разбивать программу на более мелкие модули. Программу типа I можно вставить в любом месте любой программы с использованием оператора INCLUDE <Имя программы типа I>. Среда разработки ABAP/4 имеет механизм для автоматического разбиения пулов модулей и функциональных групп на несколько программ типа I.
Остальные части данного отчета по практике: