The functionality of SAP Mobile Platform 2.x MBO applications differs greatly from SAP Mobile Platform 3.0 OData SDKs.
The OData SDK is primarily responsible for user on-boarding and processing OData requests. Many features that applications require, for example, reading and updating data from back-end systems, are features of the OData standard; SAP Mobile Platform 3.0 implements a version of this standard. OData does not define how integration is done, but defines contracts between clients and servers using Entity Data Models.
To compare features, we must compare the functional capability of MBOs with the functional capability of SAP Mobile Platform 3.0 and the OData standard itself.
MBO | OData | Description |
---|---|---|
Defines integration | N/A | Note: OData defines the contract.
Integration is performed with other tools, such as Netweaver Gateway or
Gateway for Java. |
Defines middleware caching | N/A | For performance reasons, SAP Mobile Platform 3.0 does not implement middleware caching. |
Defines synchronization with delta calculation using a cache | Uses the delta token approach for delta synchronizations. | Since SAP Mobile Platform 3.0 does not use a middleware cache, enterprise services must implement delta tracking. |
Defines data models | Defines entity data models (EDM) | |
Defines relationships | Defines associations | |
Defines client-side object relational models via code generation | N/A | Although there are many tools available to generate client-side object relational models for OData EDMs, no such tool is included with the SAP Mobile Platform 3.0 SDK. |
Defines a client-side relational database for offline lookup | OData cache requires in-memory lookup. | The SAP Mobile Platform 3.0 SDK does not include any
tools that provide a client-side relational database for offline lookup.
You can store results from OData queries in a cache, which must be loaded into memory to search. |
Offline Find By queries | N/A | No direct mapping exists. The document cache provided by the OData SDK does not allow you to query the data using SQL. OData usually represents aggregated data and cannot be treated as normalized data. |
Offline custom queries | N/A | |
Online Find By queries | HTTP GET, $filter | |
Multiple MBO sync with sync groups | HTTP GET, $filter, $expand | Not a direct mapping; $expand can only retrieve associated entities. |
Create | HTTP POST | |
Multilevel inserts | HTTP POST with $batch | |
Update | HTTP PUT, PATCH | |
Delete | HTTP DELETE | |
Static libraries for user onboarding | HTTP API for creating application connections | |
Push notifications via dynamic circuit networks and target-change notifications | N/A | Push notifications must be handled manually |
On device relational database | N/A | No direct mapping exists. The OData SDK provides a document cache, but you cannot use this to replace a normalized relational database. |