Integrating SAP with Android: SAP Cloud Platform Mobile Services
SAP Cloud Platform Mobile Services (SCPms) / SAP Mobile Services (SMP 3 / HCPms) เป็นแพลตฟอร์มสำหรับสร้าง Enterprise Mobile Apps ที่เชื่อมต่อ SAP Backend ได้ปลอดภัย
คุณสมบัติหลัก
- Offline OData: ใช้งานข้อมูลออฟไลน์ ซิงค์เมื่อออนไลน์
- Security: OAuth2, SAML, Certificate, AppConfig, MDM Integration
- Push Notifications: APNs (iOS), FCM (Android)
- App Lifecycle Management: Deploy, Update, Monitor, Analytics
- Hybrid & Native Support: SAPUI5, Kapsel, Native (Swift/Kotlin), Cordova/Capacitor
Architecture Overview
[Android App] ←→ [SAP Cloud Platform Mobile Services] ←→ [SAP Backend (S/4HANA, ECC, BW, etc.)]
↑
[Mobile Services Cockpit: Admin, Config, Logs]
ขั้นตอนการรวม (High Level)
- Provision Service: สร้าง Mobile Service Instance บน SAP BTP Cockpit
- Configure Backend: เชื่อมต่อ SAP Cloud Connector (On-premise) หรือ Direct Cloud
- Define OData Services: Expose Business Data ผ่าน Gateway
- Generate SDK: ใช้
SAP Cloud Platform SDK for AndroidGenerate Proxy Classes จาก OData Metadata - Develop App: ใช้ Generated SDK เรียก OData, Handle Offline, Auth
- Deploy & Manage: Mobile Secure, App Update, Analytics
Android Development với SAP SDK
// build.gradle
dependencies {
implementation "com.sap.cloud.android:odata-online:3.0.+"
implementation "com.sap.cloud.android:odata-offline:3.0.+"
implementation "com.sap.cloud.android:foundation:3.0.+"
implementation "com.sap.cloud.android:fiori:3.0.+"
implementation "com.sap.cloud.android:onboarding:3.0.+"
}
Onboarding Flow (Fiori)
// SAP Fiori Onboarding - Handle Auth, EULA, Passcode, Biometric
OnboardingContext context = new OnboardingContext.Builder()
.setApplication(application)
.setPresentationDelegate(new OnboardingPresentationDelegate())
.build();
Flow flow = FlowFactory.createOnboardingFlow(context);
flow.start();
OData Online Request
// Generated Service Class
ESPMContainer container = new ESPMContainer("https://host:port/odata/service/", okHttpClient);
container.getProducts().execute(new EntitySetCallback<Product>() {
@Override
public void onSuccess(List<Product> products) {
// Update UI
}
@Override
public void onError(ODataError error) {
// Handle Error
}
});
Resources & Documentation
สรุป
SAP Cloud Platform Mobile Services ให้ Enterprise-grade Mobile Platform ที่จัดการ Security, Offline, Lifecycle ให้ครบครัน เหมาะสำหรับองค์กรที่มี SAP Backend อยู่แล้ว และต้องการ Mobile Apps ให้พนักงาน/ลูกค้า