OData from the ground up….
Welcome to a blog about OData, soon to be the lifeblood of SAP!
OData is fast becoming one of the key technologies here at SAP. It is cutting a swathe across all the key technologies and togther with SAP UI5 will accelerate application development for SAP and partners. It will transform KPI’s by decreasing a broad range of TCO’s and increasing reuse across mobile platforms and desktops through its use of open source frameworks and technologies.
This blog series will begin by examining some of the structure behind OData and then go through some to the questions I have often seen asked by people starting to develop with OData. If you are not familiar with OData now would be a good time to visit the OData website (http://odata.org) and view the specifications, libraries and sample services.
For an environment to experiment in with OData, I recommend you install a REST plugin into your browser or use a command line tool such as cURL (http://en.wikipedia.org/wiki/CURL) to examine the headers and cookies that are returned and uploaded to the server as there is sometimes interaction that is not immediately obvious just from the url.
What is OData? From the OData.org website:
“The Open Data Protocol (OData) is a Web protocol for querying and updating data that provides a way to unlock your data and free it from silos that exist in applications today”
This definition provides the foundation for OData, it is a scopes OData to a protocol to manipulate and retrieve data and expose in an open manner to callers to allow them to manipulate the data and thereby create new uses for the data throughout the enterprise and wider ecosphere.
OData can be thought of as SQL for the internet. Conceptually it may be thought of as applying SQL to a table but not a database. This means that operations such as joins, unions and composite views will not be supported as is changing the structure of the table. Saying that however searching, sorting, filtering, insertion, removal are all supported since these are related to a table.
SQL traditionally has supported a DDL or a Data Definition Language and a DML or Data Manipulation Langage. This is mapped to OData smantics via the Entity Data Model (EDM) for the DML and a Service Data Model that is based on REST type idioms for the DML. The next session will cover the different types of EDM’s and service models.
Hi Paul, I have basic doubts. Which is the relation between Odata and SUP (does Odata replace MBOs)? when you talk about Odata with HTML5 this means that is not necessary SUP+Native or SUP+Phonegap? Thanks for your answer. I´m functional but I like to be informed about the correct development (mobile) way. Thanks.
Regards,
Max.
Hi,
Did you catch Jagdish's presentation last night? This covered the roadmap for SMP,Syclo, Mobilizer, HTML5, OData and HWC - in other words more or less the mobility platform roadmap.
If you follow http://scn.sap.com/docs/DOC-33207 you should be notified when the transcript goes up in a couple of days, however I will try to answer some of the questions you asked.
OData is an HTTP based protocol and so it can be used from any OS or language that can access an HTTP transport. This means that you can access OData feeds from:
Javascript/Phonegap using DataJS (datajs.codeplex.com)
iOS/Android/Php/Java with our eclipse proxy generator (http://www.sdn.sap.com/irj/scn/downloads?rid=/webcontent/uuid/b09d414f-f227-2f10-bdbf-ba31c844b432)
.NET using the WFC data Services for OData (http://www.microsoft.com/en-us/download/details.aspx?id=29306)
Look on http://odata.org/libraries for a full list of libraries in various different operating systems and languages, not supplied by just SAP!
It is not neccessary to use the SUP Native framework to use OData, however you lose the benefits of native push, encryption large data volumes on the device and application management offered by the SUP Runtime.
MBO's will remain as they are today and will continue to work, however the platform is moving to a more OData route and emphasis will be on offering OData features rather than MBO features. The complex offline/intermittently connected solutions are better served by Syclo and this will be enhanced going forward.