OData enabled mobile software applications

A system and a method for accessing data objects provided through an OData service involve receiving, at an application server, a data access request from a client computing device. The data access request specifies in a platform-independent manner an access operation to be performed on a first data object. The application server translates the data access request into an OData compliant request. The OData compliant request is then transmitted to the OData service to perform the access operation.

Inventors: Xue; Yunjiao (Waterloo, CA), Brandow; David (Guelph, CA), Gong; Yan (Waterloo, CA), Hoos; Jason (Schaumburg, IL)
Applicant:
SAP SE
Walldorf
N/A
DE

Assignee: SAP SE (Walldorf, DE)
Family ID: 1000003280723
Appl. No.: 14/478,614
Filed: September 5, 2014

Authors: Michael Pizzo, Ralf Handl, Martin Zurmuehl Title: OASIS OData Version 4.0 Part 1: Protocol–OASIS Standard Date: Feb. 24, 2014. cited by examiner .
SAP AG HTTP Request Response Mapping 2014 https://help.sap.com/saphelp_smp303sdk/helpdata/en/7c/12df7c700610149061e- 2769179245f/frameset.htm (Year: 2014). cited by examiner.

Primary Examiner: Taylor; Nicholas R
Assistant Examiner: Pena-Santana; Tania M
Attorney, Agent or Firm: Jones Day

Application Number: 15347984 Application Date: 10.11.2016
Publication Number: 20180128624 Publication Date: 10.05.2018
Applicants: SAP SE
Inventors:
Florian Strauf
Benjamin Fischer

A method for accessing data objects provided through an Open Data Protocol (OData) service, comprising: receiving, at an application server, a data access request from a client computing device, wherein the data access request is issued through a client application executing on a mobile computing platform of the client computing device, and wherein the data access request specifies in a platform-independent manner an access operation to be performed on a first data object by an OData service; at the application server, translating the data access request into an OData compliant request; and transmitting the OData compliant request to a third computing device to perform the access operation; wherein: the data access request identifies the first data object using a metadata model that is shared by both of the client computing device and the application server, the metadata model specifying properties of objects used by the client computing device and the application server; and the translating uses the metadata model to map portions of the data access request to each of: a base Uniform Resource Locator (URL), a Base XPath, an XPath, and an OData-specific Extensible Markup Language (XML) namespace.

OData

A system for accessing data objects provided through an Open Data Protocol (OData) service, comprising: an application server that receives a data access request from a client computing device, wherein the data access request is issued through a client application executing on a mobile computing platform of the client computing device, and wherein the data access request specifies in a platform-independent manner an access operation to be performed on a first data object; and an OData service that provides access to the first data object; wherein the application server is configured to: translate the data access request into an OData compliant request; and transmit the OData compliant request to the OData service, which performs the access operation; wherein: the data access request identifies the first data object using a metadata model that is shared by both of the client computing device and the application server share, the metadata model specifying properties of objects used by the client computing device and the application server; and the translating uses the metadata model to map portions of the data access request to each of: a base Uniform Resource Locator (URL), a Base XPath, an XPath, and an OData-specific Extensible Markup Language (XML) namespace.

OData is a Web-based data access protocol for requesting and updating data. OData applies and builds upon Web technologies such as Hypertext Transfer Protocol (HTTP), Atom Publishing Protocol (AtomPub), and JavaScript.RTM. Object Notation (JSON) to provide access to information from a variety of applications, services, and data stores. OData may be used to expose and access information from a variety of sources including, but not limited to, relational databases, file systems, content management systems and traditional Web sites.

Software applications can be written to support OData access. However, doing so often requires a native programming solution that is specific to a particular mobile platform such as Android or iOS. To implement OData functionality, platform specific code must be written for each platform on which an application is to be deployed. One alternative is to write the application as a Web application, using a common JavaScript library that provides cross-platform OData access. However, such Web applications may not perform as well as native software applications and can sometimes have compatibility problems. Therefore, a need exists for a way to enable applications to be created in a platform-independent manner while also providing OData functionality.

Example embodiments of the present invention relate to a system and methods for providing data access to OData services for mobile applications.

In an example embodiment, a mobile application is created in a software development environment that includes a software tool for creating and configuring the application for accessing an OData service. The application is created by defining interactions between user interface elements of the application and data objects. The definitions are platform-independent metadata, so that the data access requests issued by the application are also platform-independent. The application is deployed to an intermediary application server. The definitions are then loaded onto a client device so that requests for data exposed by the OData service can be sent from the client device.

In an example embodiment, an intermediary application server, which can be implemented as software executing on at least one computer, translates a data access request from a mobile application into an OData compliant request. Upon receiving the data access request, the intermediary application server determines that an access operation specified by the request involves a data object in an OData service. In response, the intermediary application server translates the request into an OData compliant request. The details of the translation process may vary depending on the type of access operation to be performed. For example, requests for creating or updating data may include a data body that is modified by the application server as part of the translation process. In contrast, read requests or delete requests may not include data bodies. OData is a Web-based data access protocol for requesting and updating data. OData applies and builds upon Web technologies such as Hypertext Transfer Protocol (HTTP), Atom Publishing Protocol (AtomPub), and JavaScript.RTM. Object Notation (JSON) to provide access to information from a variety of applications, services, and data stores. OData may be used to expose and access information from a variety of sources including, but not limited to, relational databases, file systems, content management systems and traditional Web sites.

Tags:,