Інтеграція SAP з мобільним додатком: OData, BAPI, BTP

Помилка 403 при CSRF-токені або таймаут сесії при інтеграції SAP з мобільним додатком — типова проблема, з якою стикаються навіть досвідчені команди. Майже кожен другий проект приходить до нас після невдалої спроби «зробити самим». Інтеграція SAP з мобільним додатком вимагає розуміння SAP-ландшафту:

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція SAP з мобільним додатком: OData, BAPI, BTP
Складний
від 2 тижнів до 3 місяців

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1219
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Помилка 403 при CSRF-токені або таймаут сесії при інтеграції SAP з мобільним додатком — типова проблема, з якою стикаються навіть досвідчені команди. Майже кожен другий проект приходить до нас після невдалої спроби «зробити самим». Інтеграція SAP з мобільним додатком вимагає розуміння SAP-ландшафту: різні версії (ECC 6.0, S/4HANA on-premise або Cloud), протоколи (OData v2, v4, BAPI) та вимоги до безпеки (OAuth 2.0, SAML). За 5+ років роботи на ринку та понад 30 успішних проектів із інтеграції SAP з мобільним додатком, ми виробили підхід, який скорочує час розробки в 2-3 рази порівняно з саморобними рішеннями — це підтверджено нашими клієнтами. Ключовий урок: не починати писати код без аудиту API та вибору правильного middleware — помилка, яка коштує тижнів доопрацювань.

SAP Mobile Services — це не просто middleware, а повноцінна платформа, яка прискорює інтеграцію в 3 рази завдяки вбудованим механізмам кешування, автентифікації та offline-синхронізації. На відміну від саморобних рішень на Spring Boot, він позбавляє від ручної обробки CSRF-токенів, управління сесіями та вирішення конфліктів. Але важливо правильно його налаштувати: типова помилка — ігнорувати політики синхронізації, що призводить до втрати даних при обриві з'єднання. Для push-сповіщень використовуємо Firebase Cloud Messaging (FCM) на Android та Apple Push Notification Service (APNs) на iOS, інтегровані з SAP Mobile Services.

Три покоління SAP API: порівняння

Покоління Протокол Коли використовувати
BAPI / RFC ABAP, через JCo/NCo Legacy SAP ECC, якщо немає Gateway
SAP Gateway / OData v2 REST, Atom XML/JSON ECC 6.0, NetWeaver, S/4HANA on-premise
SAP BTP + CAP (OData v4) REST, JSON S/4HANA Cloud, нові проекти

Для інтеграції SAP з мобільним додатком важливо правильно вибрати покоління API — це визначає швидкість і вартість.

Як налагодити CSRF-handling у мобільному додатку?

Стандартна схема роботи з CSRF-токеном в SAP OData включає чотири кроки. Спочатку виконайте GET-запит до кінцевої точки сервісу з заголовком X-CSRF-Token: Fetch. SAP поверне токен у заголовку відповіді X-CSRF-Token. Для всіх модифікуючих запитів (POST, PUT, DELETE, PATCH) включіть отриманий токен у заголовок X-CSRF-Token. При отриманні 403 CSRF token validation failed повторіть кроки 1-3. Ми реалізуємо цей алгоритм у Interceptor на Retrofit або Alamofire, автоматично оновлюючи токен при помилці. Токен живе в рамках сесії, тому після повторної автентифікації потрібно отримати новий. Це позбавляє від 90% помилок авторизації.

Приклад використання SDK на Android:

val serviceManager = ServiceManager( applicationContext, SAPServiceManager.configUrl, object : ServiceManager.ServiceManagerListener { override fun onServiceManagerReady() { // Готов до роботи initializeODataService() } } ) 

Як реалізувати offline-синхронізацію з SAP?

Використання OData Offline Store з SAP BTP SDK скорочує витрати мобільного трафіку на 60-70% порівняно з постійним з'єднанням. Згідно з офіційною документацією SAP BTP SDK, при offline-синхронізації необхідно налаштувати політики конфліктів. Дані кешуються на пристрої в SQLite, а при підключенні до мережі виконується двостороння синхронізація. Конфлікти вирішуються через ETag — сервер перевіряє, чи не змінилися дані після останнього читання. Однак offline-режим збільшує складність інтеграції: потрібно правильно налаштувати політики синхронізації. Ми вибираємо стратегію «перший пишучий» або «версія сервера» залежно від бізнес-логіки. Це типова задача при інтеграції SAP з мобільним додатком, де критична надійність даних.

Порівняння методів автентифікації: SAML vs OAuth

Метод Протокол Коли використовувати
SAML 2.0 XML-based, через браузер SAP ECC на NetWeaver
OAuth 2.0 JWT, через Authorization Code S/4HANA Cloud, SAP BTP
Basic Auth HTTP Basic Тільки для тестів

Рекомендуємо додавати OAuth 2.0 проксі через SAP BTP або Keycloak: мобільний додаток використовує стандартний OAuth, а SAP отримує SAML-запити. Це знижує крихкість інтеграції.

Типові складнощі та їх вирішення
  • Продуктивність OData v2. $expand для навігаційних властивостей робить JOIN на стороні SAP ABAP — може виконуватися 5-15 секунд. Альтернатива: паралельні запити без expand або middleware-кеш.
  • Pagination в OData v2. $skip + $top повільний на великих обсягах — серверна пагінація через SAP skiptoken краща.
  • Різниця S/4HANA та ECC. API для одного об'єкта (наприклад, замовлення покупця) в S/4HANA OData (API_SALES_ORDER_SRV) та ECC Gateway (ZSHOP_SRV) різні. Абстрактний шар у middleware обов'язковий для підтримки обох варіантів.

Вибір API для інтеграції

Якщо у клієнта S/4HANA Cloud — однозначно OData v4 через CAP. Якщо ECC або S/4HANA on-premise — дивимося на наявність SAP Gateway. Gateway надає OData v2, але з quirks: Edm.DateTime замість ISO 8601, специфічна фільтрація, __deferred для навігаційних властивостей. Для ECC без Gateway залишається BAPI через middleware (SAP JCo або NCo). Абстрактний шар у middleware обов'язковий, якщо потрібна підтримка обох варіантів.

Що входить у роботу «під ключ»

  • Документація з API та архітектури інтеграції
  • Доступи до SAP BTP або middleware (при необхідності)
  • Навчання команди замовника експлуатації рішення
  • Гарантійна підтримка 3 місяці після деплою

Процес роботи

  1. Аудит SAP landscape та доступних API — 3-5 днів. Визначаємо версію SAP, перевіряємо доступність OData Gateway або BAPI, тестуємо продуктивність.
  2. Проектування архітектури інтеграції — 1-2 тижні. Вибираємо стек (BTP SDK, offline-стратегію, метод автентифікації).
  3. Реалізація прототипу — 1-2 тижні. Читання даних, налаштування автентифікації, базова синхронізація.
  4. Повноцінна інтеграція — 2-4 місяці. Додаємо offline-підтримку, CSRF-handling, вирішення конфліктів, push-сповіщення.
  5. Документація та навчання команди — 1-2 тижні. Передаємо документацію з API, конфігурації та експлуатації.
  6. Гарантійна підтримка — 3 місяці після деплою. Виправляємо помилки, допомагаємо з доопрацюваннями.

Вартість прототипу — від $5000, повноцінна інтеграція — від $25000. Ми гарантуємо зниження витрат на інтеграцію до 50% порівняно з саморобними рішеннями, що зазвичай економить $15000-30000 на проекті. Оцініть ваш проект безкоштовно — напишіть нам, і ми проведемо аудит SAP landscape. Замовте прототип за 2 тижні — ми покажемо працююче рішення на ваших даних. Зв'яжіться з нами для аудиту вашого SAP landscape та отримайте детальний план інтеграції.