IP Library Granted Patent US 9,158,522
Granted Patent B2
US 9,158,522 · App. 14/448,851 · Granted Oct 13, 2015

Behavioral extensibility for mobile applications

Inventors: Karoly Nyisztor (Dunakeszi, HU); Krisztian Balazs Szaniszlo (Budapest, HU); Zoltan Farkas (Hernadnemeti, HU); Zsolt Valyi Nagy (Budapest, HU)
Assignee: SAP SE
G06F8/60G06F8/65G06F8/71G06F9/44505H04L41/082H04L63/08H04L67/34H04W4/003G06F8/36
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,158,522
App. No.
14/448,851
Granted
Oct 13, 2015
Kind
B2
Abstract

In example embodiments, systems, methods, devices, and machine-readable media for creating and/or executing extensible mobile applications are provided. Extensibility of a mobile application deployed on a device is achieved with configuration files that can be provided to the device at a time after initial deployment of the application. Mobile application framework components combined with the code of the application enable extracting Java scripts from the configuration files, and executing the Java scripts to thereby alter the behavior of the application.

Claims (33)

1. A method of creating an extensible application, the method comprising:

on a computer, defining code and one or more configuration files for the extensible application, the code and the one or more configuration files collectively defining a behavior of the extensible application, the code including calls to one or more of a plurality of generic components of a mobile application framework;

using the computer, combining the code and the one or more configuration files with the plurality of generic components of the mobile application framework into a deployable unit, the generic components collectively being configured to, when executed by a processor, extract Java scripts from the one or more configuration files and cause their execution by a Javascript execution engine;

causing the deployable unit to be distributed from the computer to one or more devices;

altering the one or more configuration files, the altered one or more configuration files comprising at least one Java script configured to alter a behavior of the extensible application; and

causing the altered one or more configuration files to be distributed to the one or more devices separately from the deployable unit.

2. The method of claim 1 , wherein causing the deployable unit to be distributed to one or more devices comprises uploading the deployable unit to an app store for downloading therefrom to the one or more devices.

3. The method of claim 1 , wherein causing the altered one or more configuration files to be distributed comprises uploading the altered one or more configuration files to a server for distribution therefrom to the one or more mobile devices.

4. The method of claim 1 , wherein the combining into the deployable unit comprises compiling the code and the plurality of generic components, and wherein distribution of the altered one or more configuration files to the one or more devices causes the behavior of the application to be altered without recompilation.

5. The method of claim 1 , wherein altering the one or more configuration files comprises adding the at least one Java script to the one or more configuration files and including, for each of the at least one added Java script, an associated Javascript action into a layout XML file.

6. The method of claim 1 , wherein altering the one or more configuration files comprises configuring the at least one Java script to alter a property of a business object.

7. The method of claim 1 , wherein altering the one or more configuration files comprises configuring the at least one Java script to alter a property of a UI element.

8. A system for creating an extensible application, comprising:

a mobile application framework (MAF) server configured to

receive, from an application developer, code and one or more configuration files associated with a mobile application,

combine the code and the one or more configuration files with a plurality of MAF components stored on a machine-readable storage medium of the MAF server into a compiled deployable unit, and

distribute the compiled deployable unit to one or more mobile devices; and

a mobile platform server configured to receive one or more altered configuration files associated with the mobile application from the application developer and distribute the one or more altered configuration files to the one or more mobile devices,

wherein the MAF components are collectively configured to, when executed by a processor, extract Java scripts from the one or more configuration files and cause their execution by a Javascript execution engine, whereby a behavior of the mobile application on the one or more mobile devices is alterable by the application developer, without recompilation and redistribution of the code, by provision, to the one or more mobile devices via the mobile platform server, of an altered configuration file comprising a Java script.

9. A mobile device comprising: a processor; and a machine-readable storage medium storing instructions, executable by the processor, comprising:

code and one or more configuration files associated with and collectively defining a behavior of a mobile application, the code including calls to one or more of a plurality of components of a mobile application framework (MAF), and

the plurality of components of the MAF, comprising an extensibility core, a configuration management component, and a behavioral extensibility component,

the configuration management component being configured to extract Javascript actions from the one or more configuration files and pass the extracted Javascript actions to the extensibility core;

the extensibility core being configured to, in response to triggering of one of the extracted Javascript actions by a user, pass the triggered Javascript action to the behavioral extensibility component;

and the behavioral extensibility component being configured to retrieve, in response to receipt of one of the Javascript actions from the extensibility core, a Java script associated therewith from the configuration files and cause execution of the retrieved Java script by a Javascript execution engine, whereby a behavior of the mobile application on the one or more mobile devices is alterable by the application developer, without recompilation and redistribution of the code.

10. The device of claim 9 , wherein the one or more configuration files comprise at least one configuration file first stored on the mobile device at a time after initial storage thereon of the code and the components of the MAF.

11. The device of claim 9 , wherein the components of the MAF further comprise a business-object (BO) management component comprising one or more APIs for manipulating business objects, and wherein the extensibility core is configured to expose at least one API of the BO management component.

12. The device of claim 11 , wherein the extensibility core is configured to expose only one or more APIs of the BO management component that only provide read and write access to properties of existing business objects, but do not allow business objects to be created or deleted.

13. The device of claim 9 , wherein the components of the MAF further comprise a user-interface (UI) component comprising one or more APIs for manipulating user interface elements, and wherein the extensibility core is configured to expose at least one API of the UI component.

14. The device of claim 13 , wherein the extensibility core is configured to expose only one or more APIs of the UI component that only provide read and write access to properties of existing user-interface elements, but do not allow user-interface elements to be created or deleted.

15. The device of claim 9 , wherein the components of the MAF are configured to limit Java script execution to a single thread.

16. The device of claim 9 , wherein the behavioral extensibility component is configured to further validate the retrieved Java scripts.

17. The device of claim 9 , wherein the behavioral extensibility component comprises a Javascript façade communicatively coupling the extensibility core to the Javascript execution engine and configured to validate Java scripts received from the extensibility core.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2015
From: NYISZTOR, KÁROLY; SZANISZLO, KRISZTIAN BALAZS; FARKAS, ZOLTAN; NAGY, ZSOLT VALYI
To: SAP SE
Reel/Frame 036024/0438 →
Continuity (3)
Provisional Application 61860703 · Jul 31, 2013
Provisional Application 61860716 · Jul 31, 2013
Related Publication 20150067641A1 · Mar 5, 2015