US20130159484A1 - Publishing mobile applications - Google Patents
Publishing mobile applications Download PDFInfo
- Publication number
- US20130159484A1 US20130159484A1 US13/327,336 US201113327336A US2013159484A1 US 20130159484 A1 US20130159484 A1 US 20130159484A1 US 201113327336 A US201113327336 A US 201113327336A US 2013159484 A1 US2013159484 A1 US 2013159484A1
- Authority
- US
- United States
- Prior art keywords
- application
- templates
- mobile
- erp
- mobile devices
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Definitions
- the present disclosure relates to publishing mobile applications.
- Application software also known as “application” or “app,” is designed to help software users to perform a variety of tasks.
- Example application software may include enterprise software, accounting software, office suites, graphics-related software, and media players. Some applications may be developed to create, edit, or manage documents. In some cases, application software may be bundled with a computer and its system software. In some other cases, application software may be published separately. Application software may be designed for a particular computing platform or system software for a particular purpose. Some applications (e.g., Microsoft Office®) are available with versions for several different operating system platforms. Some other applications may have narrower requirements and are thus called, for example, a Geography application for Windows or an Android application for education or Linux gaming. Application software developed for mobile devices may sometimes be called mobile applications.
- Example mobile devices may include personal digital assistants, enterprise digital assistants, or mobile phones.
- Mobile applications may be pre-installed on mobile devices during manufacture, or downloaded by mobile device users from various mobile software distribution platforms.
- Example mobile software distribution platforms may include AndroidTM, iOS, BlackBerry®, HP webOS, Symbian OS, and WINDOWS MOBILE®.
- An application is instantiated for one or more mobile devices.
- One or more templates are associated with the instantiated application, each of the one or more templates configurable to provide a functionality to the application.
- Data is mapped from a backend system to each of the associated one or more templates, and the application is published to the one or more mobile devices.
- FIG. 1 is a schematic representation of an example system environment for publishing mobile applications.
- FIG. 2 is a block diagram showing an example process for publishing an mobile application based on a mobile business application publishing platform.
- FIG. 3 is a block diagram showing an example process for using template for publishing mobile applications on a mobile device.
- FIG. 4 is a flowchart showing an example process for setting up a notification/alert template.
- FIG. 5 is a flowchart showing an example process for publishing mobile applications.
- ERP enterprise resource planning
- MBAPP mobile business application publishing platform
- the MBAPP may act as an interface between the ERP vendors, ERP customers and end-users of the mobile applications.
- the MBAPP can be a hosted solution provided by the ERP vendors to which the ERP customers can subscribe, in order to create mobile applications for their end-users/customers.
- the MBAPP can be a part of the ERP instance provided by the ERP vendors which the ERP customers can use in order to create and publish mobile applications for their end-users and/or customers.
- an ERP customer may first choose an existing template based on its specific implementation.
- the template may be, e.g., in a format of Extensible Markup Language (XML), including static data content that the mobile application can understand.
- XML Extensible Markup Language
- the ERP customer can create and support a mobile application by populating the template with corresponding dynamic data content from the ERP backend based on mapping of one or more web services.
- the created mobile application may then be published by the ERP customer to their end-users.
- the MBAPP provides an environment for easily creating and publishing mobile applications, where the consumption of the mobile applications by the end-users is standardized.
- the ERP vendor can create a unified mobile application that any of its customer's end-users can download and subscribe.
- the ERP vendor creates a unified application that those respective end-users can download
- the ERP customer is no longer forced to create separate mobile applications for its end-users, and can instead use the platform of MBAPP provided by the ERP vendor to map data from the ERP instance to the unified mobile application based on templates.
- the end-user can subscribe to the appropriate applications published by the ERP customers by connecting via the MBAPP server.
- the ERP customer can create and publish mobile applications based on mapping data resources from ERP backend to one or more standard templates that can be consumed by a variety of mobile operating systems (e.g., iOS, AndroidTM, or Symbian).
- mobile operating systems e.g., iOS, AndroidTM, or Symbian.
- FIG. 1 is a schematic representation of an example system environment 100 for publishing mobile applications.
- the example system environment 100 includes, or is communicably coupled with, an ERP server 110 (or ERP system), an MBAPP server 140 , an administrator 150 , and a mobile device 170 , at least some of which communicate across a network 190 .
- the ERP server 110 can include hardware and/or software components including a processor 115 a, one or more web services 120 , an open data protocol (OData) service 125 , a database 130 a and an interface 135 a.
- the ERP server 110 may be a system that can perform functions including integrating internal and external management information across an organization, providing finance/accounting, manufacturing, sales and service, and customer relationship management functionality, among others.
- ERP systems can automate their activity with an integrated software application.
- the ERP system software application may be used to facilitate the flow of information between business functions inside the boundaries of the organization and manage the connections to outside systems.
- the ERP server 110 can run on a variety of hardware and network configurations.
- the ERP server 110 may employ a database 130 a as a repository for information.
- a server e.g., ERP server 110
- the server 110 illustrated in FIG. 1 may be responsible for receiving requests from one or more templates and/or applications associated with one or more external customers, vendors, or administrators communicably coupled to or operating in the example environment 100 .
- the server 110 may also be responsible for responding to the received requests by processing said requests in the associated hosted applications (not shown) or web services 120 , and sending the appropriate response back to the requesting entity.
- requests may also be sent from internal users, or third-party customers, other automated applications, as well as any other appropriate entities, individuals, systems, or computers.
- FIG. 1 illustrates a single ERP server 110
- an ERP system can be implemented using two or more servers, as well as computers other than servers, including a server pool.
- server 110 may be any computer or processing device such as, for example, a blade server, general-purpose personal computer (PC), Macintosh®, workstation, UNIX-based workstation, or any other suitable device.
- PC general-purpose personal computer
- Macintosh® workstation
- UNIX-based workstation or any other suitable device.
- the present disclosure contemplates computers other than general purpose computers, as well as computers without conventional operating systems.
- the server 110 may be adapted to execute any operating system, including Linux, UNIX, Windows, Mac OS®, or another suitable operating system.
- the processor 115 shown in the example environment 100 can execute one or more hosted applications or client applications to provide web services 120 and OData services 125 .
- an ERP application (not shown) may be either a hosted application or a client application.
- the ERP application can perform at least one ERP related function.
- Example ERP related functions may include finance/accounting, manufacturing, sales and service, customer relationship management.
- the processor 115 may perform the ERP related functions based on executing a web service 120 , in order to facilitate the flow of information between business functions inside the boundaries of an organization, and manage the connections to outside parties.
- processors 115 may be a central processing unit (CPU), a blade, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or another suitable component.
- CPU central processing unit
- ASIC application specific integrated circuit
- FPGA field-programmable gate array
- the processor 115 executes instructions and manipulates data to perform the operations of the ERP server and, specifically, the one or more business applications 120 .
- the processor 115 also executes the functionality required to receive and respond to requests from business customers, and/or their respective client applications, as well as the functionality required to perform the other operations of business system 110 .
- “software” may include computer-readable instructions, firmware, wired or programmed hardware, or any combination thereof on a tangible and non-transitory medium operable when executed to perform at least the processes and operations described herein. Indeed, each software component may be fully or partially written or described in any appropriate computer language including C, C++, JavaTM, Visual Basic, assembler, Perl®, any suitable version of 4GL, as well as others. It will be understood that while portions of the software illustrated in FIG. 1 are shown as individual modules that implement the various features and functionality through various objects, methods, or other processes, the software may instead include a number of sub-modules, third-party services, components, libraries, and such, as appropriate.
- Processors 115 suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer.
- a processor 115 will receive instructions and data from a read only memory or a random access memory or both.
- the essential elements of a computer are a processor 115 for performing actions in accordance with instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive, data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
- mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks.
- a computer need not have such devices.
- Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example, semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; CD-ROM and DVD-ROM disks.
- semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
- magnetic disks e.g., internal hard disks or removable disks
- magneto optical disks CD-ROM and DVD-ROM disks.
- the processor 115 and the database (or memory) 130 a can be supplemented by, or incorporated in, special purpose logic circuitry.
- the ERP server 110 may store at least one more web service 120 , where at least a portion of the web service 120 is executed via requests sent by and responses sent to an administrator 150 through the MBAPP server 140 , or mobile devices 170 within and communicably coupled to the illustrated environment 100 of FIG. 1 .
- the web service 120 can be a hosted application on the ERP server 110 .
- the ERP server 110 may store a plurality of different web services 120 (or instances thereof) or the ERP application, while in other instances, the ERP server 110 may be a dedicated server meant to store and execute only a single web service 120 or ERP application.
- the server 120 may comprise a web server, where the web services 120 and/or ERP application represent one or more web-based applications accessed and executed via network 190 by the mobile device(s) 170 of the system 110 to perform the programmed tasks or operations of the web service 120 .
- One or more web services 120 can be stored in database 130 a and executed by processor 115 a.
- the web service 120 may be any application, program, module, process, or other software that may execute, change, delete, generate, transmit, or otherwise manage information according to the present disclosure, particularly in response to and in connection with one or more requests received from the illustrated MBAPP server 140 and its associated templates 145 and/or applications 155 , 160 c.
- only one web service 120 may be located at a particular server 110 .
- a plurality of related and/or unrelated web services 120 may be stored at a single server 110 , or located across a plurality of other servers (not shown), as well.
- environment 100 may implement a composite web service 120 or a composite ERP application.
- portions of the composite ERP application may be implemented as Enterprise Java Beans® (EJBs) or design-time components may have the ability to generate run-time implementations into different platforms, such as J2EE® (Java 2 Platform, Enterprise Edition), ABAP (Advanced Business Application Programming) objects, or Microsoft's® .NET, among others.
- the ERP application and the associated web service(s) 120 may represent web-based applications accessed and executed by mobile devices 170 , MBAPP server 140 , templates 145 or applications 155 , 160 c via the network 190 (e.g., through the Internet).
- one or more processes associated with a particular ERP application and/or web service 120 may be stored, referenced, or executed remotely.
- a portion of a particular ERP application and/or web service 120 may be a web service associated with the template 145 that is remotely called, while another portion of the ERP application and/or web service 120 may be an interface object or agent bundled for processing at a remote mobile device 170 or the MBAPP server 140 .
- the ERP server 110 may host one or more OData services 125 .
- Odata is a Web protocol for querying and updating data that can provide a way to unlock data and free the data from silos that exist in applications. These results can be achieved by Odata services based on applying and building upon Web technologies such as Hypertext Transfer Protocol (HTTP), Atom Publishing Protocol (AtomPub), and JavaScript® Object Notation (JSON) to provide access to information from a variety of applications, services, and stores.
- OData service 125 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.
- the server 110 further includes a database 130 a.
- database 130 may include any memory or database module and may take the form of volatile or non-volatile memory including, without limitation, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), removable media, or any other suitable local or remote memory component.
- Database 130 may store various objects or data, including classes, frameworks, applications, backup data, business objects, jobs, web pages, web page templates, database tables, repositories storing business and/or dynamic information, and any other appropriate information including any parameters, variables, algorithms, instructions, rules, constraints, or references thereto associated with the purposes of the server 110 and the one or more services 120 , 125 it provides.
- database 130 may include any other appropriate data, such as VPN applications, firmware logs and policies, firewall policies, a security or access log, print or other reporting files, as well as others.
- the server 110 also includes an interface 135 a.
- the interface 135 is used for communicating with other systems in the illustrated example environment 100 through the network 190 .
- the interface 135 includes logic encoded in software and/or hardware in a suitable combination and operable to communicate with the network 190 . More specifically, the interface 135 may comprise software supporting one or more communication protocols associated with communications such that the network 190 or interface's hardware is operable to communicate physical signals within and outside of the illustrated environment 100 .
- the interface's hardware may include wireless transceivers and antennas (not shown). The wireless transceivers can include both the transmitter circuitry and the receiver circuitry.
- the wireless transceivers may be responsible for up-converting a baseband signal to a passband signal or vice versa.
- the components of wireless transceivers may include a digital-to-analog converter/analog-to-digital converter, amplifier, frequency filter, and oscillator.
- the antenna is a transducer which can transmit and/or receive electromagnetic waves. The antenna can convert electromagnetic radiation into electric current, or vice versa.
- the antenna is generally responsible for the transmission and reception of radio waves, and can serve as the interface between the transceiver and the wireless channel.
- ERP server 110 may include other components that are suitable for any implementation without departing from the scope of the disclosure.
- ERP system may include other components that are suitable for any implementation without departing from the scope of the disclosure.
- the ERP server 110 is communicably coupled to an MBAPP server 140 , a mobile device 170 and/or other entities through a network 190 .
- the network 190 facilitates wireless or wireline communications between the devices operated in the environment 100 , as well as with any other local or remote devices communicably coupled to the network 190 but not illustrated in FIG. 1 .
- the network 190 is illustrated as a single network in FIG. 1 , but may be a continuous or discontinuous network without departing from the scope of this disclosure, so long as at least a portion of the network may facilitate communications between senders and recipients.
- the network 190 may be all or a portion of an enterprise or secured network, while in another instance, at least a portion of the network 190 may represent a connection to the Internet. In some instances, a portion of the network 190 may be a virtual private network (VPN), such as, for example, the connection between the ERP server 110 and the MBAPP server 140 . Further, all or a portion of the network 190 can comprise either a wireline or wireless link. Example wireless links may include 802.11 a/b/g/n, 802.20, WiMAX®, Bluetooth® and/or any other appropriate wireless link. In other words, the network 190 encompasses any internal or external network, networks, sub-network, or combination thereof operable to facilitate communications between various computing components inside and outside the illustrated environment.
- VPN virtual private network
- the network 190 may communicate, for example, Internet Protocol (IP) packets, Frame Relay frames, Asynchronous Transfer Mode (ATM) cells, voice, video, data, and other suitable information between network addresses.
- IP Internet Protocol
- ATM Asynchronous Transfer Mode
- the network 190 may also include one or more local area networks (LANs), radio access networks (RANs), metropolitan area networks (MANs), wide area networks (WANs), all or a portion of the Internet, and/or any other communication system or systems at one or more locations.
- LANs local area networks
- RANs radio access networks
- MANs metropolitan area networks
- WANs wide area networks
- the MBAPP server 140 includes a processor 115 b, a database 130 b, an interface 135 b, one or more templates 145 , a mobile application creation application 155 , and one or more mobile application interpreters 160 b.
- the software and hardware components e.g., the processor 115 b, database 130 b and interface 135 b
- the software and hardware components included in the MBAPP server 140 may have functionalities that are similar or different in nature to that of their respective counterparts included in the ERP server 110 .
- the MBAPP server 140 may be a hosted site provided by the ERP vendor that can allow ERP customers, vendors or administrators 150 to create mobile applications and publish them to their end-user and/or customers (e.g., the mobile device 170 ).
- the MBAPP server 140 may be placed so that ERP customers (or administrators 150 ) can create a custom mobile application using mobile application creation application 155 .
- Example operations for creating a custom mobile application may include one or more of the following: 1) select a template 145 (e.g., RSS feed template, query result template, etc.) for inclusion in the custom mobile application; 2) map data stored in the database 130 a of the ERP server 110 , based on the web service 120 and/or OData service 125 , to the template 145 ; and 3) publish the template 145 as a mobile application to mobile application interpreter 160 b.
- a template 145 e.g., RSS feed template, query result template, etc.
- the MBAPP server 140 can act as an interface between the mobile application end-user (e.g., the mobile device 170 ) and the administrator 150 or equivalently, the ERP software customer.
- the end-users can download the mobile applications to the mobile device 170 (e.g., iPhone or AndroidTM phone) and store it locally as mobile applications 160 c in the database 130 c.
- the end-user can further use the mobile device 170 to access to ERP data stored in the ERP server 110 that is published by the administrator 150 as mobile applications 160 c.
- the administrator 150 may be a person or an electronic device that facilitates or manage the mobile application publication process.
- the administrator 150 may be an administrator of an ERP customer, an ERP vendor or a third-party software developer that can use the mobile application creation application 155 to publish mobile application based on templates 145 .
- the administrator 150 can select a set of templates that decides on the behavior of a mobile application 160 c when creating the mobile application 160 c.
- the administrator 150 may also be responsible for mapping the template 145 to data sets stored in the database 130 a of the ERP system 110 , such that the corresponding data sets may be used to populate the template in order to publish the mobile applications 160 c.
- the MBAPP server 140 includes one or more templates 145 .
- a template 145 may be provided in an Extensible Markup Language (XML) format that the mobile application interpreter 160 b can understand and use to populate the application specific user interface with data content from the ERP system 110 .
- the one or more templates may be used by an administrator 150 to publish information onto mobile applications 160 c.
- Example templates may include a HyperText Markup Language (HTML) page with mapped fields from ERP web service 120 and/or ERP application, a notification/alerts page that can be populated by a web service based on events that arise in the ERP system 110 , and a Query Result Page that can allow defining of different queries which executes mapped web service queries in the ERP system 110 based on input from the mobile device 170 .
- HTML HyperText Markup Language
- the example templates described above may include static content of one or more software applications.
- an application may be created by the administrator 150 based on static content included in a HTML template 145 , with some portions of dynamic content included from the ERP system based on mapping the web service 120 or the OData service 125 to the services provided by the template 145 .
- ABC Inc. is a company that provides the most updated sales figures of its newly launched product “NewVenn.”
- NewVenn is a product that can be enhanced by ABC's partner network via accessories almost every other day. ABC would like to motivate its existing customers to purchase “NewVenn” and talk about its features and accessories when they are added by ABC's suppliers/partners. Administrators at ABC can choose the appropriate template, map the fields and create a mobile application and publish it in the MBAPP server.
- the product information page can be built out of an HTML page template to publish static information about “NewVenn,” and later map dynamic content from the ERP database for sales figures and feature additions.
- End-users of ABC can download the standard mobile application published by ERP vendor from the appropriate app marketplace based on the mobile phone OS, and later register that application to the MBAPP server as a customer of ABC.
- the service will contact the MBAPP server when they launch the mobile application.
- the MBAPP server can later on pick data from ABC's ERP and push content onto the mobile application.
- the end-users can directly place orders for “NewVenn” or its accessories from the mobile applications.
- the notifications or alerts template may be associated with some events that occurred in the ERP system, or some components in the production side of a company that is significantly being used in large numbers. Notifications or alert templates may be identified at the ERP system and published or sent to the mobile device 170 when these events occurred. In such cases, the ERP data are pushed to the mobile device 170 from the ERP data backend (e.g., the ERP server 110 ).
- the ERP data backend e.g., the ERP server 110
- DEF Inc. provides updates to its suppliers when certain product sales peak, as well as when supplies are required above normal level.
- DEF's products may be bicycles that require sprockets supplied by MMQ company (MMQ).
- MMQ supplies 1000 sprockets on average to DEF on the 15 th of every month.
- ABC's bicycle sales peak and manufacturing are running above 100%, MMQ may need to be alerted of a possible increase in requirements.
- Administrators at DEF can choose the Notifications/Alert template, map the fields and create a mobile application, and publish that mobile application in the MBAPP server.
- the Notification/Alert tab in the mobile application gets populated with data from ERP as soon as sprockets are depleting above a certain level from the inventory.
- Suppliers of DEF such as MMQ, can download the standard mobile application published by the ERP vendor from the appropriate app marketplace based on the mobile phone OS, and later register to MBAPP server as a customer of DEF. Based on events in DEF's ERP server, if there are above average depleting stocks, then the end-user's mobile application is alerted of this information.
- a Query Result Page template may be used when a query is sent from the mobile device 170 for information/results from the ERP system 110 .
- data is pulled by the mobile device 170 from the ERP data backend.
- An example scenario of using a template that includes a Query Result Page can be described as follows: DEF can provide an instant query response service via a mobile application to its suppliers, whereby suppliers can check the change in inventory levels of the components it supplies to DEF.
- the mobile application can have a query that allows MMQ to choose a component that it supplies, check its current inventory level and compare it to the inventory levels during the same period of the previous years and months.
- the mobile device 170 includes a processor 115 c, a database 130 c, an interface 135 c, one or more mobile applications 160 c, a display 175 , and a graphical user interface (GUI) 180 that can be presented on the display.
- the software and hardware components e.g., the processor 115 c, database 130 c, and interface 135 c
- the mobile device 170 may have functionalities that are similar or different in nature to that of their respective counterpart included in the ERP server 110 and/or the MBAPP server 140 .
- the mobile device 170 can include mobile phones, smartphones, and tablet computers, among others.
- the display 175 can be any output hardware for presenting information on the mobile device 170 to the end-user (not shown).
- the information may be presented on the display through a GUI 180 .
- the GUI 180 may be operable to interface with at least one mobile application 160 c for any suitable purposes.
- the end-user is provided with an efficient and user-friendly presentation of data provided by or communicated within the system.
- the GUI 180 can represent any graphical user interface, including but not limited to, a web browser, touch screen, or command line interface (CLI) that processes information in environment 100 and efficiently presents the information results to the user.
- CLI command line interface
- the GUI 180 may include a plurality of user interface elements, some or all associated with the mobile applications 160 c, such as interactive fields, pull-down lists, and buttons operable by the end-user. These and other user interface elements may be related to or represent the functions of the applications, as well as other software applications executing at the servers 110 , 140 .
- the mobile device 170 may access the MBAPP server 140 via the network 190 .
- the MBAPP server 140 may first authenticate the mobile device 170 against the associated ERP customer system user (e.g., the administrator 150 ).
- the MBAPP server 140 may request data from the ERP system 110 for the XML template published for the authenticated end-user.
- the MBAPP server 140 may also send the data received from the ERP system 110 to the mobile device 170 .
- the MBAPP server 140 may send the data to the mobile applications 160 c on the mobile device 170 based on the event triggered in the ERP system 110 backend.
- FIG. 1 is described as containing or being associated with a plurality of elements, not all elements illustrated within environment 100 of FIG. 1 may be utilized in each alternative implementation of the present disclosure. Additionally, one or more of the elements described herein may be located external to environment 100 , while in other instances, certain elements may be included within or as a portion of one or more of the other described elements, as well as other elements not described in the illustrated implementation. Further, certain elements illustrated in FIG. 1 may be combined with other components, as well as used for alternative or additional purposes, in addition to those purposes described herein.
- FIG. 2 is a block diagram showing an example process flow 200 for publishing a mobile application based on an MBAPP.
- the example process 200 is performed by an administrator 210 and an MBAPP server 240 , such as the administrator 150 and the MBAPP server 140 described with regard to FIG. 1 .
- the administrator 210 may be an ERP customer administrator or business process administrator.
- the administrator 210 registers the ERP system in the MBAPP server at 215 , such that the templates stored in the MBAPP server 240 may be associated with data sets stored in the ERP system.
- the association may be managed by web service and/or OData service, as well as a general ERP application. Accordingly, the MBAPP server 240 may know where to retrieve the dynamic content to populate the template in order to publish mobile applications.
- an ERP system registration is created at the MBAPP server 240 at 245 .
- the administrator 210 may start the application creation at 220 .
- the MBAPP server 240 can supply the standard template information to the administrator 210 .
- the MBAPP server 240 may have a set of standard templates that the administrator can use.
- the standard templates may be created and/or published by software partners (e.g., SAP) or their partners or trusted third-party software vendors.
- the administrator 210 may select the templates that may be used to publish and display information for the mobile application, based on the standard template information supplied by the MBAPP server 240 .
- the administrator 210 may choose one of the templates supplied by the MBAPP server 240 and map the dynamic content stored in the ERP system to the corresponding fields or events of the templates at 230 , based on the types of the templates.
- mobile applications/files are published with the selected template by the administrator 210 .
- the published mobile applications may be stored in the database of the MBAPP server 240 .
- the published application/file may include template information, static content, dynamic content, and the system connectivity information to fix the dynamic content.
- the MBAPP server 240 may have a logic by which information associated with the template is shown in a standard fashion when the applications are published by the mobile application interpreter (such as element 160 b in FIG. 1 ).
- the published application may be standard applications that can consume the templates.
- FIG. 3 is a block diagram showing an example process flow 300 for using a template for publishing mobile applications on a mobile device.
- the example process flow 300 may be performed in conjunction with the process flow 200 described with regard to FIG. 2 .
- the example process 300 is performed by an ERP system 310 , an MBAPP server 320 , and a mobile device 350 , such as the ERP system 110 , MBAP server 140 and mobile device 170 described with regard to FIG. 1 .
- the mobile device 350 may be used by a mobile user (or end-user).
- a mobile user may use the mobile device 350 to register against the ERP user.
- the mobile user may register as an ERP user of the ERP system.
- the registration request may be sent to the MBAPP server 320 .
- the MBAPP server 320 may create the mobile user registration at 325 .
- the mobile device 350 may download registered mobile applications published by an ERP customer (such as in 235 ) at 360 and start using the mobile application.
- information of the ERP user is mapped against the MBAPP user.
- the MBAPP user may be an ERP customer/vendor/administrator. By mapping the ERP user against the MBAPP user, the mobile user as an ERP user can have a user name and password in the MBAPP system 320 .
- the mobile user can use the user name and password to log in to the MBAPP system 320 .
- the user name and password will be further mapped onto the MBAPP user's ERP system.
- the web service may be executed at the ERP customer's system (i.e., the MBAPP server 320 ). Therefore, the mobile user is authenticated at 330 . This user will be that end-user in the ERP system.
- the application data for the mobile user is requested by the MBAPP server 320 .
- the mobile application is published with the selected template. Based on receiving the request for application data the data is obtained for the mobile device at 315 based on the mapping between services described in FIG. 2 .
- the fields of an XML template are filled based on the data obtained from the ERP system 310 .
- the data of the template (or templates) is displayed and/or published on the mobile device 350 in the format of a mobile application.
- the mobile application may be a unified web application that can consume various templates.
- the mobile user can download one unified application to the mobile device 350 , and use the application to perform various functionalities and/or receive services provided by the ERP customers/vendors.
- Different ERP customers/vendors may enforce different authentication information, and the functionalities the mobile user can perform or the services the mobile user can receive may depend on its authorization from the ERP customers/vendors.
- Using one unified application may also simplify software update of different applications from different ERP customers/vendors. Instead of updating a variety of applications, one update of the unified application may be performed.
- FIG. 4 is a flowchart showing an example process 400 for setting up a notification/alert template.
- setting up the notification/alert template may allow a notification/alert to be pushed to a mobile device when an event or change occurs in the ERP backend (e.g., ERP server).
- ERP backend e.g., ERP server
- a standard transaction is run at the ERP backend system.
- a document or business object is changed at the ERP backend, and a business object event is triggered at 430 .
- the document object change may be a change of the database table, which can be captured in the ERP system via change logs.
- the change of document object may further be linked to a business object repository object event.
- the object event may be triggered by a change of the document object or when the change has reached a certain level. Further, application-based grouping may be created for the change of document object.
- the triggered object events can populate the notification/alerts inbox based on subscription of mobile application users to application notification group.
- Specific business logic can exist in object events that can trigger data flow from the ERP system to notify/alert the mobile user.
- the data flow may be an RSS feed pushed into the mobile user's notification inbox.
- data from the ERP backend may be mapped from web service for mobile application consumption.
- a web service can publish information from the notification inbox for external access. The process of mapping data from the web service for mobile application consumption is described with regard to FIG. 2 .
- FIG. 5 is a flowchart showing an example process 500 for publishing mobile applications.
- a server e.g., an MBAPP server
- the application may provide services or perform functionalities that are requested by the one or more mobile devices.
- the server associates one or more templates with the instantiated application.
- the one or more templates may be used to facilitate the publication of the instantiated application.
- Each of the one or more templates is configurable to provide functionality to the application.
- the server maps data from a backend system to each of the associated one or more templates.
- the mapped data may be dynamic content used to populate the fields of the one or more templates.
- the backend system may be an ERP system.
- the server publishes the application to the one or more mobile devices.
- each refers to each of multiple items or operations in a group, and may include a subset of the items or operations in the group and/or all of the items or operations in the group.
- the term “based on” indicates that an item or operation is based at least in part on one or more other items or operations and may be based exclusively, partially, primarily, secondarily, directly, or indirectly on the one or more other items or operations.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Systems, methods and techniques relating to publishing mobile applications are described. A described technique includes instantiating an application for one or more mobile devices, associating one or more templates with the instantiated application, where each of the one or more templates configurable to provide a functionality to the application, mapping data from a backend system to each of the associated one or more templates, and publishing the application to the one or more mobile devices.
Description
- The present disclosure relates to publishing mobile applications.
- Application software, also known as “application” or “app,” is designed to help software users to perform a variety of tasks. Example application software may include enterprise software, accounting software, office suites, graphics-related software, and media players. Some applications may be developed to create, edit, or manage documents. In some cases, application software may be bundled with a computer and its system software. In some other cases, application software may be published separately. Application software may be designed for a particular computing platform or system software for a particular purpose. Some applications (e.g., Microsoft Office®) are available with versions for several different operating system platforms. Some other applications may have narrower requirements and are thus called, for example, a Geography application for Windows or an Android application for education or Linux gaming. Application software developed for mobile devices may sometimes be called mobile applications. Example mobile devices may include personal digital assistants, enterprise digital assistants, or mobile phones. Mobile applications may be pre-installed on mobile devices during manufacture, or downloaded by mobile device users from various mobile software distribution platforms. Example mobile software distribution platforms may include Android™, iOS, BlackBerry®, HP webOS, Symbian OS, and WINDOWS MOBILE®.
- This disclosure provides various implementations of systems, computer program products, and methods for publishing mobile applications. An application is instantiated for one or more mobile devices. One or more templates are associated with the instantiated application, each of the one or more templates configurable to provide a functionality to the application. Data is mapped from a backend system to each of the associated one or more templates, and the application is published to the one or more mobile devices.
- While generally described as computer program product that processes and transforms the respective data, some or all of the aspects may be computer-implemented methods or further included in respective systems or other devices for performing this described functionality. The details of these and other aspects and embodiments of the present disclosure are set forth in the accompanying drawings and the description below. Other features, objects, and advantages of the disclosure will be apparent from the description and drawings, and from the claims.
-
FIG. 1 is a schematic representation of an example system environment for publishing mobile applications. -
FIG. 2 is a block diagram showing an example process for publishing an mobile application based on a mobile business application publishing platform. -
FIG. 3 is a block diagram showing an example process for using template for publishing mobile applications on a mobile device. -
FIG. 4 is a flowchart showing an example process for setting up a notification/alert template. -
FIG. 5 is a flowchart showing an example process for publishing mobile applications. - Like reference symbols in the various drawings indicate like elements.
- This disclosure provides details and examples of publishing mobile applications. In some aspects, enterprise resource planning (ERP) vendors may allow creation of mobile applications and their publication using a mobile business application publishing platform (MBAPP). The MBAPP may act as an interface between the ERP vendors, ERP customers and end-users of the mobile applications. In some instances, the MBAPP can be a hosted solution provided by the ERP vendors to which the ERP customers can subscribe, in order to create mobile applications for their end-users/customers. In some instances, the MBAPP can be a part of the ERP instance provided by the ERP vendors which the ERP customers can use in order to create and publish mobile applications for their end-users and/or customers. To publish a mobile application, an ERP customer may first choose an existing template based on its specific implementation. The template may be, e.g., in a format of Extensible Markup Language (XML), including static data content that the mobile application can understand. The ERP customer can create and support a mobile application by populating the template with corresponding dynamic data content from the ERP backend based on mapping of one or more web services. The created mobile application may then be published by the ERP customer to their end-users.
- The MBAPP provides an environment for easily creating and publishing mobile applications, where the consumption of the mobile applications by the end-users is standardized. In some instances, the ERP vendor can create a unified mobile application that any of its customer's end-users can download and subscribe. Where the ERP vendor creates a unified application that those respective end-users can download, the ERP customer is no longer forced to create separate mobile applications for its end-users, and can instead use the platform of MBAPP provided by the ERP vendor to map data from the ERP instance to the unified mobile application based on templates. The end-user can subscribe to the appropriate applications published by the ERP customers by connecting via the MBAPP server. Instead of developing mobile applications that adapt to different mobile operating systems, each having different user interfaces and/or data rendering formats, the ERP customer can create and publish mobile applications based on mapping data resources from ERP backend to one or more standard templates that can be consumed by a variety of mobile operating systems (e.g., iOS, Android™, or Symbian).
-
FIG. 1 is a schematic representation of anexample system environment 100 for publishing mobile applications. At a high level, theexample system environment 100 includes, or is communicably coupled with, an ERP server 110 (or ERP system), an MBAPPserver 140, anadministrator 150, and amobile device 170, at least some of which communicate across anetwork 190. - In the
example environment 100 illustrated inFIG. 1 , theERP server 110 can include hardware and/or software components including aprocessor 115 a, one ormore web services 120, an open data protocol (OData)service 125, adatabase 130 a and aninterface 135 a. In general, theERP server 110 may be a system that can perform functions including integrating internal and external management information across an organization, providing finance/accounting, manufacturing, sales and service, and customer relationship management functionality, among others. In some cases, ERP systems can automate their activity with an integrated software application. The ERP system software application may be used to facilitate the flow of information between business functions inside the boundaries of the organization and manage the connections to outside systems. TheERP server 110 can run on a variety of hardware and network configurations. TheERP server 110 may employ adatabase 130 a as a repository for information. - At a high level, a server (e.g., ERP server 110) includes an electronic computing device operable to receive, transmit, process, store, or manage data and information associated with the
environment 100. Specifically, theserver 110 illustrated inFIG. 1 may be responsible for receiving requests from one or more templates and/or applications associated with one or more external customers, vendors, or administrators communicably coupled to or operating in theexample environment 100. Theserver 110 may also be responsible for responding to the received requests by processing said requests in the associated hosted applications (not shown) orweb services 120, and sending the appropriate response back to the requesting entity. In addition to requests from the external customers, vendors or administrators, requests may also be sent from internal users, or third-party customers, other automated applications, as well as any other appropriate entities, individuals, systems, or computers. As used in the present disclosure, the term “computer” is intended to encompass any suitable processing device. AlthoughFIG. 1 illustrates asingle ERP server 110, an ERP system can be implemented using two or more servers, as well as computers other than servers, including a server pool. Indeed,server 110 may be any computer or processing device such as, for example, a blade server, general-purpose personal computer (PC), Macintosh®, workstation, UNIX-based workstation, or any other suitable device. In other words, the present disclosure contemplates computers other than general purpose computers, as well as computers without conventional operating systems. Further, theserver 110 may be adapted to execute any operating system, including Linux, UNIX, Windows, Mac OS®, or another suitable operating system. - The processor 115 shown in the
example environment 100 can execute one or more hosted applications or client applications to provideweb services 120 and ODataservices 125. For example, an ERP application (not shown) may be either a hosted application or a client application. Generally, the ERP application can perform at least one ERP related function. Example ERP related functions may include finance/accounting, manufacturing, sales and service, customer relationship management. In some instances, the processor 115 may perform the ERP related functions based on executing aweb service 120, in order to facilitate the flow of information between business functions inside the boundaries of an organization, and manage the connections to outside parties. - Although illustrated as a
single processor 115 a included in theserver 110, two or more processors may be used according to particular needs, desires, or particular implementations of the environment. Each processor 115 may be a central processing unit (CPU), a blade, an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or another suitable component. Generally, the processor 115 executes instructions and manipulates data to perform the operations of the ERP server and, specifically, the one ormore business applications 120. The processor 115 also executes the functionality required to receive and respond to requests from business customers, and/or their respective client applications, as well as the functionality required to perform the other operations ofbusiness system 110. Regardless of the particular implementation, “software” may include computer-readable instructions, firmware, wired or programmed hardware, or any combination thereof on a tangible and non-transitory medium operable when executed to perform at least the processes and operations described herein. Indeed, each software component may be fully or partially written or described in any appropriate computer language including C, C++, Java™, Visual Basic, assembler, Perl®, any suitable version of 4GL, as well as others. It will be understood that while portions of the software illustrated inFIG. 1 are shown as individual modules that implement the various features and functionality through various objects, methods, or other processes, the software may instead include a number of sub-modules, third-party services, components, libraries, and such, as appropriate. Conversely, the features and functionality of various components can be combined into single components as appropriate. Aspects of the processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform actions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application specific integrated circuit). - Processors 115 suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor 115 will receive instructions and data from a read only memory or a random access memory or both. The essential elements of a computer are a processor 115 for performing actions in accordance with instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive, data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto optical disks, or optical disks. However, a computer need not have such devices. Devices suitable for storing computer program instructions and data include all forms of non-volatile memory, media and memory devices, including by way of example, semiconductor memory devices, e.g., EPROM, EEPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto optical disks; CD-ROM and DVD-ROM disks. The processor 115 and the database (or memory) 130 a can be supplemented by, or incorporated in, special purpose logic circuitry.
- The
ERP server 110 may store at least onemore web service 120, where at least a portion of theweb service 120 is executed via requests sent by and responses sent to anadministrator 150 through theMBAPP server 140, ormobile devices 170 within and communicably coupled to the illustratedenvironment 100 ofFIG. 1 . Theweb service 120 can be a hosted application on theERP server 110. In some instances, theERP server 110 may store a plurality of different web services 120 (or instances thereof) or the ERP application, while in other instances, theERP server 110 may be a dedicated server meant to store and execute only asingle web service 120 or ERP application. In some instances, theserver 120 may comprise a web server, where theweb services 120 and/or ERP application represent one or more web-based applications accessed and executed vianetwork 190 by the mobile device(s) 170 of thesystem 110 to perform the programmed tasks or operations of theweb service 120. - One or
more web services 120 can be stored indatabase 130 a and executed byprocessor 115 a. At a high level, theweb service 120 may be any application, program, module, process, or other software that may execute, change, delete, generate, transmit, or otherwise manage information according to the present disclosure, particularly in response to and in connection with one or more requests received from the illustratedMBAPP server 140 and its associatedtemplates 145 and/orapplications web service 120 may be located at aparticular server 110. In others, a plurality of related and/orunrelated web services 120 may be stored at asingle server 110, or located across a plurality of other servers (not shown), as well. In certain cases,environment 100 may implement acomposite web service 120 or a composite ERP application. For example, portions of the composite ERP application may be implemented as Enterprise Java Beans® (EJBs) or design-time components may have the ability to generate run-time implementations into different platforms, such as J2EE® (Java 2 Platform, Enterprise Edition), ABAP (Advanced Business Application Programming) objects, or Microsoft's® .NET, among others. Additionally, the ERP application and the associated web service(s) 120 may represent web-based applications accessed and executed bymobile devices 170,MBAPP server 140,templates 145 orapplications ERP server 110, one or more processes associated with a particular ERP application and/orweb service 120 may be stored, referenced, or executed remotely. For example, a portion of a particular ERP application and/orweb service 120 may be a web service associated with thetemplate 145 that is remotely called, while another portion of the ERP application and/orweb service 120 may be an interface object or agent bundled for processing at a remotemobile device 170 or theMBAPP server 140. - The
ERP server 110 may host one or more OData services 125. In general, Odata is a Web protocol for querying and updating data that can provide a way to unlock data and free the data from silos that exist in applications. These results can be achieved by Odata services based on applying and building upon Web technologies such as Hypertext Transfer Protocol (HTTP), Atom Publishing Protocol (AtomPub), and JavaScript® Object Notation (JSON) to provide access to information from a variety of applications, services, and stores.OData service 125 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. - The
server 110 further includes adatabase 130 a. In general, database 130 may include any memory or database module and may take the form of volatile or non-volatile memory including, without limitation, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), removable media, or any other suitable local or remote memory component. Database 130 may store various objects or data, including classes, frameworks, applications, backup data, business objects, jobs, web pages, web page templates, database tables, repositories storing business and/or dynamic information, and any other appropriate information including any parameters, variables, algorithms, instructions, rules, constraints, or references thereto associated with the purposes of theserver 110 and the one ormore services - As shown in
FIG. 1 , theserver 110 also includes aninterface 135 a. In general, the interface 135 is used for communicating with other systems in the illustratedexample environment 100 through thenetwork 190. The interface 135 includes logic encoded in software and/or hardware in a suitable combination and operable to communicate with thenetwork 190. More specifically, the interface 135 may comprise software supporting one or more communication protocols associated with communications such that thenetwork 190 or interface's hardware is operable to communicate physical signals within and outside of the illustratedenvironment 100. In some instances, the interface's hardware may include wireless transceivers and antennas (not shown). The wireless transceivers can include both the transmitter circuitry and the receiver circuitry. The wireless transceivers may be responsible for up-converting a baseband signal to a passband signal or vice versa. The components of wireless transceivers may include a digital-to-analog converter/analog-to-digital converter, amplifier, frequency filter, and oscillator. The antenna is a transducer which can transmit and/or receive electromagnetic waves. The antenna can convert electromagnetic radiation into electric current, or vice versa. The antenna is generally responsible for the transmission and reception of radio waves, and can serve as the interface between the transceiver and the wireless channel. - It will be understood that besides the
ERP server 110, anERP system 110 may include other components that are suitable for any implementation without departing from the scope of the disclosure. In the present disclosure, the terms “ERP server” and “ERP system” are used interchangeably for illustration purposes. - The
ERP server 110 is communicably coupled to anMBAPP server 140, amobile device 170 and/or other entities through anetwork 190. Generally, thenetwork 190 facilitates wireless or wireline communications between the devices operated in theenvironment 100, as well as with any other local or remote devices communicably coupled to thenetwork 190 but not illustrated inFIG. 1 . Thenetwork 190 is illustrated as a single network inFIG. 1 , but may be a continuous or discontinuous network without departing from the scope of this disclosure, so long as at least a portion of the network may facilitate communications between senders and recipients. - The
network 190 may be all or a portion of an enterprise or secured network, while in another instance, at least a portion of thenetwork 190 may represent a connection to the Internet. In some instances, a portion of thenetwork 190 may be a virtual private network (VPN), such as, for example, the connection between theERP server 110 and theMBAPP server 140. Further, all or a portion of thenetwork 190 can comprise either a wireline or wireless link. Example wireless links may include 802.11 a/b/g/n, 802.20, WiMAX®, Bluetooth® and/or any other appropriate wireless link. In other words, thenetwork 190 encompasses any internal or external network, networks, sub-network, or combination thereof operable to facilitate communications between various computing components inside and outside the illustrated environment. Thenetwork 190 may communicate, for example, Internet Protocol (IP) packets, Frame Relay frames, Asynchronous Transfer Mode (ATM) cells, voice, video, data, and other suitable information between network addresses. Thenetwork 190 may also include one or more local area networks (LANs), radio access networks (RANs), metropolitan area networks (MANs), wide area networks (WANs), all or a portion of the Internet, and/or any other communication system or systems at one or more locations. - In the illustrated
example environment 100, theMBAPP server 140 includes aprocessor 115 b, adatabase 130 b, aninterface 135 b, one ormore templates 145, a mobileapplication creation application 155, and one or moremobile application interpreters 160 b. In some implementations, the software and hardware components (e.g., theprocessor 115 b,database 130 b andinterface 135 b) included in theMBAPP server 140 may have functionalities that are similar or different in nature to that of their respective counterparts included in theERP server 110. - The
MBAPP server 140 may be a hosted site provided by the ERP vendor that can allow ERP customers, vendors oradministrators 150 to create mobile applications and publish them to their end-user and/or customers (e.g., the mobile device 170). TheMBAPP server 140 may be placed so that ERP customers (or administrators 150) can create a custom mobile application using mobileapplication creation application 155. Example operations for creating a custom mobile application may include one or more of the following: 1) select a template 145 (e.g., RSS feed template, query result template, etc.) for inclusion in the custom mobile application; 2) map data stored in thedatabase 130 a of theERP server 110, based on theweb service 120 and/orOData service 125, to thetemplate 145; and 3) publish thetemplate 145 as a mobile application tomobile application interpreter 160 b. - The
MBAPP server 140 can act as an interface between the mobile application end-user (e.g., the mobile device 170) and theadministrator 150 or equivalently, the ERP software customer. The end-users can download the mobile applications to the mobile device 170 (e.g., iPhone or Android™ phone) and store it locally asmobile applications 160 c in thedatabase 130 c. The end-user can further use themobile device 170 to access to ERP data stored in theERP server 110 that is published by theadministrator 150 asmobile applications 160 c. - The
administrator 150 may be a person or an electronic device that facilitates or manage the mobile application publication process. Theadministrator 150 may be an administrator of an ERP customer, an ERP vendor or a third-party software developer that can use the mobileapplication creation application 155 to publish mobile application based ontemplates 145. Theadministrator 150 can select a set of templates that decides on the behavior of amobile application 160 c when creating themobile application 160 c. Theadministrator 150 may also be responsible for mapping thetemplate 145 to data sets stored in thedatabase 130 a of theERP system 110, such that the corresponding data sets may be used to populate the template in order to publish themobile applications 160 c. - The
MBAPP server 140 includes one ormore templates 145. Atemplate 145 may be provided in an Extensible Markup Language (XML) format that themobile application interpreter 160 b can understand and use to populate the application specific user interface with data content from theERP system 110. The one or more templates may be used by anadministrator 150 to publish information ontomobile applications 160 c. Example templates may include a HyperText Markup Language (HTML) page with mapped fields fromERP web service 120 and/or ERP application, a notification/alerts page that can be populated by a web service based on events that arise in theERP system 110, and a Query Result Page that can allow defining of different queries which executes mapped web service queries in theERP system 110 based on input from themobile device 170. - The example templates described above may include static content of one or more software applications. In some implementations, an application may be created by the
administrator 150 based on static content included in aHTML template 145, with some portions of dynamic content included from the ERP system based on mapping theweb service 120 or theOData service 125 to the services provided by thetemplate 145. - An example scenario of using templates that include an HTML page with mapped fields from an ERP web service is described as follows: ABC Inc. (ABC) is a company that provides the most updated sales figures of its newly launched product “NewVenn.” “NewVenn” is a product that can be enhanced by ABC's partner network via accessories almost every other day. ABC would like to motivate its existing customers to purchase “NewVenn” and talk about its features and accessories when they are added by ABC's suppliers/partners. Administrators at ABC can choose the appropriate template, map the fields and create a mobile application and publish it in the MBAPP server. The product information page can be built out of an HTML page template to publish static information about “NewVenn,” and later map dynamic content from the ERP database for sales figures and feature additions. End-users of ABC can download the standard mobile application published by ERP vendor from the appropriate app marketplace based on the mobile phone OS, and later register that application to the MBAPP server as a customer of ABC. When the end-user accesses the mobile application, the service will contact the MBAPP server when they launch the mobile application. The MBAPP server can later on pick data from ABC's ERP and push content onto the mobile application. The end-users can directly place orders for “NewVenn” or its accessories from the mobile applications.
- The notifications or alerts template may be associated with some events that occurred in the ERP system, or some components in the production side of a company that is significantly being used in large numbers. Notifications or alert templates may be identified at the ERP system and published or sent to the
mobile device 170 when these events occurred. In such cases, the ERP data are pushed to themobile device 170 from the ERP data backend (e.g., the ERP server 110). - An example scenario of using templates that includes notifications/alerts pages that are populated by a web service based on events that arise in the ERP system is described as follows: DEF Inc. (DEF) provides updates to its suppliers when certain product sales peak, as well as when supplies are required above normal level. For example, one of DEF's products may be bicycles that require sprockets supplied by MMQ company (MMQ). MMQ supplies 1000 sprockets on average to DEF on the 15th of every month. When ABC's bicycle sales peak and manufacturing are running above 100%, MMQ may need to be alerted of a possible increase in requirements. Administrators at DEF can choose the Notifications/Alert template, map the fields and create a mobile application, and publish that mobile application in the MBAPP server. The Notification/Alert tab in the mobile application gets populated with data from ERP as soon as sprockets are depleting above a certain level from the inventory. Suppliers of DEF, such as MMQ, can download the standard mobile application published by the ERP vendor from the appropriate app marketplace based on the mobile phone OS, and later register to MBAPP server as a customer of DEF. Based on events in DEF's ERP server, if there are above average depleting stocks, then the end-user's mobile application is alerted of this information.
- A Query Result Page template may be used when a query is sent from the
mobile device 170 for information/results from theERP system 110. In such case, data is pulled by themobile device 170 from the ERP data backend. An example scenario of using a template that includes a Query Result Page can be described as follows: DEF can provide an instant query response service via a mobile application to its suppliers, whereby suppliers can check the change in inventory levels of the components it supplies to DEF. The mobile application can have a query that allows MMQ to choose a component that it supplies, check its current inventory level and compare it to the inventory levels during the same period of the previous years and months. - In the illustrated
example system environment 100, themobile device 170 includes aprocessor 115 c, adatabase 130 c, aninterface 135 c, one or moremobile applications 160 c, adisplay 175, and a graphical user interface (GUI) 180 that can be presented on the display. In some implementations, the software and hardware components (e.g., theprocessor 115 c,database 130 c, andinterface 135 c) included in themobile device 170 may have functionalities that are similar or different in nature to that of their respective counterpart included in theERP server 110 and/or theMBAPP server 140. In general, themobile device 170 can include mobile phones, smartphones, and tablet computers, among others. - The
display 175 can be any output hardware for presenting information on themobile device 170 to the end-user (not shown). In some implementations, the information may be presented on the display through aGUI 180. TheGUI 180 may be operable to interface with at least onemobile application 160 c for any suitable purposes. Generally, through theGUI 180, the end-user is provided with an efficient and user-friendly presentation of data provided by or communicated within the system. TheGUI 180 can represent any graphical user interface, including but not limited to, a web browser, touch screen, or command line interface (CLI) that processes information inenvironment 100 and efficiently presents the information results to the user. In general, theGUI 180 may include a plurality of user interface elements, some or all associated with themobile applications 160 c, such as interactive fields, pull-down lists, and buttons operable by the end-user. These and other user interface elements may be related to or represent the functions of the applications, as well as other software applications executing at theservers - The
mobile device 170 may access theMBAPP server 140 via thenetwork 190. When being accessed by themobile device 170, theMBAPP server 140 may first authenticate themobile device 170 against the associated ERP customer system user (e.g., the administrator 150). TheMBAPP server 140 may request data from theERP system 110 for the XML template published for the authenticated end-user. TheMBAPP server 140 may also send the data received from theERP system 110 to themobile device 170. In case ofmobile applications 160 c configured for alert, theMBAPP server 140 may send the data to themobile applications 160 c on themobile device 170 based on the event triggered in theERP system 110 backend. - While
FIG. 1 is described as containing or being associated with a plurality of elements, not all elements illustrated withinenvironment 100 ofFIG. 1 may be utilized in each alternative implementation of the present disclosure. Additionally, one or more of the elements described herein may be located external toenvironment 100, while in other instances, certain elements may be included within or as a portion of one or more of the other described elements, as well as other elements not described in the illustrated implementation. Further, certain elements illustrated inFIG. 1 may be combined with other components, as well as used for alternative or additional purposes, in addition to those purposes described herein. -
FIG. 2 is a block diagram showing anexample process flow 200 for publishing a mobile application based on an MBAPP. Theexample process 200 is performed by anadministrator 210 and anMBAPP server 240, such as theadministrator 150 and theMBAPP server 140 described with regard toFIG. 1 . - The
administrator 210 may be an ERP customer administrator or business process administrator. Theadministrator 210 registers the ERP system in the MBAPP server at 215, such that the templates stored in theMBAPP server 240 may be associated with data sets stored in the ERP system. The association may be managed by web service and/or OData service, as well as a general ERP application. Accordingly, theMBAPP server 240 may know where to retrieve the dynamic content to populate the template in order to publish mobile applications. When the ERP system is registered in theMBAPP server 240, an ERP system registration is created at theMBAPP server 240 at 245. Theadministrator 210 may start the application creation at 220. - At 222, the
MBAPP server 240 can supply the standard template information to theadministrator 210. TheMBAPP server 240 may have a set of standard templates that the administrator can use. The standard templates may be created and/or published by software partners (e.g., SAP) or their partners or trusted third-party software vendors. At 225, theadministrator 210 may select the templates that may be used to publish and display information for the mobile application, based on the standard template information supplied by theMBAPP server 240. Theadministrator 210 may choose one of the templates supplied by theMBAPP server 240 and map the dynamic content stored in the ERP system to the corresponding fields or events of the templates at 230, based on the types of the templates. At 235, mobile applications/files are published with the selected template by theadministrator 210. The published mobile applications may be stored in the database of theMBAPP server 240. - The published application/file may include template information, static content, dynamic content, and the system connectivity information to fix the dynamic content. In some implementations, the
MBAPP server 240 may have a logic by which information associated with the template is shown in a standard fashion when the applications are published by the mobile application interpreter (such aselement 160 b inFIG. 1 ). The published application may be standard applications that can consume the templates. -
FIG. 3 is a block diagram showing anexample process flow 300 for using a template for publishing mobile applications on a mobile device. Theexample process flow 300 may be performed in conjunction with theprocess flow 200 described with regard toFIG. 2 . Theexample process 300 is performed by anERP system 310, anMBAPP server 320, and amobile device 350, such as theERP system 110,MBAP server 140 andmobile device 170 described with regard toFIG. 1 . Themobile device 350 may be used by a mobile user (or end-user). - At 355, a mobile user may use the
mobile device 350 to register against the ERP user. The mobile user may register as an ERP user of the ERP system. The registration request may be sent to theMBAPP server 320. Based on receiving the request from themobile device 350 for registration, theMBAPP server 320 may create the mobile user registration at 325. After registration, themobile device 350 may download registered mobile applications published by an ERP customer (such as in 235) at 360 and start using the mobile application. At 365, information of the ERP user is mapped against the MBAPP user. The MBAPP user may be an ERP customer/vendor/administrator. By mapping the ERP user against the MBAPP user, the mobile user as an ERP user can have a user name and password in theMBAPP system 320. - At 370, the mobile user can use the user name and password to log in to the
MBAPP system 320. The user name and password will be further mapped onto the MBAPP user's ERP system. As such, when the mobile user logs in, and tries to pull information, the static content included in the template can easily come from theMBAPP server 320. However, in order to obtain the dynamic content, the web service may be executed at the ERP customer's system (i.e., the MBAPP server 320). Therefore, the mobile user is authenticated at 330. This user will be that end-user in the ERP system. - At 335, the application data for the mobile user is requested by the
MBAPP server 320. At 375, the mobile application is published with the selected template. Based on receiving the request for application data the data is obtained for the mobile device at 315 based on the mapping between services described inFIG. 2 . At 340, the fields of an XML template are filled based on the data obtained from theERP system 310. At 380, the data of the template (or templates) is displayed and/or published on themobile device 350 in the format of a mobile application. In some implementations, the mobile application may be a unified web application that can consume various templates. As such, the mobile user can download one unified application to themobile device 350, and use the application to perform various functionalities and/or receive services provided by the ERP customers/vendors. Different ERP customers/vendors may enforce different authentication information, and the functionalities the mobile user can perform or the services the mobile user can receive may depend on its authorization from the ERP customers/vendors. Using one unified application may also simplify software update of different applications from different ERP customers/vendors. Instead of updating a variety of applications, one update of the unified application may be performed. -
FIG. 4 is a flowchart showing anexample process 400 for setting up a notification/alert template. In some implementations, setting up the notification/alert template may allow a notification/alert to be pushed to a mobile device when an event or change occurs in the ERP backend (e.g., ERP server). - At 410, a standard transaction is run at the ERP backend system. At 420, a document or business object is changed at the ERP backend, and a business object event is triggered at 430. The document object change may be a change of the database table, which can be captured in the ERP system via change logs. The change of document object may further be linked to a business object repository object event. The object event may be triggered by a change of the document object or when the change has reached a certain level. Further, application-based grouping may be created for the change of document object.
- At 440, the triggered object events can populate the notification/alerts inbox based on subscription of mobile application users to application notification group. Specific business logic can exist in object events that can trigger data flow from the ERP system to notify/alert the mobile user. The data flow may be an RSS feed pushed into the mobile user's notification inbox. At 450, data from the ERP backend may be mapped from web service for mobile application consumption. In some implementations, a web service can publish information from the notification inbox for external access. The process of mapping data from the web service for mobile application consumption is described with regard to
FIG. 2 . -
FIG. 5 is a flowchart showing anexample process 500 for publishing mobile applications. At 510, a server (e.g., an MBAPP server) instantiates an application for one or more mobile devices. The application may provide services or perform functionalities that are requested by the one or more mobile devices. At 520, the server associates one or more templates with the instantiated application. The one or more templates may be used to facilitate the publication of the instantiated application. Each of the one or more templates is configurable to provide functionality to the application. At 530, the server maps data from a backend system to each of the associated one or more templates. The mapped data may be dynamic content used to populate the fields of the one or more templates. The backend system may be an ERP system. At 540, the server publishes the application to the one or more mobile devices. - While this specification contains many specific implementation details, these should not be construed as limitations on the scope of any that may be claimed, but rather as descriptions of features specific to particular implementations. Certain features that are described in this specification in the context of separate implementations can also be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation can also be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.
- Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described components and systems can generally be integrated together in a single product or packaged into multiple products.
- In the present disclosure, “each” refers to each of multiple items or operations in a group, and may include a subset of the items or operations in the group and/or all of the items or operations in the group. In the present disclosure, the term “based on” indicates that an item or operation is based at least in part on one or more other items or operations and may be based exclusively, partially, primarily, secondarily, directly, or indirectly on the one or more other items or operations.
- A number of implementations of the present disclosure have been described. Nevertheless, it will be understood that various modifications may be made without departing from the spirit and scope of the present disclosure. Accordingly, other implementations are within the scope of the following claims.
Claims (20)
1. A computer-implemented method performed by one or more processors for publishing mobile applications, the method comprising:
instantiating an application for one or more mobile devices;
associating one or more templates with the instantiated application, each of the one or more templates configurable to provide a functionality to the application;
mapping data from a backend system to each of the associated one or more templates; and
publishing the application to the one or more mobile devices.
2. The method of claim 1 , further comprising:
authenticating the one or more mobile devices,
requesting data to be published to the one or more mobile devices when the one or more mobile devices are authenticated,
publishing the requested data on the application of the one or more mobile devices when the one or more mobile devices are authenticated, and
sending the data to the application of the one or more mobile devices based on an event triggered in the backend system when the application is configured for alert and the one or more mobile devices are authenticated.
3. The method of claim 1 , wherein the one or more templates include information defining a visual format for the application.
4. The method of claim 1 , wherein the one or more templates include at least one of:
a hypertext markup language (HTML) page with mapped fields from a system web service,
a notification page that is populated by a web service based on events that are triggered in the backend system, and
a query response page that can execute a web service or OData service.
5. The method of claim 1 , wherein the one or more templates are retrieved from a mobile business application publishing platform (MBAPP) system.
6. The method of claim 1 , wherein a portion of the one or more templates comprises a set of pre-defined functionality and information defining a user interface design associated with at least one operation.
7. The method of claim 1 , further comprises populating the one or more templates with the mapped data from the backend system.
8. The method of claim 1 , wherein the backend system is an enterprise resource planning (ERP) system.
9. A computer-implemented method performed by one or more processors for publishing mobile applications, the method comprising:
receiving a request from an instance of an application;
authenticating a mobile device associated with the application;
retrieving backend data associated with the authenticated mobile device;
performing a template functionality associated with the instance of the application; and
sending a result of the performed template functionality to the instance of the application.
10. The method of claim 9 , wherein the backend data is retrieved from an enterprise resource planning (ERP) system.
11. A computer program product for test automation management, the computer program product comprising computer-readable instructions embodied on tangible, non-transient media and operable when executed to:
instantiate an application for one or more mobile devices;
associate one or more templates with the instantiated application, each of the one or more templates configurable to provide a functionality to the application;
map data from a backend system to each of the associated one or more templates; and
publish the application to the one or more mobile devices.
12. The computer program product of claim 11 , the computer-readable instructions further operable when executed to:
authenticate the one or more mobile devices,
request data to be published to the one or more mobile devices when the one or more mobile devices are authenticated,
publish the requested data on the application of the one or more mobile devices when the one or more mobile devices are authenticated, and
send the data to the application of the one or more mobile devices based on an event triggered in the backend system when the application is configured for alert and the one or more mobile devices are authenticated.
13. The computer program product of claim 11 , wherein the one or more templates include information defining a visual format for the application.
14. The computer program product of claim 11 , wherein the one or more templates include at least one of:
a hypertext markup language (HTML) page with mapped fields from a system web service,
a notification page that is populated by a web service based on events that are triggered in the backend system, and
a query response page that can execute a web service or OData service.
15. The computer program product of claim 11 , wherein the one or more templates are retrieved from a mobile business application publishing platform (MBAPP) system.
16. The computer program product of claim 11 , wherein a portion of the one or more templates comprise a set of pre-defined functionality and information defining a user interface design associated with at least one operation.
17. The computer program product of claim 11 , further comprises populating the one or more templates with the mapped data from the backend system.
18. The computer program product of claim 11 , wherein the backend system is an enterprise resource planning (ERP) system.
19. A computer program product for test automation management, the computer program product comprising computer-readable instructions embodied on tangible, non-transient media and operable when executed to:
receive a request from an instance of an application;
authenticate a mobile device associated with the application;
retrieve backend data associated with the authenticated mobile device;
perform a template functionality associated with the instance of the application; and
send a result of the performed template functionality to the instance of the application.
20. The computer program product of claim 19 , wherein the backend data is retrieved from an enterprise resource planning (ERP) system.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/327,336 US20130159484A1 (en) | 2011-12-15 | 2011-12-15 | Publishing mobile applications |
EP20120007772 EP2605128A1 (en) | 2011-12-15 | 2012-11-16 | Publishing mobile applications |
CN2012105442413A CN103164216A (en) | 2011-12-15 | 2012-12-14 | Publishing mobile applications |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/327,336 US20130159484A1 (en) | 2011-12-15 | 2011-12-15 | Publishing mobile applications |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130159484A1 true US20130159484A1 (en) | 2013-06-20 |
Family
ID=47216021
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/327,336 Abandoned US20130159484A1 (en) | 2011-12-15 | 2011-12-15 | Publishing mobile applications |
Country Status (3)
Country | Link |
---|---|
US (1) | US20130159484A1 (en) |
EP (1) | EP2605128A1 (en) |
CN (1) | CN103164216A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150040201A1 (en) * | 2013-07-31 | 2015-02-05 | Sap Ag | Registering a mobile application with a server |
US9197501B2 (en) | 2013-08-09 | 2015-11-24 | Sap Se | Zero-step auto-customization of mobile applications |
US9438545B2 (en) | 2014-01-07 | 2016-09-06 | Sap Se | Message-based collaboration |
US20170010869A1 (en) * | 2014-01-22 | 2017-01-12 | AirSpring Software, LLC | Multistage customizing of web-based application in a browser independent of platform and operating system |
US20170180215A1 (en) * | 2015-12-16 | 2017-06-22 | Sap Se | Providing a landscape and statistics service to a mobile communications device |
US10318253B2 (en) * | 2016-05-13 | 2019-06-11 | Sap Se | Smart templates for use in multiple platforms |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426871A (en) * | 2013-08-29 | 2015-03-18 | 中兴通讯股份有限公司 | Method and device for realizing remote calling |
CN104112187B (en) * | 2014-07-15 | 2017-07-11 | 湖北省体育局 | A kind of Transmission system and method for gym building resources information |
CN104539697B (en) * | 2014-12-26 | 2018-10-19 | 北京新学堂网络科技有限公司 | A kind of client, server and the method for making Android mobile application |
EP3281168A4 (en) * | 2015-07-31 | 2018-03-14 | Hewlett-Packard Enterprise Development LP | Discovering and publishing api information |
CN108241738B (en) * | 2017-12-27 | 2021-09-21 | 广东林盟科技有限公司 | Hot area plan realization method, system and device based on MVC and SVG |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080104501A1 (en) * | 2006-10-27 | 2008-05-01 | Sap Ag | Cross-tier intelligent document generation and management |
US20100042620A1 (en) * | 2006-06-05 | 2010-02-18 | International Business Machines Corporation | System and Methods for Managing Complex Service Delivery Through Coordination and Integration of Structured and Unstructured Activities |
US20100100809A1 (en) * | 2008-10-21 | 2010-04-22 | At&T Intellectual Property, I, L.P. | Multi-modal/multi-channel application tool architecture |
US20110083117A1 (en) * | 2003-09-17 | 2011-04-07 | Research In Motion Limited | System and Method For Dynamic Generation And Customization Of Web Service Client Applications For Terminals |
US20120047425A1 (en) * | 2010-08-21 | 2012-02-23 | Ali Kamran Ahmed | Methods and apparatuses for interaction with web applications and web application data |
US20120054754A1 (en) * | 2010-08-30 | 2012-03-01 | Jan Teichmann | Repository of background job templates |
US20120233235A1 (en) * | 2011-03-07 | 2012-09-13 | Jeremy David Allaire | Methods and apparatus for content application development and deployment |
US20120310775A1 (en) * | 2011-06-01 | 2012-12-06 | Gina Marie Laster-Fields | Systems and Methods for Providing Dynamic Content into a Static Electronic Document |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7174506B1 (en) * | 1999-11-05 | 2007-02-06 | International Business Machines Corporation | Method and system for producing dynamic web pages |
US7873353B2 (en) * | 2003-09-30 | 2011-01-18 | Ianywhere Solutions, Inc. | Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices |
GB0500150D0 (en) * | 2005-01-06 | 2005-02-16 | Ibm | Method, and aggregation component for aggregating application components |
US7984119B2 (en) * | 2005-04-21 | 2011-07-19 | Sap Ag | Template configuration tool for application servers |
US8091071B2 (en) * | 2006-08-21 | 2012-01-03 | Sap, Ag | Method and system for template-based code generation |
US20120117181A1 (en) * | 2010-11-05 | 2012-05-10 | Verizon Patent And Licensing, Inc. | System for and method of providing mobile applications management |
CN102135883B (en) * | 2011-03-14 | 2014-05-14 | 山东大学 | Software-as-a-service (SaaS) application generation and deployment supporting method and device |
-
2011
- 2011-12-15 US US13/327,336 patent/US20130159484A1/en not_active Abandoned
-
2012
- 2012-11-16 EP EP20120007772 patent/EP2605128A1/en not_active Ceased
- 2012-12-14 CN CN2012105442413A patent/CN103164216A/en active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110083117A1 (en) * | 2003-09-17 | 2011-04-07 | Research In Motion Limited | System and Method For Dynamic Generation And Customization Of Web Service Client Applications For Terminals |
US20100042620A1 (en) * | 2006-06-05 | 2010-02-18 | International Business Machines Corporation | System and Methods for Managing Complex Service Delivery Through Coordination and Integration of Structured and Unstructured Activities |
US20080104501A1 (en) * | 2006-10-27 | 2008-05-01 | Sap Ag | Cross-tier intelligent document generation and management |
US20100100809A1 (en) * | 2008-10-21 | 2010-04-22 | At&T Intellectual Property, I, L.P. | Multi-modal/multi-channel application tool architecture |
US20120047425A1 (en) * | 2010-08-21 | 2012-02-23 | Ali Kamran Ahmed | Methods and apparatuses for interaction with web applications and web application data |
US20120054754A1 (en) * | 2010-08-30 | 2012-03-01 | Jan Teichmann | Repository of background job templates |
US20120233235A1 (en) * | 2011-03-07 | 2012-09-13 | Jeremy David Allaire | Methods and apparatus for content application development and deployment |
US20120310775A1 (en) * | 2011-06-01 | 2012-12-06 | Gina Marie Laster-Fields | Systems and Methods for Providing Dynamic Content into a Static Electronic Document |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150040201A1 (en) * | 2013-07-31 | 2015-02-05 | Sap Ag | Registering a mobile application with a server |
US9258669B2 (en) * | 2013-07-31 | 2016-02-09 | Sap Se | Registering a mobile application with a server |
US9197501B2 (en) | 2013-08-09 | 2015-11-24 | Sap Se | Zero-step auto-customization of mobile applications |
US9438545B2 (en) | 2014-01-07 | 2016-09-06 | Sap Se | Message-based collaboration |
US20170010869A1 (en) * | 2014-01-22 | 2017-01-12 | AirSpring Software, LLC | Multistage customizing of web-based application in a browser independent of platform and operating system |
US20170180215A1 (en) * | 2015-12-16 | 2017-06-22 | Sap Se | Providing a landscape and statistics service to a mobile communications device |
US10536327B2 (en) * | 2015-12-16 | 2020-01-14 | Sap Se | Providing a landscape and statistics service to a mobile communications device |
US10318253B2 (en) * | 2016-05-13 | 2019-06-11 | Sap Se | Smart templates for use in multiple platforms |
Also Published As
Publication number | Publication date |
---|---|
EP2605128A1 (en) | 2013-06-19 |
CN103164216A (en) | 2013-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130159484A1 (en) | Publishing mobile applications | |
US20210073051A1 (en) | Late connection binding for bots | |
US9015651B2 (en) | Gateway data distribution engine | |
US9600547B2 (en) | System and method of consuming and integrating with rest-based cloud and enterprise services | |
US8326889B2 (en) | Systems and methods for generating customizing documentation | |
US20200226185A1 (en) | Publishing rest api changes based on subscriber's customized request | |
US20120047506A1 (en) | Resource abstraction via enabler and metadata | |
US10135940B2 (en) | Subscribing to event notifications using object instances | |
US9747353B2 (en) | Database content publisher | |
US20120016999A1 (en) | Context for Sharing Data Objects | |
US20200125336A1 (en) | System and method for enhancing component based development models with auto-wiring | |
US11836468B2 (en) | Digital compliance platform | |
US9053444B2 (en) | Deploying applications in a smart thin client server | |
US10102239B2 (en) | Application event bridge | |
US20180102950A1 (en) | Integration of cloud services for consumption in cloud applications | |
US20150066788A1 (en) | Social media integration platform | |
US20150280786A1 (en) | Near field communication based data transfer | |
US11782773B2 (en) | Automated application programing interface importation | |
US20140188916A1 (en) | Combining odata and bpmn for a business process visibility resource model | |
US20240070149A1 (en) | Database systems and client-side data synchronization methods | |
US20240070151A1 (en) | Database systems and client-side query transformation methods | |
US9542171B2 (en) | Managing an application modification process | |
US20230037019A1 (en) | Techniques for distributed interface component generation | |
US10108711B2 (en) | OData enablement for personal object worklists | |
US12099491B2 (en) | Database systems and methods for client-side initiation of server-side actions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAP AG, GERMANY Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:T S, SABARISH;REEL/FRAME:029279/0234 Effective date: 20111215 |
|
AS | Assignment |
Owner name: SAP SE, GERMANY Free format text: CHANGE OF NAME;ASSIGNOR:SAP AG;REEL/FRAME:033625/0223 Effective date: 20140707 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |