OData is an open protocol developed jointly by SAP and Microsoft and is designed to provide a combination of readability and efficiency. OData is embedded into the SAP FIORI development platform so SAP have committed to the protocol but the SAP mobile platform provides an integration gateway for other protocols such as JDBC, SOAP, JPA and other REST.
The features of OData are as follows:
- It is user centric and designed for a user interacting with an application. Rather than web services which are best suited for a machine communicating with another machine.
- Easy to understand but still efficient for chatty type communication
- Restful API
- Can been seen as ODBC for the web
- Allows a data model to be defined
- Based on the GATEWAY??
- HTTP REST(CRUD) based protocol
POST Create C
GET Retrieve R
PUT Update U
DELETE Delete D
Example syntax of OData
Here is a quick idea of how your OData call could look
Get all business partners
GET url/GetBP
Get all sales orders for a business partner
GET url/GetBP(’001’)/Salesorders
Get items for a sales order
GET url/GetBP(’001’)/Salesorders(‘1234’)/items
Get specific item details
GET url/GetBP(’001’)/Salesorders(‘1234’)/items(‘001’)
SAP Mobile Platform 3.0
Built around the OData protocol the SAP mobile platform sits between your SAP and none-SAP system and your mobile/web user interface. It is a leading enterprise grade platform which means that all the things you require for enterprise applications is built in and controlled by the platform.
- Open and easy to use with support for hybrid and native apps for Android, IOS and Windows 8.
- Security and authentication built in
- Flexible and Scalable
- Enterprise grade platform
- Built in native capabilities such as location services, access the device camera.
- Access to native PUSH services
- Offline capabilities (improving in future releases of OData)
- App analytics
- Access to third-party apps
Why the platforms approach
- Lots of reusable capabilities
- Buy before build
- Allows you to concentrate on the unique functionality you are trying to develop for your organisation
- None-platform approach will quickly become un manageable with different applications using different technologies and interfaces
- Not as future proof