Вивек Кале - Внедрение SAP R/3: Руководство для менеджеров и инженеров
Вообще говоря, принципы, по которым работает Интернет, не сильно отличаются от принципов работы 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: