WebSphere Adapter for SAP Software предоставляет несколько способов взаимодействия с приложениями и данными на серверах SAP.
Поддерживается исходящая обработка (из приложения в адаптер в SAP server) и входящая обработка (из SAP server в адаптер в приложение).
Для исходящей обработки клиент адаптера вызывает операцию адаптера для создания, обновления или удаления данных в SAP server иди для извлечения данных из SAP server.
для входящей обработки событие, происходящее в SAP server, отправляется из SAP server в адаптер. Входящий интерфейс ALE и исходящий интерфейс BAPI запускают обработчики событий, обнаруживающие события. Затем расширенный интерфейс обработки событий опрашивает SAP server на наличие событий. Затем адаптер доставляет событие конечной точке, являющейся приложением или другим получателем события из SAP server.
Для настройки адаптера для выполнения входящей и исходящей обработки используется J2C Bean wizard для создания развертываемого модуля, содержащего интерфейс к приложению SAP и бизнес-объекты, основанные на функциях и таблицах, найденных в SAP server.
Обзор интерфейсов исходящей обработки
WebSphere Adapter for SAP Software предоставляет для SAP server несколько интерфейсов для исходящей обработки.
- Через свои интерфейсы BAPI адаптер запускает вызовы удаленных функций (RFC) для функций с поддержкой RFC, например, интерфейс программирования бизнес-приложений (BAPI). Эти удаленный вызовы функций создают, обновляют или извлекают данные в SAP server.
- Интерфейс BAPI работает с отдельными BAPI (простыми
BAPI).
Например, может потребоваться проверить, существует ли информация об определенном клиенте в базе данных SAP.
- Интерфейс единичного задания BAPI работает с упорядоченными наборами BAPI.
Например, можно создать запись сотрудника. Для этого используется три BAPI для блокировки записи (для предотвращения других изменений записи), обновления записи и утверждения записи.
- Интерфейс набора результатов BAPI использует два BAPI для выбора нескольких строк данных из базы данных SAP.
Вызовы BAPI удобно использовать при необходимости выполнения извлечения или операций с данными, если функции BAPI или RFC, выполняющие задачу, уже существуют.
Простые BAPI можно вызывать с помощью протокола Синхронный RFC,
Асинхронный RFC с поддержкой транзакций или Асинхронный RFC с поддержкой
очереди.
- Query interface for SAP Software извлекает данные из определенных
таблиц приложений SAP. Он может вернуть данные или проверить существование данных. Этот тип взаимодействия с SAP можно использовать при необходимости извлечь данные из таблицы SAP без использования функции RFC или BAPI.
- С помощью интерфейса включения ссылок приложений (ALE) можно обмениваться данными с помощью структур промежуточных данных SAP (IDocs). Для входящей обработки следует отправить IDoc или пакет с IDocs в SAP server.
Интерфейс ALE, особенно удобный для пакетной обработки IDocs, предоставляет асинхронный обмен. Протокол Обработки транзакций с постановкой в очередь (qRFC) можно использовать для отправки IDocs в очередь в SAP server.
Протокол qRFC обеспечивает порядок приема IDoc.
Зачастую он используется для репликации систем или перемещения между системами.
- При использовании интерфейса IDoc с удаленным подключением ALE адаптер отправляет IDoc в SAP server без преобразования
IDoc. Бизнес-объект содержит потоковые данные, представляющие IDoc.
- С помощью расширенного интерфейса обработки событий можно отправлять данные в SAP server.
Данные затем обрабатываются обработчиком ABAP в SAP server.
Обзор интерфейсов входящей обработки
WebSphere Adapter for SAP Software предоставляет следующие интерфейсы для
SAP server для входящей обработки.
- Через свой интерфейс входа BAPI адаптер получает события и принимает уведомления о вызовах функций с поддержкой RFC из SAP server.
- При использовании Синхронного RFC, и адаптер, и SAP server должны быть доступны при отправке вызова из SAP server в адаптер. Адаптер отправляет запросы в заданное приложение и возвращает ответ в SAP server.
Прим.: В версии 6.1.0 продукта WebSphere Adapter for SAP Software синхронная обработка входящих событий функций с поддержкой RFC называлась Интерфейсом синхронного обратного вызова.
- При использовании Асинхронного RFC обработки транзакций событие будет доставлено в адаптер даже в том случае, если адаптер не доступен в момент вызова. SAP server сохраняет событие в списке функций для вызова и продолжает попытки доставить его, пока адаптер не станет доступен.
Прим.: Асинхронный
RFC обработки транзакций можно также использовать, если требуется доставить функции
из предопределенной очереди в компоненте SAP server.
Доставка файлов из очереди обеспечивает сохранение порядка, в котором отправляются функции.
При выборе доставки, обеспеченной один раз, адаптер использует источник данных для сохранения данных событий, полученных из SAP server.
Обеспечивается функция восстановления событий для отслеживания и восстановления событий в случае ошибки при попытке адаптера доставить событие в конечную точку.
- С помощью интерфейса входящей обработки ALE адаптер получает события и принимает один или несколько IDoc из SAP server.
Как и при исходящей обработке ALE, входящая обработка ALE обеспечивает асинхронный обмен.
С помощью интерфейса qRFC можно получать IDoc из очереди в SAP server, что позволяет гарантировать порядок приема IDoc.
При выборе доставки, обеспеченной один раз, адаптер использует источник данных для сохранения данных событий и обеспечивается функция восстановления событий для отслеживания и восстановления событий в случае ошибки при попытке адаптера доставить событие в конечную точку.
- При использовании интерфейса IDoc с удаленным подключением ALE SAP server отправляет IDoc через адаптер в конечную точку без преобразования IDoc. Бизнес-объект содержит потоковые данные, представляющие IDoc.
- Интерфейс расширенной обработки событий опрашивает SAP server на наличие событий. Он обнаруживает события, ожидающие обработки. Затем он обрабатывает события и отправляет их в конечную точку.
Как адаптер взаимодействует с SAP server
Адаптер использует API коннектора SAP Java (SAP JCo) для взаимодействия с приложениями SAP. Приложение отправляет запрос адаптеру, использующему SAP JCo
API для преобразования запроса в вызов функции BAPI. Система SAP обрабатывает запрос и отправляет результаты адаптеру. Адаптер отправляет результаты в сообщении ответа вызывающему приложению.
Как адаптер упаковывается
WebSphere Adapter for SAP Software упаковывается и доставляется в виде двух файлов RAR, а выбор файла для использования зависит от того, поддерживает ли вызванная функция SAP обработку транзакций.
- Если целевая функция (например BAPI) поддерживает транзакции, необходимо использовать адаптер
CWYAP_SAPAdapter_Tx.rar, поскольку он поддерживает локальную работу с транзакциями и поэтому может участвовать в транзакции, управляемой WebSphere Application Server Transaction
Manager.
- Если целевая функция (например BAPI) не поддерживает транзакции, необходимо использовать адаптер
CWYAP_SAPAdapter.rar, поскольку он сообщает WebSphere Application Server Transaction
Manager о том, что взаимодействие, выполняемое в системе SAP, не может быть использовано с соблюдением семантики транзакции.