Меню

Вызов bgRFC как средство повышения эффективности RFC-вызовов – масштабируемая, оперативная инфраструктура взаимодействия приложений

|

В процессах, требующих интенсивного обмена большими объемами данных, чаще всего используются такие разновидности удаленного вызова функций (RFC), как асинхронный  вызов  ( aRFC), транзакционный вызов (tRFC) и вызов с формированием очереди (qRFC).  Однако метод aRFC не гарантирует получения требуемого результата, а методы tRFC и qRFC следуют гарантирующей "транзакционной" модели, согласно которой выполнение будет успешным или неуспешным сразу для целой группы RFC-вызовов. Это означает, что этим методам свойственна ограниченная масштабируемость.   Для устранения этого недостатка в  SAP NetWeaver 2004s SP14  был добавлен фоновый RFC (bgRFC), который позволяет оптимизировать время выполнения за счет эффективной и оперативной обработки множества последовательных вызовов функций с сохранением высокой масштабируемости.   В этой статье поясняются наиболее важные принципы bgRFC и рассматривается применение этого типа вызовов для создания высоко масштабируемых интеграционных решений.

Для обеспечения взаимодействия системы SAP с внешними системами и процессами большинство разработчиков ABAP в той или иной форме используют удаленные вызовы функций (Remote Function Call, RFC). В ситуациях, требующих обработки большого объема данных, чаще всего применяются такие разновидности удаленного вызова функций, как асинхронный вызов (aRFC) для параллельного вызова функции, транзакционный вызов (tRFC) для однократного вызова групповых функций и вызов с формированием очереди (qRFC) для однократного вызова функций в установленном порядке1. Однако методы aRFCs, qRFCs и tRFCs имеют свои ограничения. Метод aRFCs не гарантирует получения требуемого результата, а методы qRFCs и tRFCs следуют гарантирующей “транзакционной” модели, согласно которой выполнение будет успешным или неуспешным сразу для целой группы RFCвызовов. Это означает, что этим методам свойственна ограниченная масштабируемость. Для устранения этого недостатка в SAP NetWeaver 2004s SP14 был добавлен новый фоновый тип RFC (bgRFC), который позволяет оптимизировать время выполнения за счет эффективной и оперативной обработки множества последовательных вызовов функций с сохранением высокой масштабируемости.

1 Для получения дополнительной информации о доступных типах RFC см. статьи SAP Professional Journal “Управление пятью видами удаленных вызовов функций (RFC) в ABAP: Часть 1 – Всестороннее руководство для программистов и администраторов SAP” (сентябрь/октябрь 2006 г.) и “Исследование технических процедур и параметров настройки для создания и обеспечения доступности RFM в ABAP: Часть 2 – Всестороннее руководство для программистов и администраторов SAP” (ноябрь/декабрь 2006 г.).

Эта статья представляет собой введение в bgRFC для разработчиков ABAP Objects и содержит базовые примеры сценариев интеграции SAP NetWeaver на основе ABAP Objects. В первом разделе представлено краткое введение в обеспечение надежного обмена сообщениями и описание терминологии bgRFC, включая блоки, адреса, сценарии (исходящие, входящие и исходяще-входящие) и уровни обслуживания (Quality of Service, QoS). Далее описывается программирование с использованием bgRFC, включая создание входящих, исходящих и исходящевходящих блоков, порядок блокирования и разблокирования исходящих блоков, способ обработки зависимостей между задачами обновления и bgRFC, а также процедура выполнения блоков bgRFC. В заключении поясняются способы контроля вызовов bgRFC и настройки планировщика bgRFC.

Для изучения этой статьи и использования bgRFC не обязательно владеть методами qRFC, tRFC и aRFC, но подобный опыт упрощает знакомство с преимуществами bgRFC. Для понимания употребляемой терминологии также необходимо иметь представление о распределенных вычислениях.

Оформите подписку sappro и получите полный доступ к материалам SAPPRO

У вас уже есть подписка?

Войти

Обсуждения Количество комментариев1

Комментарий от  

Ирина Пащенко

  |  26 июля 2010, 11:54

Интересная фундаментальная статья по архитектуре bgRFC. Она позволит начать разработку первых программ bgRFC и добиться правильного функционирования планировщиков bgRFC в системах SAP NetWeaver 2004s.
Достаточно аргументов в пользу применения bgRFC во всех новых реализациях