发布移动应用的制作方法

文档序号:6384287阅读:139来源:国知局
专利名称:发布移动应用的制作方法
技术领域
本公开涉及发布移动应用。
背景技术
应用软件,也称为“应用”,被设计为帮助软件用户执行各种任务。示例应用软件可以包括企业软件、会计软件、办公软件套装、图形相关软件以及媒体播放器。一些应用可以开发为创建、编辑或管理文档。在一些情况下,应用软件可以与计算机和它的系统软件捆绑。在一些其他情况中,可以分开地发布应用软件。应用软件可以被设计用于特定计算平台或用于特定目的的系统软件。一些应用(例如,Microsoft Office )可获得具有用于若干不同的操作系统平台的版本。例如,一些其它的应用可能具有更窄的需求,从而被称作用于视窗(Windows)的Geography (地理)应用或用于教育的Android(安卓)应用或Linux Gaming。为移动设备开发的应用软件有时可以称作移动应用。示例移动设备可以包括个人数字助理、企业数字助手或移动电话。移动应用可以在生产期间预安装在移动设备上,或由移动设备用户从多个移动软件发布平台下载。示例移动软件发布平台可以包括Android , iOS, BlackBerry , HP webOS, Symbian OS 和WINDOWS MOBILE 。

发明内容
本公开提供用于发布移动应用的系统、计算机程序产品和方法。对于一个或多个移动设备实例化应用。将一个或多个模板(template)与实例化的应用关联,所述一个或多个模板的每一个可配置以向应用提供功能。从后端系统将数据映射到关联的一个或多个模板的每一个,并且向一个或多个移动设备发布所述应用。虽然通常描述为处理并转换相关数据的计算机程序产品,但是一些或全部方面可以是计算机实现的方法或者还被包括在用于执行在此描述的功能的各自系统或其他设备中。在附图和下面的描述中阐述本公开的实施例的这些和其它方面的细节。本公开的其他特征、对象和优点将从说明书、附图和权利要求书中变得清楚。


图1是用于发布移动应用的示例系统环境的示意性表示。图2是示出用于基于移动商业应用发布平台来发布移动应用的示例过程的框图。图3是示出用于使用模板在移动设备上发布移动应用的示例过程的框图。图4是示出用于设立通知/提醒模板的示例过程的流程图。图5是示出用于发布移动应用的示例过程的流程图。各个附图中相似的参考符号指示相似的元件。
具体实施例方式本公开提供发布移动应用的细节和示例。在一些方面,企业资源计划(ERP)供应商可以允许使用移动商业应用发布平台(MBAPP)创建移动应用并且发布他们。MBAPP可以充当在移动应用的ERP供应商、ERP顾客和最终用户(end-user)之间的接口。在有些情况下,MBAPP可以是由ERP供应商提供的、ERP顾客可以订购的托管解决方案(hostedsolution),以便创建用于他们的最终用户/顾客的移动应用。在有些情况下,MBAPP可以是由ERP供应商提供的一部分ERP实例,ERP顾客可以使用其以便创建并发布用于他们的最终用户和/或顾客的移动应用。为了发布移动应用,ERP顾客可以首先基于它的具体实现来选取现有的模板。模板可以按照例如可扩展标记语言(XML)的格式,该格式包括移动应用可以理解的静态数据内容。ERP顾客可以基于一个或多个网络服务的映射、通过利用来自ERP后端的相应的动态数据内容来填充该模板以创建并支持移动应用。然后可以通过ERP顾客向他们的最终用户发布创建的移动应用。MBAPP提供用于容易地创建和发布移动应用的环境,在该环境中将最终用户对移动应用的消费标准化。在有些情况下,ERP供应商可以创建它的顾客的最终用户中的任何一个最终用户可以下载并订购的统一的移动应用。在ERP供应商创建各个最终用户可以下载的那些统一应用的情况中,不再强制ERP顾客创建用于它的最终用户的分别的移动应用,而是可以代之以使用由ERP供应商提供的MBAPP的平台以基于模板将来自ERP实例的数据映射到统一的移动应用。最终用户可以通过经由MBAPP服务器的连接来订制由ERP顾客发布的合适的应用。不是开发适配于不同移动操作系统的移动应用,每个具有不同的用户界面和/或数据再现格式,而是ERP顾客可以基于将来自ERP后端的数据资源映射到可以由各种移动操作系统(例如,iOS, Android ,或Symbian)消费的一个或多个标准模板来创建并发布移动应用。图1是用于发布移动应用的示例系统环境100的示意性表示。在高级层面上,示例系统环境100包括ERP服务器110 (或ERP系统)、MBAPP服务器140、管理员150和移动设备170,或者与ERP服务器110 (或ERP系统)、MBAPP服务器140、管理员150和移动设备170通信地耦接,ERP服务器110 (或ERP系统),MBAPP服务器140、管理员150和移动设备170中的至少一些通过网络190通信。在图1中示出的示例环境100中,ERP服务器110可以包括硬件和/或软件组件,包括处理器115a、一个或多个网络服务120、开放数据协议(OData)服务125、数据库130a和接口 135a。通常,ERP服务器110可以是可以执行包括以下功能的系统:跨越组织整合内部和外部管理信息、提供财务/会计、生产、出售和服务、以及顾客关系管理功能等等。在一些情况下,ERP系统可以利用集成的软件应用使他们的活动自动化。ERP系统软件应用可以用来便利组织的边界内的商业功能之间的信息流动并且管理到外部系统的连接。ERP服务器110可以在各种硬件和网络配置上运行。ERP服务器110可以采用数据库130a作为信息的储存库。在高级层面上,服务器(例如,ERP服务器110)包括可操作用于接收、发送、处理、存储或管理与环境100关联的数据和信息的计算设备。具体地,图1中示出的服务器110可以负责从与通信地耦接到示例环境100或在示例环境100中操作的一个或多个外部顾客、供应商或管理员关联的一个或多个模板和/或应用接收请求。服务器110还可以通过在关联的托管应用(未示出)或Web服务120中处理所述请求来负责响应于接收到的请求,并且将合适的响应传送回到请求实体。除来自外部顾客、供应商或管理员的请求之外,还可以从内部用户、或第三方顾客、其他自动化的应用、以及任何其他合适的实体、个人、系统或计算机传送请求。如本公开中使用的,术语“计算机”旨在包含任何合适的处理设备。虽然图1示出单个ERP服务器110,但是可以使用两个或更多服务器,以及除服务器以外的计算机(包括服务器池)来实现ERP系统。实际上,服务器110可以是任一计算机或处理设备,诸如,刀片服务器、通用个人工作站(PC)、Madntosh 、工作站、基于Unix的工作站或任何其他合适的设备。换句话说,本公开设想除通用计算机以外的计算机,以及没有传统的操作系统的计算机。此外,服务器110可以被适配为运行任何操作系统,包括Linux、UNIX、Windows, Mac OS 或其它合适的操作系统。示例环境100中示出的处理器115可以运行一个或多个托管应用或客户应用以提供网络服务120和OData服务125。例如,ERP应用(未示出)可以是托管应用或客户应用。通常,ERP应用可以执行至少一个ERP相关功能。示例ERP相关功能可以包括财务/会计、生产、销售和服务、顾客关系管理。在有些情况下,处理器115可以基于运行网络服务120来执行ERP相关功能,以便便利组织的边界内的商业功能之间的信息流动,并且管理到外部方的连接。虽然示出为单个处理器115a包括在服务器110中,但是可以根据特定需要、期望或环境的特定实现而使用两个或更多处理器。每个处理器115可以是中央处理单元(CPU)、刀片、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它合适的组件。通常,处理器115运行指令并操作数据以执行ERP服务器的操作,具体地,执行一个或多个商业应用120。处理器115还运行接收和响应来自商业用户的请求所需的功能,和/或他们的各自的客户应用,以及执行商业系统110的其它操作所需的功能。不考虑特定实现,“软件”可以包括在有形的以及非临时的介质上的、当运行时至少执行此处描述的处理和操作的计算机可读指令、固件、布线或编程的硬件、或其任何组合。实际上,可以以任何合适的计算机语言全部地或部分地书写或描述每个软件组件,所述计算机语言包括C,C++、Java 、Visual Basic、汇编程序、Perl 、任何合适版本的4GL、以及其他。应当理解,虽然在图1中示出的软件部分显示为通过各种对象、方法、或其他处理实现各种特征和功能的个别(individual)模块,但是视情况而定,软件可以代之以包括多个子模块、第三方服务、组件、程序库等等。相反地,视情况而定,多个组件的特征和功能可以组合成单个组件。此说明书中描述的处理和逻辑流的方面可以由一个或多个可编程处理器来执行,该可编程处理器执行一个或多个计算机程序以通过对输入数据进行操作并产生输出来执行动作。处理和逻辑流也可以由专用逻辑电路,例如FPGA (现场可编程门阵列)或ASIC (专用集成电路)来执行,并且装置也可以被实现为FPGA或ASIC。举例来说,适合于计算机程序的运行的处理器115包括通用和专用微处理器二者,以及任何种类的数字计算机的任何一个或多个处理器。一般地,处理器115将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器115和用于存储指令和数据的一个或多个存储器件。通常,计算机还将包括一个或多个用于存储数据的大容量存储设备,例如磁盘、磁光盘或光盘,或可操作计算机以耦接到该一个或多个大容量存储设备以从其接收数据或向其传送数据或二者皆有。但是,计算机不需要具有这样的设备。适合于存储计算机程序指令和数据的器件包括所有形式的非易失性存储器、介质和存储器件,例如包括:半导体存储器件,例如EPROM、EEPROM和闪速存储器件;磁盘,例如内部硬盘或活动磁盘;磁光盘KD ROM和DVD-ROM盘。处理器115和数据库(或存储器)130a可以由专用逻辑电路补充或并入专用逻辑电路中。ERP服务器110可以存储至少一个或多个网络服务120,其中通过在示出的图1的环境100之内并通信地耦接到环境100的MBAPP服务器140、或移动设备170,通过由管理员150发送的请求和发送给管理员150的响应来运行网络服务120的至少一部分网络服务。网络服务120可以是在ERP服务器110上的托管应用。在有些情况下,ERP服务器110可以存储多个不同的网络服务120(或其实例)或ERP应用,而在其他实例中,ERP服务器110可以是意味着仅存储并运行单个网络服务120或ERP应用的专用服务器。在有些情况下,服务器120可以包括网络服务器,其中该网络服务120和/或ERP应用表示由系统110的(多个)移动设备170经由网络190访问并运行的一个或多个基于网络的应用,该应用用于执行网络服务120的计划的任务或操作。一个或多个网络服务120可以存储在数据库130a中并且由处理器115a运行。在高级层面上,网络服务120可以是可以一特别是响应于并关于从示出的MBAPP服务器140以及它的关联的模板145和/或应用155、160c接收到的一个或多个请求——根据本公开运行、改变、删除、生成,发送或管理信息的任何应用、程序、模块、处理或其他软件。在某些情况下,仅一个网络服务120可以位于特定服务器110处。其它的,多个有关的和/或无关的网络服务120可以存储在单个服务器110中,或也跨越多个其他服务器(未示出)布置。在某些情况下,环境100可以实现组合网络服务120或组合ERP应用。例如,组合ERP应用的部分可以实现为Enterprise Java Beans (EJBs)或者设计时(design-time)组件可以具有在不同平台中生成运行时实现的能力,其中包括,诸如J2EE (Java2平台,企业版本),ABAP (高级企业应用程序)对象,或Microsoft’s .NET。附加地,ERP应用和关联的(多个)网络服务120可以表示由移动设备170、MBAPP服务器140、模板145或应用155、160c经由网络190(例如,经过互联网)访问并运行的基于网络的应用。此外,虽然示出为在ERP服务器110内部,但是与特定ERP应用和/或网络服务120关联的一个或多个处理可以被远程地存储、参考,或运行。例如,特定ERP应用和/或网络服务120的一部分可以是与被远程调用的模板145关联的网络服务,而ERP应用和/或网络服务120的另一部分可以是用于在远程移动设备170或MBAPP服务器140处进行处理的捆绑(bundle)的接口对象或代理。ERP服务器110可以托管一个或多个OData服务125。通常,Odata是用于查询和更新数据的网络协议,该协议可以提供用于从存在于应用中的仓库中解锁数据和释放数据的方式。可以基于在诸如超文本传输协议(HTTP)、Atom发布协议(AtomPub)和Java Script 对象表示法(JSON)的网络技术上的应用和构造来通过Odata服务获得这些结果,所述网络技术提供对来自各种应用、服务和存储器的信息的访问。OData服务125可以用来暴露和访问来自各种源的信息,所述源包括但不限于关系数据库、文件系统、内容管理系统和传统网站。服务器110还包括数据库130a。通常,数据库130可以包括任何存储器或数据库模块,并且可以采用易失性或非易失性存储器的形式,包括,但不限于磁介质、光学介质、随机存取存储器(RAM)、只读存储器(ROM)、可移除介质或任何其他合适的本地或远程存储器组件。数据库130可以存储多个对象或数据,包括类、框架、应用、备份数据、商业对象、作业、网页、网页模板、数据库表、储存库,用于存储商业和/或动态信息,以及包括与服务器110和它提供的一个或多个服务120、125的目的关联的任何参数、变量、算法、指令、规则、约束、或对其的引用的任何其他合适的信息。另外,数据库130可以包括任何其他合适的数据,诸如VPN应用、固件记录和策略、防火墙策略、安全或访问记录,打印或其他报表文件,以及其他。如图1所示,服务器110还包括接口 135a。通常,接口 135用于通过网络190与示出的示例环境100中的其他系统通信。通常,接口 135包括以合适的组合的软件和/或硬件编码的逻辑,该逻辑可操作以与网络190通信。更具体地,接口 135可以包括支持与通信关联的一个或多个通信协议的软件以使得网络190或接口的硬件可操作以在示出的环境100之内和在示出的环境100外传递物理信号。在有些情况下,接口的硬件可以包括无线收发器和天线(未示出)。无线收发器可以包括发射器电路和接收器电路两者。无线收发器可以负责将基带信号上变频为通带信号,或反过来也是一样。无线收发器的组件可以包括数字-模拟转换器/模拟-数字转换器、放大器、频率滤波器和振荡器。天线是可以发送和/或接收电磁波的变换器。天线可以将电磁辐射转换成为电流,或反过来也是一样。天线通常负责无线波的发送和接收,并且可以充当收发器和无线信道之间的接口。应当理解,除ERP服务器110之外,ERP系统110可以包括适用于没有脱离本公开的范围的任何实现的其他组件。在本公开中,可互换地使用术语“ERP服务器”和“ERP系统”用于说明目的。ERP服务器110经过网络190通信地耦接到MBAPP服务器140、移动设备170和/或其他实体。通常,网络190便利在环境100中操作的设备之间的无线或有线通信,以及便利与通信地耦接到网络190而未在图1中示出的任何其他本地或远程设备的无线或有线通信。示出网络190作为图1中的单个网络,但是只要至少网络的一部分可以便利发送器和接收器之间的通信,网络190也可以是连续的或不连续的网络而不脱离本公开的范围,网络190可以是企业或安全网络的全部或一部分,而在另一实例中,网络190的至少一部分可以表示到互联网的连接。在有些情况下,网络190的一部分可以是虚拟专用网络(VPN),诸如,例如,ERP服务器110和MBAPP服务器140之间的连接。此外,网络190的全部或一部分可以包括有线链路或无线链路。示例无线链路可以包括802.lla/b/g/n、802.20、\\1\1八\@,15|11过00出. 和/或任何其他合适的无线链路。换句话说,网络190包含可操作以便利示出的环境内部和外部的各种计算组件之间的通信的任何内部或外部网络、网络、子网络、或其组合。网络190可以在网络地址之间传递例如互联网协议(IP)包、帧中继帧、异步传输模式(ATM)信元、语音、视频、数据和其它合适的信息。网络190还可以包括一个或多个局域网(LAN)、射频接入网络(RAN)、城域网(MAN)、广域网(WAN)、互联网的全部或一部分、和/或在一个或多个位置处的一个或多个任何其他通信系统或。在示出的示例环境100中,MBAPP服务器140包括处理器115b、数据库130b、接口135b、一个或多个模板145、移动应用创建应用155和一个或多个移动应用解释器160b。在一些实现中,包括在MBAPP服务器中的软件和硬件组件(例如,处理器115b、数据库130b和接口 135b)可以具有性质上类似或不同于包括在ERP服务器110中的各自的对等件的那样的功能。MBAPP服务器140可以是由ERP供应商提供的托管站点,其可以允许ERP顾客、供应商或管理员150创建移动应用并向他们的最终用户和/或顾客(例如,移动设备170)发布它们。可以放置MBAPP服务器140以使得ERP顾客(或管理员150)可以使用移动应用创建应用155来创建自定义移动应用。用于创建自定义移动应用的示例操作可以包括以下中的一个或多个:(I)选择用于包括在自定义移动应用中的模板145(例如,RSS供给(feed)模板、查询结果模板、等等);(2)基于网络服务120和/或OData服务125将存储在ERP服务器110的数据库130a中的数据映射到模板145 ;以及(3)向移动应用解释器160b发布模板145作为移动应用。MBAPP服务器140可以充当移动应用最终用户(例如,移动设备170)和管理员150或等同地,ERP软件顾客之间的接口。最终用户可以将移动应用下载到移动设备170(例如,iPhone或Android 电话)并且本地存储它为数据库130c中的移动应用160c。最终用户还可以使用移动设备170以访问存储在ERP服务器110中的、由管理员150发布作为移动应用160c的ERP数据。管理员150可以是便利或管理移动应用发布处理的人或电子设备。管理员150可以是可以基于模板145使用移动应用创建应用155以发布移动应用的ERP顾客、ERP供应商或第三方软件开发者的管理员。管理员150可以当创建移动应用160c时选择决定移动应用160c的行为的模板的集合。管理员150还可以负责将模板145映射到存储在ERP系统110的数据库130a中的数据集合,以使得相应的数据集合可以用来填充模板以便发布移动应用160c。MBAPP服务器140包括一个或多个模板145。模板145可以按照可扩展标记语言(XML)格式来提供,移动应用解释器160b可以理解该格式并使用以利用来自ERP系统110的数据内容来填充应用特定用户接口。一个或多个模板可以由管理员150使用以发布信息到移动应用160c上。示例模板可以包括具有从ERP网络服务120和/或ERP应用映射的字段的超文本标记语言(HTML)页面、可以由网络服务基于出现在ERP系统110中的事件填充的通知/提醒页面、以及可以允许基于来自移动设备170的输入来定义不同的查询的查询结果页面,该查询在ERP系统110上运行映射的网络服务查询。如上所述的示例模板可以包括一个或多个软件应用的静态内容。在一些实现中,可以由管理员150基于包括在HTML模板145中的静态内容、基于将网络服务120或OData服务125映射到由模板145提供的服务而利用从ERP系统包括的动态内容的一些部分来创
建应用。使用包括具有从ERP网络服务映射的字段的HTML页面的模板的示例场景被如下描述:ABC公司(Inc.XABC)是提供它的新推出的产品“NewVenn”的最近更新的销售图的公司。“NewVenn”是可以由ABC的伙伴网(partner network)通过附件几乎每隔一天改进的产品。ABC想要推动它的现有的顾客购买“NewVenn”并且当它们由ABC的供货商/伙伴添加时讨论它的特征和附件。在ABC中的管理员可以选择合适的模板、映射字段并且创建移动应用并在MBAPP服务器中发布它。产品信息页面可以从HTML页面模板中建立以发布关于“NewVenn”的静态信息,并且稍后映射来自ERP数据库的动态内容用于销售图和特征添加。ABC的最终用户可以基于移动电话OS从合适的应用市场下载由ERP供应商发布的标准移动应用,并且稍后作为ABC的顾客将应用注册到MBAPP服务器。当最终用户访问移动应用时,服务将在它们启动移动应用时联系MBAPP服务器。MBAPP服务器可以稍后从ABC的ERP拾取数据并且将内容推送到移动应用上。最终用户可以从移动应用直接订购“NewVenn”或它的附件。通知或提醒模板可以与发生在ERP系统中的一些事件,或正在显著地大批使用的公司的生产方中的一些组件关联。通知或提醒模板可以在ERP系统中标识并且当事件发生时发布或发送给移动设备170。在此情况下,ERP数据被从ERP数据后端(例如,ERP服务器110)推送到移动设备170。使用包括基于出现在ERP系统中的事件由网络服务填充的通知/提醒页面的模板的示例场景如下描述为:DEF公司(DEF)当某一产品旺销时,以及当需要超过正常水平的供应时,向它的供货方提供更新。例如,DEF的产品中的一个可以是需要由MMQ公司(MMQ)供应的链轮的脚踏车。MMQ平均在每月的15号向DEF供应1000个链轮。当ABC的脚踏车旺销并且生产在100%之上进行时,可能需要提醒MMQ在需求方面增加的可能。DEF处的管理员可以选择通知/提醒模板、映射字段并且创建移动应用,以及在MBAPP服务器中发布该移动应用。一旦链轮从库存耗减超过某一级别,利用来自ERP的数据填充移动应用中的通知/提醒组合件(tab)。诸如MMQ的DEF的供应商可以基于移动电话OS从合适的应用市场下载由ERP供应商发布的标准移动应用,并且稍后将作为DEF的顾客注册到MBAPP服务器。基于DEF的ERP服务器中的事件,如果存在超过平均的库存耗减,则向最终用户的移动应用提醒这个信息。当从移动设备170发送查询以求获得来自ERP系统110的信息/结果时可以使用查询结果页面模板。在此情况下,由移动设备170从ERP数据后端拉取(pull)数据。可以如下描述使用包括查询结果页面的模板的示例场景:DEF可以通过移动应用向它的供应商提供即时查询响应服务,由此供应商可以检查在它提供给DEF的组件的存货水平方面的变化。移动应用可以具有这样的查询:允许MMQ选择它供应的组件、检查它的当前存货水平并且将它与先前年度和先前月份的相同时段期间的存货水平进行比较。在示出的示例系统环境100中,移动设备170包括处理器115c、数据库130c、接口 135c、一个或多个移动应用160c、指示器175和可以呈现在显示器上的图形用户界面(⑶I) 180。在一些实现中,包括在移动设备170中的软件和硬件组件(例如,处理器115c、数据库130c和接口 135c)可以具有性质上类似于或不同于包括在ERP服务器110和/或MBAPP服务器140中的各自的对等件的那样的功能。通常,移动设备170可以包括移动电话、智能机和平板计算机等。显示器175可以是用于在移动设备17f0上向最终用户(未示出)呈现信息的任何输出硬件。在一些实现中,信息可以通过⑶1180呈现在显示器上。⑶1180可操作以与至少一个移动应用160c相接口以用于任何合适的目的。通常,通过⑶1180,向最终用户提供对由系统提供的或在系统之内传递的数据的有效的和用户友好的呈现。GUI180可以表示任何图形用户界面,包括但是不限于,在环境100中处理信息并且向用户有效地呈现信息结果的网络浏览器、触摸屏或命令行界面(CLI)。通常,GUI180可以包括一些或全部与移动应用160c关联的多个用户界面单元,诸如可由最终用户操作的交互字段、下拉列表和按钮。这些以及其它用户界面单元可以与应用,以及在服务器110、140中运行的其他软件应用的功能相关或表示应用的功能。移动设备170可以通过网络190访问MBAPP服务器140。当正在由移动设备170访问时,MBAPP服务器140可以首先相对于关联的ERP客户系统用户(例如,管理员150)验证移动设备170。MBAPP服务器140可以从ERP系统110请求用于为验证的最终用户发布的XML模板的数据。MBAPP服务器140还可以向移动设备170传送从ERP系统110接收的数据。在移动应用160c被配置以供提醒的情况下,MBAPP服务器140可以基于在ERP系统110后端触发的事件向移动设备170上的移动应用160c传送数据。虽然图1被描述为包含多个元件或与多个元件关联,但并不是图1的环境100之内示出的全部元件都可以在本公开的每个可替换实现中利用。另外,此处描述的一个或多个元件可以定位在环境100外部,而在其他实例中,某些元件可以包括在一个或多个其它描述的元件以及在例示的实现中未描述的其他元件之内、或作为一个或多个其它描述的元件以及在例示的实现中未描述的其他元件的部分。此外,在图1中示出的某些元件可以与其他组件组合,以及用于除此处描述的那些目的之外可替换或附加的目的。图2是示出用于基于MBAPP发布移动应用的示例过程流200的框图。通过诸如关于图1描述的管理员150和MBAPP服务器140的管理员210和MBAPP服务器240来执行示例处理200。管理员210可以是ERP顾客管理员或商业处理管理员。在215中,管理员210在MBAPP服务器中注册ERP系统,以使得存储在MBAPP服务器240中的模板可以与存储在ERP系统中的数据集合关联。可以通过网络服务和/或OData服务,以及普通ERP应用来管理该关联。因此,MBAPP服务器240可以知道在哪里获取动态内容来填充模板以便发布移动应用。当在MBAPP服务器240中注册ERP系统时,在245中,在MBAPP服务器240处创建ERP系统注册。在220,管理员210可以启动应用创建。在222,MBAPP服务器240可以向管理员210供应标准模板信息。MBAPP服务器240可以具有管理员可以使用的标准模板的集合。可以通过软件伙伴(例如,SAP)或他们的伙伴或信赖的第三方软件供应商来创建和/或发布标准模板。在225,管理员210可以基于由MBAPP服务器240供应的标准模板信息来选择可以用来发布和显示用于移动应用的信息的发布和显示用于移动应用的信息的模板。在230,基于模板的类型,管理员210可以选择由MBAPP服务器240供应的模板中的一个并且将存储在ERP系统中的动态内容映射到模板的相应字段或事件。在235,利用管理员210选择的模板发布移动应用/文件。发布的移动应用可以存储在MBAPP服务器240的数据库中。发布的应用/文件可以包括模板信息、静态内容、动态内容和用于固定动态内容的系统连接信息。在一些实现中,MBAPP服务器240可以具有逻辑,当通过移动应用解释器(诸如图1中的元件160b)发布应用时,通过该逻辑以标准形式示出与模板关联的信息。发布的应用可以是可以消费模板的标准应用。图3是示出用于使用模板在移动设备上发布移动应用的示例过程流300的框图。可以连同关于图2描述的过程流200 —起执行示例过程流300。通过诸如关于图1描述的ERP系统110、MBAP服务器140和移动设备170之类的ERP系统310、MBAPP服务器320和移动设备350来执行示例处理300。移动设备350可以由移动用户(或最终用户)使用。在355,移动用户可以使用移动设备350以相对于ERP用户进行注册。移动用户可以注册为ERP系统的ERP用户。注册请求可以发送给MBAPP服务器320。基于从移动设备350接收对于注册的请求,在325,MBAPP服务器320可以创建移动用户注册。在注册之后,在360,移动设备350可以下载由ERP顾客(诸如在235)发布的注册的移动应用并且开始使用该移动应用。在365,相对于MBAPP用户映射ERP用户的信息。MBAPP用户可以是ERP客户/供应商/管理员。通过相对于MBAPP用户映射ERP用户,作为ERP用户的移动用户可以具有MBAPP系统320中的用户名和密码。在370,移动用户可以使用用户名和密码来登录到MBAPP系统320。用户名和密码将进一步映射到MBAPP用户的ERP系统上。因而,当移动用户登录、并且试图拉取信息时,包括在模板中的静态内容可以容易地来自于MBAPP服务器320。然而,为了获得动态内容,可以在ERP顾客的系统(S卩,MBAPP服务器320)处运行网络服务。因此,在330验证移动用户。这个用户将是ERP系统中的最终用户。在335中,通过MBAPP服务器320请求用于移动用户的应用数据。在375,利用选择的模板发布移动应用。基于接收到对应用数据的请求,在315,基于在图2中描述的服务之间的映射获得用于移动设备的数据。在340,基于从ERP系统310中获得的数据来填充XML模板的字段。在380,以移动应用的形式在移动设备350上显示和/或发布模板(或多个模板)的数据。在一些实现中,移动应用可以是可以消费各种模板的统一网络应用。因而,移动用户可以将一个统一应用下载到移动设备350,并且使用应用以执行各种功能和/或接收由ERP顾客/供应商提供的服务。不同的ERP顾客/供应商可以执行不同的验证信息,并且移动用户可以执行的功能或移动用户可以接收的服务可以取决于来自ERP顾客/供应商的它的授权。使用一个统一应用还可以简化来自不同的ERP顾客/供应商的不同的应用的软件更新。代替更新各种应用,可以执行统一应用的一个更新。图4是示出用于设立通知/提醒模板的示例过程400的流程图。在一些实现中,设立通知/提醒模板可以允许当在ERP后端(例如,ERP服务器)中发生事件或改变时允许通知/提醒被推送到移动设备。在410,在ERP后端系统中运行标准事务。在420,在ERP后端改变文档或业务对象,并且在430触发业务对象事件。文档对象改变可以是数据库表的改变,其可以通过改变记录在ERP系统中捕获。文档对象的改变可以进一步链接到业务对象储存库对象事件。可以通过文档对象的改变或者当改变已经到达某一级别时触发对象事件。此外,可以对于文档对象的改变来创建基于应用的成组。在440,触发的对象事件可以基于对应用通知成组的移动应用用户的订制来填充通知/提醒收件箱(inbox)。特定商业逻辑可以存在于对象事件中,其可以触发来自ERP系统的数据流以通知/提醒移动用户。数据流可以是推送到移动用户的通知收件箱中的RSS供给。在450,可以从网络服务映射来自ERP后端的数据以用于移动应用消费。在一些实现中,网络服务可以发布来自通知收件箱的信息以用于外部访问。映射来自网络服务的数据用于移动应用消费的处理关于图2被描述。图5是示出用于发布移动应用的示例过程500的流程图。在510,服务器(例如,MBAPP服务器)对于一个或多个移动设备实例化应用。应用可以提供由一个或多个移动设备请求的服务或执行由一个或多个移动设备请求的功能。在520,服务器将一个或多个模板与实例化的应用关联。一个或多个模板可以用来便利实例化的应用的发布。一个或多个模板的每一个可配置以向应用提供功能。在530,服务器将来自后端系统的数据映射到关联的一个或多个模板的每一个。映射的数据可以是用于填充一个或多个模板的字段的动态内容。后端系统可以是ERP系统。在540,服务器向一个或多个移动设备发布应用。虽然本说明书包含许多特定实现细节,但是这些不应该解释为限制可以主张的任何权利的范围上的限制,而是解释为特定于具体实现的特征。在分开的实现的背景下在此说明书中描述的某些特征也可以在单个实现中被组合实现。反之,在单个实现的背景下描述的各种特征也可以被分开实现在多个实现中或在任何合适的次组合中。此外,尽管特征可以如上描述为在某些组合中动作并且甚至最初这样要求,但是来自于要求的组合的一个或多个特征在一些情况下可以从组合中删去,并且要求的组合可以指向次组合或次组合的变化。类似地,尽管在附图中以特定的次序描述操作,但是这不应该被理解为要求以所示的特定次序或以连续次序执行这样的操作或执行所有所示的操作以实现期望的结果。在某些环境中,多任务和并行处理可以是有益的。此外,在上面描述的实现中的多个系统部件的分离不应该被理解为在全部实现中需要这种分离,而是应当理解描述的组件和系统可以通常被一起集成在单个产品中或封装在多个产品中。在本公开中,“每个”是指成组的多个项目或操作的每一个,并且可以包括组中的项目或操作的子集和/或组中的全部项目或操作。在本公开中,术语“基于”指示项目或运算至少部分地基于一个或多个其他项目或运算并且可以排他地,部分地、主要地、次要地,直接或间接地基于一个或多个其他项目或运算。已经描述了本公开的大量实现。然而,应当理解,在不脱离本公开的精神和范围的情况下可以做出各种修改。因此,其它的实施方式也在以下权利要求书的范围之内。
权利要求
1.一种用于发布移动应用的由一个或多个处理器执行的计算机实现的方法,所述方法包括: 对于一个或多个移动设备实例化应用; 将一个或多个模板与实例化的应用关联,所述一个或多个模板的每一个可配置以向所述应用提供功能; 将来自后端系统的数据映射到所述关联的一个或多个模板的每一个;以及 向所述一个或多个移动设备发布该应用。
2.如权利要求1所述的方法,还包括: 验证一个或多个移动设备, 当所述一个或多个移动设备被验证时请求要向所述一个或多个移动设备发布的数据,当所述一个或多个移动设备被验证时在所述一个或多个移动设备的所述应用上发布所请求的数据,以及 当所述应用被配置以供提醒以及所述一个或多个移动设备被验证时,基于在后端系统中触发的事件向所述一个或多个移动设备的应用传送数据。
3.如权利要求1所述的方法,其中所述一个或多个模板包括定义用于所述应用的可视格式的信息。
4.如权利要求1所述的方法,其中所述一个或多个模板包括以下中的至少一个: 具有来自系统网络服务的映射字段的超文本标记语言(HTML)页面, 基于在后端系统中触发的事件由网络服务填充的通知页面,以及 能够运行网络服务或OData服务的查询响应页面。
5.如权利要求1所述的方法,其中从移动业务应用发布平台(MBAPP)系统获取所述一个或多个模板。
6.如权利要求1所述的方法,其中所述一个或多个模板的一部分包括预定义的功能的集合以及定义与至少一个操作关联的用户接口设计的信息。
7.如权利要求所述的方法,还包括利用从后端系统映射的数据填充所述一个或多个模板。
8.如权利要求1所述的方法,其中所述后端系统是企业资源计划(ERP)系统。
9.一种用于发布移动应用的由一个或多个处理器执行的计算机实现的方法,所述方法包括: 从应用的实例接收请求; 验证与所述应用关联的移动设备; 获取与验证的移动设备关联的后端数据; 执行与所述应用的实例关联的模板功能;以及 向所述应用的实例传送执行模板功能的结果。
10.如权利要求9所述的方法,其中从企业资源计划(ERP)系统获取所述后端数据。
11.一种用于测试自动化管理的计算机程序产品,所述计算机程序产品包括具体实现在有形的、非瞬时的介质上并且当运行时可操作以执行以下步骤的计算机可读指令: 对于一个或多个移动设备实例化应用; 将一个或多个模板与实例化的应用关联,所述一个或多个模板的每一个可配置以向所述应用提供功能; 将来自后端系统的数据映射到所述关联的一个或多个模板的每一个;以及 向所述一个或多个移动设备发布所述应用。
12.如权利要求11所述的计算机程序产品,当运行时还可操作所述计算机可读指令以执行以下步骤: 验证所述一个或多个移动设备, 当所述一个或多个移动设备被验证时请求要向所述一个或多个移动设备要发布的数据, 当所述一个或多个移动设备被验证时在所述一个或多个移动设备的所述应用上发布所请求的数据,以及 当所述应用被配置以供提醒以及所述一个或多个移动设备被验证时,基于在后端系统中触发的事件向所述一个或多个移动设备的所述应用传送数据。
13.如权利要求11所述的计算机程序产品,其中所述一个或多个模板包括定义用于所述应用的可视格式的信息。
14.如权利要求11所述的计算机程序产品,其中所述一个或多个模板包括以下中的至少一个: 具有来自系统网络服务的映射字段的超文本标记语言(HTML)页面, 基于在后端系统中触发的事件由网络服务填充的通知页面,以及 可以运行网络服务或OData服务的查询响应页面。
15.如权利要求11所述的计算机程序产品,其中从移动业务应用发布平台(MBAPP)系统获取所述一个或多个模板。
16.如权利要求11所述的计算机程序产品,其中所述一个或多个模板的一部分包括预定义的功能的集合以及定义与至少一个操作关联的用户接口设计的信息。
17.如权利要求11所述的计算机程序产品,还包括利用从后端系统映射的数据填充所述一个或多个模板。
18.如权利要求11所述的计算机程序产品,其中所述后端系统是企业资源计划(ERP)系统。
19.一种用于测试自动化管理的计算机程序产品,所述计算机程序产品包括具体实现在有形的、非瞬时的介质上并且当运行时可操作以执行以下步骤的计算机可读指令: 从应用的实例接收请求; 验证与所述应用关联的移动设备; 获取与验证的移动设备关联的后端数据; 执行与应用的实例关联的模板功能;以及 向应用的实例传送执行模板功能的结果。
20.如权利要求19所述的计算机程序产品,其中从企业资源计划(ERP)系统获取所述后端数据。
全文摘要
本发明描述与发布移动应用有关的系统、方法以及技术。描述的技术包括对于一个或多个移动设备实例化应用、将一个或多个模板与所述实例化的应用关联、其中可配置所述一个或多个模板的每一个以向应用提供功能、将来自后端系统的数据映射到关联的一个或多个模板的每一个、以及向所述一个或多个移动设备发布该应用。
文档编号G06F9/44GK103164216SQ20121054424
公开日2013年6月19日 申请日期2012年12月14日 优先权日2011年12月15日
发明者萨巴里什.T.S 申请人:Sap股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1