SAP R/3 в Интернет

SAP R/3 в Интернет

Значение системы Интернет не в том, что она увеличивает сферу действия предприятия и его маневренность. Скорее, значимо то, что Интернет сам стал важнейшим компонентом рыночной среды и все мировые компании должны адаптироваться к этому новому окружению. Разумное использование Интернет-технологий для бизнес-операций стало важнейшим фактором успеха для многих предприятий. Это справедливо для всех ERP включая SAP R/3.

Web-поддержка SAP R/3 осуществляется достаточно просто благодаря следующему:

• Обработка данных Интернет-версии и версии клиент-сервер SAP используют одинаковый протокол передачи (TCP/IP).

• Интернет-технология на основе браузера во многом совпадает с вариантом «тонкого» клиента SAP в трехуровневой архитектуре клиент/сервер.

• Интернет, так же как и SAP, полностью независим от технических средств и основного программного обеспечения, на базе которых Web-сервер предоставляет требуемые услуги.

Вообще говоря, принципы, по которым работает Интернет, не сильно отличаются от принципов работы SAP R/3. В системе SAP R/3 сервер приложений функционирует в качестве сервера, а графический интерфейс пользователя SAP (SAPGUI) выступает в качестве клиента. Точно также, в случае с Интернет, браузер выступает клиентом, а Web-сервер — сервером, который предоставляет все документы и сервисы, требующиеся клиенту Web-браузера.

Связь с SAP через Интернет

Существует два различных подхода к соединению с системой SAP через Интернет: «снаружи внутрь» и «изнутри наружу». В первом случае логика приложения находится во внешней системе, в последнем — остается внутри системы SAP. Каждый из этих подходов имеет свои преимущества, в зависимости от требований системы приложений. Подход «снаружи внутрь» подходит приложениям, которым особенно не требуются сервисы SAP и которым не нужно связываться с большим количеством разнотипных источников и систем. Оба подхода имеют доступ и используют BAPI, предоставляемые системой SAP, с той лишь разницей, что в случае подхода «снаружи внутрь» BAPI контролируются логикой внешней системы.

Подход «снаружи внутрь»

Главным преимуществом этого подхода является возможность использовать большое количество различных языков программирования, сред разработки и интеграции, сред выполнения и интерфейсов. Однако, в отличие от подхода «изнутри наружу», внешнее приложение должно обеспечивать защиту, управление передачей, целостность данных и т. п.

Этот подход обычно использует RFC для вызова функций SAP через RFC APIs. Но для доступа к данным через RFC пользователь должен уметь программировать на АВАР/4.

Другой вариант — использовать SAP Automation, что позволяет напрямую задействовать функции SAPGUI для внешних программ. Вдобавок, это не требует знания АВАР/4, но SAP Automation применим только для доступа к существующим транзакциям SAP.

Нужно отметить, что написание Ваших собственных программ доступа к данным возможно только в том случае, если ни один BAPI не доступен. К тому же, прямые вызовы RFC — дело прошлого; SAP позволяет очень рационально вызывать BAPI через соединитель DCOM.

Подход «изнутри наружу»

Сервер Интернет-транзакций (Internet transaction server, ITS) стал доступен в SAP R/3 с выпуска версии 3.1. Это решение обеспечивает доступ к SAP через сеть Интернет. ITS обеспечивает доступ к функциям системы R/3 и одновременно служит шлюзом для преобразования HTML и интерфейсом Web-сервера. Сначала ITS моделирует SAPGUI, ожидаемую системой R/3; канал коммуникации SAPGUI создает действующую связь с сервером приложений R/3. Интерфейс Dynamic Information and Action Gateway (DIAG) на уровне SAPGUI организует прозрачный двухсторонний обмен данными с системой SAP, позволяя ему выполнять несколько Интернет-транзакций одновременно.

При этом подходе вся логика приложения находится внутри системы SAP, BAPI — под контролем соответствующих транзакций SAP и ITS автоматически использует доступные в системе возможности для организации защиты, управления передачей, целостности данных, масштабируемости, управления сеансом и так далее.

Примечание

ITS мы обсудим в следующем разделе, но уже сейчас следует отметить, что еще одним преимуществом четырехзвенной архитектуры R/3 является то, что она полностью отделяет конструирование и разработку Интернет-приложений R/3 на базе АВАР/4 от конструирования пользовательского Web-интерфейса. Последнее требует особых навыков и по большей части выполняется опытными визуализаторами и эргономистами.

Сервер Интернет-транзакций SAP

Система R/3 и Интернет используют различные протоколы коммуникации и форматы данных. Это происходит оттого, что в Web отсутствует информация о статусе, в отличие от ориентированной на транзакции и сессии системы SAP. ITS обеспечивает интерфейс взаимодействия между Интернет и системой R/3 для доступа к ней с Web-браузера или серверной программы HTTP.

Когда сервер HTTP получает запрос от пользователя, он запускает программу ITS для преобразования содержимого HTML-страниц в данные на экране R/3. Эти данные передаются между ITS и R/3 при помощи интерфейса DIAG, что позволяет ITS работать как обычный SAPGUI при коммуникации с системой R/3. Это инициирует транзакцию в системе R/3; данные на экране, предоставленные системой SAP, преобразуются при помощи ITS обратно в HTML страницу, которая затем переправляется через сервер HTTP на Web-браузер, где и отображается. Транзакция, происходящая в R/3, выполняет следующий шаг, в зависимости от действий пользователя; при этом пользователь вводит необходимые данные через страницу HTML.

Помимо того, что ITS служит шлюзом между сервером HTTP и системой R/3, он также выполняет другие функции, например администрирование Web-пользователей, ресурсов системы и Web-транзакций.

Использование этого подхода для связи сервера HTTP и системы R/3 имеет следующие преимущества:

• Web-транзакция может быть разработана и протестирована в системе R/3.

• Соединения используют только стандартные протестированные интерфейсы R/3.

• Все компоненты транзакции могут храниться в системе R/3, включая те, которыми ITS пользовался за пределами системы R/3 во время работы.

• Различные компоненты Web-транзакций могут быть включены в рабочее место Workbench Organizer. Как и любые другие, Web-транзакции сначала могут быть разработаны в тестовой системе, и потом перенесены в производственную систему.

• Зависимые от языка страницы HTML могут быть созданы во время работы при помощи языковых возможностей, предусмотренных в SAP.

• Защита транзакций R/3 может быть применена и к Web-приложениям.

• Доступность и масштабируемость R/3 может распространиться на Web-транзакции.

• Система R/3 предоставляет Web-приложениям динамически извлекаемую или текущую, последнюю информацию.

• Поддержка всех распространенных браузеров.

• Поддержка интеграции со всеми лидирующими Web-серверами, в том числе с Microsoft IIS, Netscape Enterprise server и любыми другими серверами с использованием общих межсетевых интерфейсов (Common Gateway Interface, CGI).

Выбор сервера приложений SAP R/3 в качестве платформы для развития Web-приложений позволяет SAP использовать преимущества этой проверенной среды, такие как:

• Рабочее место разработчика АВАР/4

• Концепция управления и полномочий пользователей

• Система проведения изменений и переносов (Change and Transport System, CTS)

• Поток операций (Workflow)

• Управление блокировками

• Буферизация базы данных

• Управление обновлением

• Поддержка различных языков

• Независимость платформы и базы данных

• Масштабируемость.

ITS предоставляет возможность готовой конверсии транзакций R/3 в Web-транзакции. Большая часть стандартных бизнес-приложений SAP используют HTML 4 и такую возможность, как каскадная таблица стилей (Cascading Style Sheets, CSS).

Архитектура ITS

ITS составляют два независимых компонента: Web-шлюз (WGate) и Шлюз приложений (AGate), которые сообщаются через TCP/IP. Это позволяет им работать на различных компьютерах, что является целесообразным с точки зрения надежности и масштабирования.

WGate обеспечивает интерфейс для Web-сервера и доступен для загрузки в качестве DLL (Dynamic Link Library) во время рабочего цикла для Windows NT 4.0 на MS IIS и сервере Netscape Enterprise.

AGate обеспечивает интерфейс для приложений R/3, используя протокол DIAG. В данный момент этот шлюз доступен в Windows NT 4.0. Несколько Web-серверов и соответствующие им Web-шлюзы могут сообщаться с одним AGate. Первый вызов нового соединения на Web-сервер начинает новое соединение в ITS. Во время передачи данных система накапливает данные в контекстовых структурах AGate, что помогает сделать ITS доступным для транзакций R/3, а также облегчает контроль сеанса ITS.

AGate отвечает за управление соединением, включая отображение экранов R/3 или функциональных модулей в HTML, управление временным лимитом Web-соединения, управление соединением R/3, создание страниц HTML. Связь обрывается только по причине отключения пользователя или из-за временного лимита. Статус соединения позволяет повторно синхронизировать ситуацию в Интернете и в соответствующей транзакции R/3.

AGate внедряется с высоко оптимизированными потоками и управлением памятью, что помогает быстрому контекстному переключению между различными сессиями. Как в процессе диспетчеризации процессов сервера приложений, диспетчер AGate организует запросы из Интернета и рабочих потоков в WGate. Поток применяется для одного цикла запрос/ответ, а не для всего пользовательского соединения, что даст возможность множеству Web-пользователей использовать этот поток повторно.

Файлы ITS

Вне системы транзакция R/3 определяется не по коду транзакции, а по имени сервиса, как Интернет-приложение или сервис. Файлы описания сервисов играют большую роль при создании прикладных Интернет-компонентов (Internet Application Component, IAC) и они запрашиваются при запуске IAC:

 Глобальный сервис: этот сервисный файл предоставляет информацию, такую как системное имя, что не зависит от специфического сервиса. Глобальные описания сервиса применимы ко всем Интернет-транзакциям, выполняемым через ITS. Таким образом, для каждого SAP ITS существует только одно глобальное сервисное описание.

 Специфический сервис: для каждой R/3-транзакции есть один файл специфического сервиса. Информация файла специфического сервиса накладывается на информацию глобального сервиса. Этот файл содержит такую информацию, как обязательное имя транзакции, имя соответствующего сервера приложений R/3 и дополнительную информацию о логине, пароле, клиенте, языке и т. п. Сервисы разработаны в SAP@Web Studio.

 Шаблоны HTML: ITS использует многоступенчатый (многошаговый) процесс разработки финальных страниц HTML, применяя заранее определенные шаблоны, доступные с ITS. Как и другие сервисы, шаблоны HTML могут быть двух типов: системные и специфические. Шаблоны HTML содержат метки-заполнители для соответствующих областей экранов R/3, и это позволяет шлюзам приложений (AGate) размещать информацию с HTML в области экрана и наоборот. Системные шаблоны, которые не распознаются или не существенны для транзакции R/3, создают сообщения об ошибке, отображаемые на Web-браузере.

Бизнес-HTML

Бизнес-HTML состоит из формулировок, специфичных для каждого ITS, содержащихся в шаблонах HTML. Эти формулировки не являются частью стандартного HTML и не распознаются Web-браузерами. Они только контролируют интерфейс ITS в системе R/3.

Шаблоны HTML разработаны в SAP@Web Studio; каждый шаблон HTML соответствует только одной транзакции R/3 и присвоен только одной теме сервиса. Они также могут содержать URL для бинарных объектов типа графических и звуковых файлов, используемых Web сервером, несмотря на то, что они прозрачны для функций ITS. Шаблоны HTML не содержат бизнес-логики, только визуальные элементы для ввода и вывода транзакций R/3; вся логика продолжает оставаться внутри системы R/3.

• Языковые ресурсы: шаблоны HTML могут содержать метки-заполнители для текстовых элементов, которые заполняются из файла языковых ресурсов в соответствии с языком, выбранным во время входа в систему. Перевод производится путем определения ключей в шаблоне и запоминания отображения ключей в фактической строке языкового ресурса. Языковые ресурсы могут быть созданы в SAP@Web Studio для каждого сервиса и для каждой команды сервиса. Каждый сервис может содержать один или несколько файлов языковых ресурсов, чтобы предоставить различные языки специфической Web-транзакции.

• Команда: позволяет сервису иметь различный внешний вид с помощью использования различных тем.

Инструменты ITS

SAP@Web Studio используется для создания Интернет-транзакций; позволяет создавать и поддерживать различные файлы описанных ранее сервисов, что необходимо для запуска Интернет-приложений IAC.

ITS Отладчик (Debugger) позволяет создавать параллельное соединение между Web-транзакцией и соответствующей R/3-транзакцией через SAPGUI одновременно. Это делает возможным переключение между транзакциями, которые видимы в обеих средах, что чрезвычайно помогает при отладке.

Прикладной Интернет-компонент

Прикладные Интернет-компоненты (Internet Application Components, IAC) — это Интернет-приложения, состоящие из транзакций АВАР и соответствующих им шаблонов HTML, о которых говорилось ранее. Они также включают описания вышеупомянутых сервисов. IAC выполняют бизнес-процессы, используя BAPI, хотя могут также применять и традиционные функциональные модули. Объектно-ориентированная природа BAPI позволяет IAC легко поддерживать и обеспечивать независимость своих версий.

Тем не менее, ITS не может использовать стандартные транзакции R/3 без каких-либо модификаций. Характеристики Интернета запрещают применение следующих экранных характеристик в обычной транзакции R/3:

• Строка меню

• Строка инструментов

• Диалоговые окна (для сообщений, предупреждений и т. п.)

• F1 (Помощь) и F4 для кода поиска и справки по допустимым значениям

• Элементы управления окном (например, бегунок или экранная кнопка).

IAC может быть разработан с использованием одной из трех программных моделей: транзакции, функциональные модули и отчеты. Транзакции R/3, которые являются объектом, кумулятивно изменяющим параметры своего состояния в процессе исполнения по вызовам клиентов, являются по существу экранными приложениями. Приложение делится на два отдельных экрана с диалоговым выполнением, соединяющим оба экрана. Приложения R/3 сохраняют в памяти всесторонние пользовательские контексты до того времени, пока этот объект передается в базу данных. Транзакции более удобны в качестве модели программирования, когда пользователь не собирается просматривать или произвольно переключаться между экранами.

ITS может также вызывать функциональные модули, используя RFC-интерфейс SAP. Модель программирования основанная на RFC называется WebRFC. Она запрашивает функциональный модуль к каждой странице HTML. Эта модель удобна для приложений, где соответствующий Web-пользователь не должен следовать четкому диалоговому режиму. Примером таких приложений может быть быстрый просмотр списка источников или отбор в корзину объектов, каталогов и т. п. Система запускает базирующийся на RFC-интерфейс без программирования доступа в Интернет на языках типа С или С++.

Отчеты дают возможность отображать отчеты на браузер HTML и автоматически создавать страницу HTML, соответствующую выбранному экрану. Они также предусматривают Web-браузер для отбора отчетов, доступных в системе.

Цикл запроса/ответа ITS

Цикл запроса/ответа ITS, как показано на рисунке 19.7, работает следующим образом:

1. Пользователь выбирает страницу HTML, соответствующую IAC на Web-браузере.

2. WGate создает соединение с AGate. AGate загружает соответствующий сервис и интерпретирует описание сервиса, при этом специфические настройки заменяются на более общие настройки.

3. AGate открывает соединение SAPGUI с системой R/3 и стартует транзакцию R/3, определенную в файле сервиса в системе R/3.

4. Система передает основной экран в AGate через интерфейс DAIG. AGate накапливает необходимые контекстные поля в ITS.

5. AGate находит файл шаблона HTML, соответствующий этому экрану и помещает экранные данные в правильные метки-заполнители при помощи HTML бизнес-отчетов, а также контекстной информации.

6. AGate передает заполненную страницу HTML в WGate, который возвращает эту страницу на браузер пользователя через Web-сервер.

Рис. 19.7. Цикл запроса/ответа ITS.