OData Framework Overview

The OData SDK provides an open and flexible framework for native OData application development for both online and offline applications. OData SDK components, each of which can be used independently, are implemented as static runtime libraries.

Use the OData SDK, which consists of a collection of runtime libraries and classes, to build native mobile applications. The OData SDK supports Android and iOS platforms, and is based on the native device SDKs of the platforms. There is a separate implementation for each platform. Native applications that are installed on the devices allow the client application to leverage the support provided by the platform, including:
Main Components of the OData SDK

SAP_OData Components Diagram_0713_v2

Logon Manager

The Mobile Application Framework (MAF) Logon Manager component manages common logon-related tasks, such as registering and deleting users, updating configuration, locking and unlocking applications, changing application passcodes, and securely handling passwords. It is based on reusable controls, and includes a default skinnable UI. MAF Logon Manager supports user onboarding, and its components include MAFLogonUING and MAFLogonManagerNG.

Client Hub

The Client Hub, which is integrated with Logon Manager, simplifies user onboarding and configuration to enable easier and faster strategic enterprise-wide deployments. The Client Hub simplifies end-user password management for mobile applications, and improves the user experience. The Client Hub:

Core Services

The Core Services layer enables consumption of SAP Mobile Platform REST services with pure HTTP or HTTPs, (which is, by default, in on-premise connectivity). It provides simplified APIs for registration, exchanging settings between client and server, end-to-end tracing, and native push notifications. Functionalities supported by Core Services include:

Request

The Request library provides the interfaces for handling both online and offline OData requests, and processes data transfer from the server to devices, and devices to the server. It supports offline capabilities, where OData requests (POST, PUT, DELETE) are persisted if there is no network connectivity, and invoked when a network becomes available. You can use the online and offline capabilities for applications that have direct connectivity with Gateway, and for applications that register the users on SAP Mobile Platform Server. Functionalities supported by Request include:

Parser

The Parser library parses OData feeds, service document and metadata and converts them to native objects, saving application developer from having to work with low-level details of OData semantics. The Parser library helps the application developers to generate OData feeds from native objects. Functionalities supported by Parser include:
  • Parsing OData XML or JSON structures to native OData objects
  • Validating OData XML or JSON during parsing by checking the existence of mandatory fields and structures
  • Providing easy access to all OData fields and structures via the objects resulting from the parsing
  • Building OData XML or JSON structures from native OData objects
Note: SAP recommends that, for better performance, you use JSON parser as your parser component.

Cache Management and Persistence

The runtime cache stores and accesses OData-related objects in memory, and also stores data on device for easy access. The cache enables mobile applications to access the locally stored data even in offline mode. Functionalities supported by these components include:
  • Storing or accessing OData objects (both metadata and application data)
  • Searching for OData entries using their searchable fields
  • Support for encrypted persistence store

Logger

The Logger component implements logging and error handling to enable supportability from client to back-end. Functionalities supported by Logger include:
  • Common exception and error handling
  • Event logging

Connectivity

The connectivity layer handles all connectivity-related tasks, hides the complexity of the communication at the transport level, and provides easy-to-use APIs. Productive enterprise applications must use SAP Mobile Platform for connectivity. Functionalities supported by Connectivity include:
  • Synchronous and asynchronous HTTP request handling
  • Supported authentication methods include:
    • X509 certification
    • SSO token/cookie
    • Basic authentication (user/password)
  • Timeout handling
  • Compressed payload handling
  • Request types as supported by OData Protocol
  • Connection pools for optimal performance

DataVault

The DataVault component provides encrypted storage of certificates, database encryption keys, passwords, and other sensitive items. Functionalities supported by DataVault include:
  • Create a vault
  • Set a vault's properties
  • Store objects in a vault
  • Retrieve objects from a vault
  • Change the password used to access a vault
  • Control access to a vault that is shared by multiple iOS applications.