CN109814861A - 为终端用户提供能力的开放平台 - Google Patents
为终端用户提供能力的开放平台 Download PDFInfo
- Publication number
- CN109814861A CN109814861A CN201711163662.0A CN201711163662A CN109814861A CN 109814861 A CN109814861 A CN 109814861A CN 201711163662 A CN201711163662 A CN 201711163662A CN 109814861 A CN109814861 A CN 109814861A
- Authority
- CN
- China
- Prior art keywords
- application program
- resource
- entity
- function
- ability
- 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.)
- Pending
Links
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
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了为终端用户提供能力的开放平台。根据一个实施例的方法包括:导入与实体相关联的多个资源,从所述实体接收针对执行预定功能的应用程序的请求,利用所述请求创建功能定义,从所述与实体相关联的多个资源中确定一个或更多个必要资源以用于实现所述功能定义,利用所述一个或更多个必要资源构建执行所述预定功能的应用程序,以及在所述实体的环境中实现所述应用程序。
Description
技术领域
本发明涉及应用程序开发,并且更具体地,涉及开发定制的软件即服务(SaaS)的应用程序。
背景技术
软件产品越来越多的被作为服务发布。例如,在SaaS平台上发布了许多生产力软件和数据分析软件的实例。然而,具有不同背景、环境和需求的客户对单一版本的软件的反应可能不同。由于用户可能有许多不同的需求,单一版本的软件难以满足许多不同用户的需要。
因此,需要能快速开发软件以适应各种不同用户的需求。
发明内容
根据一个实施例的体现在有形计算机可读介质上的计算机程序包括:用于导入与实体相关联的多个资源的计算机代码,用于从所述实体接收针对执行预定功能的应用程序的请求的计算机代码,用于利用所述请求创建功能定义的计算机代码,用于从与所述实体相关联的所述多个资源中确定用于实现所述功能定义的一个或更多个必要资源的计算机代码,用于利用所述一个或更多个必要资源构建执行所述预定功能的所述应用程序的计算机代码,以及用于在所述实体的环境中实现所述应用程序的计算机代码。
根据另一个实施例,一种方法包括:导入与实体相关联的多个资源,从所述实体接收针对执行预定功能的应用程序的请求,利用所述请求创建功能定义,从与所述实体相关联的所述多个资源中确定用于实现所述功能定义的一个或更多个必要资源,利用所述一个或更多个必要资源构建执行所述预定功能的所述应用程序,以及在所述实体的环境中实现所述应用程序。
根据另一个实施例,一种系统包括:处理器,所述处理器用于导入与实体相关联的多个资源,从所述实体接收针对执行预定功能的应用程序的请求,利用所述请求创建功能定义,从与所述实体相关联的所述多个资源中确定用于实现所述功能定义的一个或更多个必要资源,利用所述一个或更多个必要资源构建执行所述预定功能的所述应用程序,以及在所述实体的环境中实现所述应用程序。
附图说明
图1示出了根据一个可能的实施例的网络构架;
图2示出了根据一个实施例的示例性系统;
图3示出了根据一个实施例的用于为实体动态构建应用程序的方法;
图4示出了根据本发明的一个实施例的能力服务开发平台的示例性构架;
图5示出了根据一个实施例的用于将实体的一个或更多个资源添加到开发平台的方法;
图6示出了根据一个实施例的用于更新存储在开发平台内的资源的方法;
图7示出了根据一个实施例的用于移除存储在开发平台内的资源的方法;
图8示出了根据一个实施例的用于检索存储在开发平台内的资源的方法;
图9示出了根据一个实施例的用于修改存储在开发平台内的能力定义的方法;
图10示出了根据一个实施例的用于利用所存储的能力定义开发应用程序的方法;
图11示出了根据一个实施例的用于在开发平台内配置资源的示例性流程图;
图12示出了根据一个实施例的利用能力服务开发平台创建的示例性应用程序系统。
具体实施方式
下面的描述是用于说明本发明的基本原理的目的,而并非意图限定本文所主张的发明构思。进一步,在本文所描述的特定的特征可以用于与其他在不同的可能的组合和排列中所描述的特征相结合。
除非本文另有明确规定,否则所有术语将被给予其最广泛的解释,包括本说明书所暗示的含义以及本领域技术人员所理解的和/或在词典、论文等中所定义的含义。
还须注意的是,如在说明书和所附权利要求书中所使用的,除非另有说明,单数形式“一(a)”,“一个(an)”和“该(the)”包括复数指示。
图1示出了根据一个可能的实施例的网络构架100。如图所示,提供至少一个网络102。在本网络架构100的背景下,网络102可以采取任何形式,包括但不限于电信网络、局域网(Local Area Network,LAN)、无线网络、如因特网的广域网(Wide Area Network,WAN)、对等网络、电缆网络等。虽然仅示出了一个网络,但是应当理解,可以提供两个或更多个相似或不同的网络102。
耦合至网络102的是多个设备。例如,服务器计算机104和终端用户计算机106可以耦合至网络102以用于通信目的。这样的终端用户计算机106可以包括桌面计算机、膝上计算机、和/或其他任何类型的逻辑。然而,仍然可以将各种其它设备耦合到网络102,包括移动设备108(例如,平板电脑、便携式游戏设备等)、移动电话设备110、游戏控制台112(例如,专用控制台、能够玩游戏的媒体设备等)等。
图2示出了根据一个实施例的示例性系统200。作为选择,系统200可以在图1中的网络构架100的任何设备的背景中实现。当然,系统200可以在任何期望的环境中实现。
如图所示,提供了系统200,系统200包括连接至通信总线202的至少一个中央处理器201。系统200还包括主存储器204(如,随机存取存储器(Random Access Memory,RAM)等)。系统200还包括图形处理器206和显示器208。
系统200可以还包括辅助存储器210。辅助存储器210包括,例如代表USB驱动器、磁带驱动器、光盘驱动器等的硬盘驱动器和/或可移动存储驱动器。可移动存储驱动器以众所周知的方式从可移动存储单元中读取或写入至可移动存储单元。
计算机程序,或计算机控制逻辑算法,可以被存储在辅助存储器210中,以及在执行期间被加载至主存储器204中。当执行这些计算机程序时,使得系统200执行各种功能(如下面所提出的)。一个或更多个计算机程序可以被体现在有形的计算机可读介质中。有形的计算机可读介质的示例包括但不限于,存储器204、存储器210、易失性或非易失性存储器等。有形的计算机可读介质的其他示例包括但不限于便携式存储介质,如USB驱动、磁盘、盒式磁带、非易失性随机存取存储器等。有形的计算机可读介质还可以是非暂性时的。
图3示出了根据一个实施例的用于为实体动态构建应用程序的方法。作为选择,方法300可以在图1-2和图4的细节的背景下实施。当然,无论如何,方法300可以在任何期望的环境中实施。进一步,上述定义可以同样应用于下面的描述。
如在操作302中所示,导入与实体相关联的多个资源。在一个实施例中,实体可以包括个人、商业等。在另一个实施例中,导入可以包括识别和检索可用于实体的多个资源。在又一个实施例中,资源可以由实体所有,由实体租用,作为服务提供至实体以换取周期性许可证费用。
此外,在一个实施例中,资源可以包括硬件(如,计算/处理资源、监测硬件(如,天气监控硬件、交通监控硬件等)、通信硬件等)。在另一个实施例中,资源可以包括软件(如,安装在硬件中的一个或更多个操作系统或界面、由实体订阅的一个或更多个基于云的服务等)。在又一个实施例中,资源可以包括结构化数据(如,根据一个或更多个预定标准而过滤和/或组织的监控数据等)和/或非结构化数据(如,未被处理的原始监控数据等)。
进一步,在一个实施例中,资源可以包括音频数据(如,由监控硬件创建的或作为服务的一部分被接收的一个或更多个音频记录等)、视频数据(如,由监控硬件创建的或作为服务的一部分被接收的一个或更多个视频记录等)、和/或流数据。在另一个实施例中,资源可以包括应用程序系统(定制的和/或标准的,如映射应用程序、传感器监测和报告应用程序、GPS实现应用程序、数据/时间应用程序,等)、应用程序工具、和/或一个或更多个实体雇员的知识库(如精通预定义的软件等)。
再进一步,在一个实施例中,可以将资源导入至开发平台(如,开放构架、基于云的计算环境等)中。例如,可以将资源作为对象(例如,文件)保存在开发平台内。在另一示例中,可以与对象相关联地保存资源的一个或更多个特征。在又一个示例中,特征可以包括资源的名称、资源的所有权(如,相关联的实体是否拥有、租赁或许可资源等),所有权限制(如,资源的现有许可证的期间)、资源的描述、将从资源输出和/或输入至资源的数据、在资源中的数据的类型和/或结构等。
同样,在一个实施例中,可以在开发平台中更新资源一次。例如,可以改变资源的一个或更多个特征。在另一个实施例中,也可以在开发平台中删除资源一次。例如,当确定对于实现实体的功能定义来说资源是不必要的时,可以将资源删除。
此外,如在操作304中所示,从实体接收以执行预定功能的应用程序的请求。在一个实施例中,可以在开发平台上接收请求。在另一个实施例中,请求可以包括实体所期望的预定功能(如,一个或更多个所请求的能力)的描述。在又一个实施例中,应用程序可以包括软件即服务(SaaS)应用程序。
此外,在一个实施例中,功能可以包括实体所期望的一个或更多个能力。例如,请求功能可以包括:查看一个或更多个数据流(如,天气、时间、新闻、地图数据、特定于实体的数据流等)的能力、执行预定数据处理(如,处理和/或转换结构化或非结构化数据等)的能力、执行一个或更多个预定动作(如,发送邮件、发送文本消息等)的能力等。
进一步,如在操作306中所示,利用请求创建功能定义。在一个实施例中,可以在开发平台内创建功能定义。在另一个实施例中,创建功能定义可以包括创建对象(如,功能定义对象)。例如,创建功能定义可以包括将元数据添加至对象,该对象描述预定功能和/或在开发平台内存储元数据和对象。
同样,在一个实施例中,创建功能定义可以包括将请求与多个所存储的功能定义对象进行比较。例如,创建功能定义可以包括将预定功能与关联于所存储的功能定义对象的元数据进行比较。在另一个实施例中,可以选择包含至少预定数量的元数据的所存储的功能定义对象,该至少预定数量的元数据匹配所请求的应用程序的预定功能。该所存储的功能定义对象可以被复制和用作模板。
此外,如在操作308中所示,从与实体相关联的多个资源中确定用于实现功能定义的一个或更多个必要资源。在一个实施例中,所述确定可以包括将必要资源与功能定义相关联。例如,所述确定可以包括:添加描述必要资源对象的元数据、将必要资源对象链接至功能定义对象等。
进一步,在一个实施例中,所述确定可以包括分析功能定义以确定必要资源。可以手动或自动/动态执行该分析。在另一个实施例中,所述确定可以包括将功能定义与其他所存储的功能定义进行比较。例如,其他所存储的功能定义可以具有描述预定功能的关联元数据、以及指示用于实现该功能的必要资源的关联元数据。在另一个示例中,如果存在预定数量的匹配元数据元素,其描述当前功能定义与所存储的功能定义之间的预定功能匹配,则可以从所存储的功能定义中提取用于指示实现该功能的必要资源的一个或更多个元数据并将其保存在当前功能定义中。
更进一步,在一个实施例中,所述确定可以包括分析所有所存储的功能定义以确定预定功能与必要资源之间的关系。例如,可以分析描述预定功能的关联元数据以及用于实现该功能的必要资源。在另一示例中,分析的结果可以包括在预定功能和必要资源之间的关联。
同样,在一个实施例中,如果功能定义从先前存储的对象中复制,则功能定义可以包括来自先前存储的对象的元数据,该先前存储的对象指示用于实现先前存储的功能定义所必要的一个或更多个资源。这些元数据可以在当前功能定义内重复使用。
此外,在一个实施例中,与实体不相关联的附加资源可能被识别为是对实现功能定义所必要的。例如,附加资源可以包括与一个或更多个实体而不是与请求应用程序的实体相关联的资源。在另一个实施例中,可以确定附加资源是否可以由请求应用程序的实体使用。例如,由实体对资源的使用可以包括一个或更多个先决条件(如,一次性或循环许可费用的支付、协议的签署等)。在又一个实施例中,如果附加资源与多个实体相关联,则可以识别具有最少数量先决条件(如,最低成本等)的附加资源。
进一步,在一个实施例中,在将附加资源与功能定义相关联之前,附加资源可以呈现给实体以供批准。在另一个实施例中,如果满足了一个或更多个先决条件(如,附加资源的成本低于阈值成本等),则附加资源可以自动与功能定义相关联。
更进一步,如在操作310中所示,利用一个或更多个必要资源构建执行预定功能的应用程序。在一个实施例中,构建应用程序可以包括配置一个或更多个必要资源以在应用程序内使用。在另一个实施例中,构建应用程序可以包括向用户展示设计图形用户界面(Graphical User Interface,GUI),其包括为功能定义确定的一个或更多个必要资源的可视化。
同样,在一个实施例中,可视化可以包括对流数据、音频数据、视频数据等的可视化。在另一个实施例中,可视化可被拖放至应用程序的示例性显示器中。在又一个实施例中,可以调整可视化的配置。在再一个实施例中,可以关联于应用程序而接收和存储用户可视化选择、布置、和配置调整。
此外,在一个实施例中,构建应用程序可以包括确定用于分析和呈现一个或更多个必要资源的一个或更多个方法。例如,如果必要资源为数据(如,数据流、非结构化数据、结构化数据等),可以确定过程(新的或者先前存储的)以分析和呈现该数据。在另一个示例中,可以关联于应用程序而存储该过程。
进一步,在一个实施例中,构建应用程序可以包括确定在应用程序内访问一个或更多个必要资源的手段(如,经由应用程序GUI的选择框、应用程序GUI的下拉菜单等)。在另一个实施例中,可以关联于应用程序而存储访问必要资源的手段。
再进一步,如在操作312中所示,在实体的环境中实现应用程序。在一个实施例中,所述实现可以包括将应用程序部署到环境中。例如,所述环境可以包括实体的一个或更多个计算系统。在另一个实施例中,所述实现可以包括使应用程序经由软件即服务(SaaS)模型对实体的一个或更多个计算系统可用。
同样,在一个实施例中,所述实现可以包括确定应用程序的必要支持软件或在实体的环境中将被执行的初步动作。例如,必要支持软件可以包括需要安装在实体的计算系统上的附加软件(如,驱动程序、补丁、通信软件等),以充分利用应用程序来满足从应用程序请求的预定义功能。在另一个示例中,将要被执行的初始动作可以包括数据准备、数据清洗等。
此外,在一个实施例中,所述实现可以包括识别实体的计算系统是否包含必要支持软件和是否已经执行初始动作。例如,所述实现可以包括在实体的计算系统中自动安装必要支持软件。在一个实施例中,如果满足了一个或更多个预定标准(如,支持软件的成本少于预定量、预定软件的尺寸小于预定尺寸、预定软件已经通过一个或更多个预定安全检查等),则可以自动安装必要支持软件。在另一个实施例中,如果不由实体执行,实现可以包括执行初始动作。
进一步,在一个实施例中,所述实现可以包括识别一个或更多个个体(如,职员、雇员等)是否具有充足的知识库以利用应用程序。在另一个实施例中,如果确定一个或更多个个体不具有充足的知识库,可以向实体建议一个或更多个教育手段(如,在线或面对面(in-person)的教程或课程等)。
更进一步,在一个实施例中,应用程序和/或功能定义可以被存储在开发平台内。例如,可以将应用程序存储为与功能定义、关联的必要资源和那些资源的配置(所有这些可被存储为对象内的元数据)相关联的对象。在另一个示例中,应用程序和/或功能定义可以在未来重复使用,被包括在未来的功能/资源的关联分析中等。例如,应用程序和/或功能定义可以相应于来自另一实体的请求而被重复使用。
同样,在一个实施例中,可以从实体接收对应用程序的反馈。在另一个实施例中,反馈可以转换成用数字得分、加权得分等。在又一个实施例中,这一反馈和相关联的得分可以关联于应用程序(如,作为元数据)而存储,并可以在未来的分析期间使用以提出建议。例如,相对具有较低权重的应用程序的功能定义、关联的必要资源、和那些资源的配置中的一个或更多个,可以推荐具有更高权重的应用程序的功能定义、关联的必要资源、和那些资源的配置中的一个或更多个。
用这种方法,通过分析实体所需的应用程序功能并将其相关至该实体所有且可用的资源,可以很容易的为实体定制或部署软件。这一分析可以考虑先前的功能和资源相关,以便提高所得到的应用程序的效用。
下面将给出更多的关于各种可选构架和使用的说明信息,其中按照用户的期望,可以或可以不实现前述方法。应该强调指出,阐述以下信息是为了说明的目的,不应被解释为以任何方式限制。任何以下特征可以有选择地并入,其排除或不排除所描述的其它特征。
软件即服务(SaaS),是发布软件的流行方式。然而,确定客户真正需要哪一类型的服务是重要的。如果为不同的客户提供相同的服务,确定软件是否对他们所有人均有用是非常重要的。
因此,根据终端用户的需求和可用资源,发布能够向终端用户提供能力(如,预定功能)的软件是重要的。例如,在用户经由订阅得到生产力软件之后,他们可以获得处理文本文件、电子表格文件等的能力。然而,如果用户不具有诸如互联网连接接入之类的资源或不具有怎样使用生产力软件的知识,则这种软件的效用将会减弱。
可以实现聚焦于向用户提供能力的开放开发平台。开发平台可以被用于快速开发图形用户界面(GUI)应用程序。它可以支持从用户数据创建图表,在应用程序中使用控制模块等。开发平台可以管理客户具有的全部资源;它可以定义用户需要的能力;它可以开发具有拖放(drag-and-drop)的应用程序系统;它可以将应用程序部署到用户的环境中。随着用户对业务系统的了解,用户可以有能力解决他们的业务问题。创建的应用程序还可以被用作新的资源以及被放回开发平台。如果其他用户需要相似的能力,可以快速定制应用程序系统以向新用户授权能力。图4示出了能力服务开发平台的示例性构架400。
为客户提供了一种可以快速生成GUI应用程序的平台。这个平台使得能够根据用户数据生成图标,和将图标、文本、照片和视频整合在一起。它也可以重复使用我们为不同客户开发的商业系统。
随着对我们可视化平台的了解和对商业系统的了解,可以更新开发平台。这一平台是开放平台,其帮助用户获得新的能力。这一新平台聚焦于通过所创建的软件向客户提供新能力。开发平台可以包括开放接口,其中不同用户可以将他们的资源连接至开发平台。开发平台也可以支持对所有对客户有用的资源的管理。在客户通过传送他们的问题提供一个或更多个所需要的能力之后,开发平台可以识别提供这些能力所需要的资源。在此之后,开发平台可以被用于计划怎样使用资源以满足客户需要。在一个或更多个应用程序被创建以解决客户问题之后,它们被分派(dispatch)至客户环境。在应用程序的帮助下,客户可以具有解决他们问题的能力。从不同资源被识别并被存储在开发平台内开始到应用程序被分派至客户环境为止,焦点被维持在使客户具有解决他们问题的新能力上。
将资源添加至开发平台
图5示出了根据一个实施例的用于将实体的一个或更多个资源添加至开发平台的方法500。作为选择,方法500可以在图1-2和图4的细节的背景下实施。当然,无论如何,方法500可以在任何期望的环境中实施。进一步,前述的定义可以同样应用于下面的描述。
如在操作502中所示,识别资源。此外,在判决504中,确定是否存在资源的资源配置文件。
表1包括根据一个实施例的示例性资源配置文件。当然,需要注意的是表1中示出的资源配置文件的阐述仅仅为了说明的目的,因此不应被解释为任何形式的限制。
表1
如果在判决504中确定存在资源的资源配置文件,则在操作506中从资源配置文件中读取资源信息。如果在判决504中确定不存在资源的资源配置文件,则在操作508中从资源中交互式地获取资源信息。
此外,如在操作510中所示,将资源信息保存至在资源数据库。在一个实施例中,资源信息可以作为元数据被保存在与代表资源的对象相关联的开发平台的资源数据库中。
新资源开发平台可以管理包括但不限于硬件、软件、结构化数据、非结构化数据、音频、视频、流数据、应用程序系统、工具等。新类型资源也可以被添加至开发平台。例如,当新硬件或新工具可用时,可以将它们添加至开发平台。描述怎样使用新资源的信息可以从现存的文档中提取或通过分析提取并可以被存储在资源配置文件中。
更新开发平台内的资源
在将资源添加至开发平台之后,可以更新资源的名称和属性。图6示出了根据一个实施例的用于更新存储在开发平台内的资源的方法600。作为选择,方法600可以在图1-2和图4的细节的背景下实施。当然,无论如何,方法600可以在任何期望的环境下实施。进一步,前述的定义可以同样应用于下面的描述。
如在操作602中所示,从开发平台的资源数据库中检索资源列表。此外,如在操作604中所示,从资源列表选择资源。进一步,在判决606中,确定是否接收到更新资源名称的请求。如果在判决606中确定接收到更新资源名称的请求,则在操作608中,鉴于请求更新资源名称。
更进一步,如果在判决606中确定未接收到更新资源名称的请求,则在操作610中从资源数据库中检索资源的资源属性。同样,在操作612中,在编辑模式下编辑资源属性。此外,在操作614中,在资源数据库内采用编辑的资源属性更新资源。
从开发平台删除资源
当资源不被客户需要时,可以将它们从开发平台上移除。图7示出了根据一个实施例的用于移除存储在开发平台内的资源的方法700。作为选择,方法700可以在图1-2和图4的细节的背景下实施。当然,无论如何,方法700可以在任何期望的环境中实施。进一步,前述的定义可以同样应用于下面的描述。
如在操作702中所示,从开发平台的资源数据库中检索资源列表。此外,如在操作704中所示,从资源列表选择资源。进一步,如在操作706中所示,响应于请求,删除所选择的资源。进一步,如在操作708中所示,更新资源数据库以反映对所选择的资源的删除。
从开发平台上检索资源
当为客户建立应用系统时,可以从开发平台上检索对客户有用的资源。图8示出了根据一个实施例的用于检索存储在开发平台内的资源的方法800。作为选择,方法800可以在图1-2和图4的细节的背景下实施。当然,无论如何,方法800可以在任何期望的环境中实施。进一步,前述的定义可以同样应用于下面的描述。
如在操作802中所示,从开发平台的资源数据库中检索资源列表。此外,如在操作804中所示,从资源列表选择资源。进一步,如在操作806中所示,将过滤器应用于资源,或为资源指定一个或更多个参数。更进一步,如在操作808中所示,将资源返回至用户。
添加新的能力定义
当客户请求软件解决方案时,确定客户期望的能力类型。在开发平台内已经定义了能力定义(如,在过去已经向一个或更多个其他客户提供了相同的能力);或者在开发平台内定义了相似的能力定义。在开发平台内定义的一个或更多个已有的能力定义可以被重复使用或被增强以为客户创建新的能力定义,或者可以为客户开发新的能力定义。在提供新的能力定义之后,可以将新的能力定义添加至开发平台。
修改现有的能力定义
在将新的能力定义添加至开发平台之后,可以选择资源实现期望的能力。如果当前能力不能完全满足客户的需要,可以通过更新所需的资源来增强当前能力,以为客户提供期望的能力。
图9示出了根据一个实施例的用于修改存储在开发平台内的能力定义的方法900。作为选择,方法900可以在图1-2和图4的细节的背景下实施。当然,无论如何,方法900可以在任何期望的环境中实施。进一步,前述的定义可以同样应用于下面的描述。
如在操作902中所示,从开发平台的资源数据库中检索资源列表。此外,如在操作904中所示,从开发平台的能力定义数据库中读取能力定义。进一步,如在操作906中所示,更新用于实现在能力定义内期望的能力所需的资源。这将包括将描述一个或更多个资源的元数据添加至能力定义对象中,将一个或更多个资源对象链接至能力定义对象等。更进一步,如在操作908中所示,随着更新的能力定义更新能力定义数据库。
服务计划
在识别实现所需的能力所需的资源并将与所需的能力的定义相关联地存储后,可以使用资源建立应用程序以提供期望的能力。通过使用开发平台,客户可以经由GUI进行清晰的可视化。在一个实施例中,可以使用一个或更多个拖放操作将资源添加至应用程序或从应用程序移除资源。
图10示出了根据一个实施例的用于利用所存储的能力定义开发应用程序的方法1000。作为选择,方法1000可以在图1-2和图4的细节的背景中实施,当然,无论如何,方法1000可以在任何期望的环境中实施。进一步,前述的定义可以同样应用于下面的描述。
如在操作1002中所示,从开发平台的资源数据库中检索能力定义和实现文件。在一个实施例中,实现文件可以包括正在被开发的应用程序的描述。此外,如在操作1004中所示,识别与能力定义相关联的资源。
此外,如在操作1006中所示,使用拖放操作将一个或更多个所识别的资源添加至实现文件或从实现文件移除。进一步,如在操作1008中所示,在应用程序内配置所添加的资源。同样,如在操作1010中所示,将实现文件保存在开发平台内。
图11示出了用于在开发平台内配置资源的示例性流程图1100。作为选择,流程图1100可以在图1-2和图4的细节的背景中实施,当然,无论如何,流程图1100可以在任何期望的环境中实施。进一步,前述的定义可以同样应用于下面的描述。
服务分派
在开发完应用程序之后,可以将其分派至客户的环境中。可以对全部必要支持软件进行检查,如果在客户的环境中不存在,则进行安装。同时,可以将新的能力添加至开发平台内的能力数据库。当其他客户需要相似的能力时,可以快速开发提交该期望的能力的应用程序,并将其分派至他们的环境中。
图12示出了利用能力服务开发平台创建的示例性应用程序系统1200。系统1200包括地图资源1202、日期/时间1204和用户感兴趣接收的其他数据信息1206。应用程序系统1200还可以包括下拉式菜单1208,下拉式菜单1208包括用于开发应用程序的可视化功能。在一个实施例中,与能力定义相关联的所有资源可以在菜单内可用,且所有资源可以被拖放至工作区域并被配置。
能力仓库和能力管理
在开发平台内的能力仓库可以包含开发平台可提供的所有能力定义。仓库可以存储信息,所述信息关于哪些客户与哪些能力定义相关联,在每一能力定义内使用何种资源,在应用程序内资源如何被具体地实现以给客户提供期望的能力等。可以将能力定义添加、修改、删除和/或输出至仓库,或从仓库中输出。
能力应用程序和商业平台
一些资源可以仅仅在预定的客户的环境中是可用的。为了向客户完全授权能力,客户也可能需要改善的知识库,或在客户的环境内必须处理的某些工作。例如,在部署应用程序之前,可能需要对客户的系统内的数据进行数据清理工作。在另一个实施例中,应用程序的部署可以关联于(以及可以有条件地)与具有预定业务知识的一个或更多个用户。
将清楚的是,上述系统和/或方法的各种特征可以以任何方式组合,从上述呈现的描述中创建多个组合。
尽管以上已经描述了各种实施例,但是应当理解,他们仅仅通过示例的方式呈现,并非限制。因而,优选实施例的广度和范围不应受上述任何示例性实施例的限制,而应仅根据所附权利要求及其等同物来限定。
Claims (12)
1.一种方法,包括:
导入与实体相关联的多个资源;
从所述实体接收针对执行预定功能的应用程序的请求;
利用所述请求,创建功能定义;
从与所述实体相关联的所述多个资源中确定用于实现所述功能定义的一个或更多个必要资源;
利用所述一个或更多个必要资源,构建执行所述预定功能的所述应用程序;以及
在所述实体的环境中实现所述应用程序。
2.如权利要求1所述的方法,进一步包括:
将所述应用程序和所述功能定义存储在开发平台内;以及
响应于来自另一实体的请求,重复使用所述应用程序和所述功能定义。
3.如权利要求1所述的方法,其中与所述实体相关联的所述多个资源包括对所述实体可用的所有资源,以及所述导入包括识别和检索对所述实体可用的所有所述资源。
4.如权利要求1所述的方法,进一步包括:
从所述实体接收对所述应用程序的反馈;以及
以与所述应用程序相关联的方式存储所述反馈。
5.如权利要求1所述的方法,其中利用包括开放构架的开发平台构建所述应用程序。
6.如权利要求1所述的方法,进一步包括:
将所述资源保存为对象;
以与所述对象相关联的方式,将所述对象的一个或更多个特征保存为元数据;以及
更行或删除所述对象。
7.如权利要求1所述的方法,其中创建所述功能定义包括:
将所述预定功能与关联于所存储的功能定义对象的元数据进行比较;
选择包含至少预定数量的元数据的所存储的功能定义对象,所述至少预定数量的元数据匹配所请求的应用程序的预定功能;以及
复制所选择的所存储的功能定义对象以用作模板。
8.如权利要求1所述的方法,其中构建所述应用程序包括配置所述一个或更多个必要资源以在所述应用程序内使用。
9.如权利要求1所述的方法,其中实现所述应用程序包括确定所述应用程序的必要支持软件或在所述实体的所述环境中将被执行的初始动作。
10.一种计算机可读介质,其上存储有计算机程序,其中当所述计算机程序被执行时实现权利要求1至9中任一项所述的方法。
11.一种系统,包括:
处理器,所述处理器用于:
导入与实体相关联的多个资源;
从所述实体接收针对执行预定功能的应用程序的请求;
利用所述请求,创建功能定义;
从与所述实体相关联的所述多个资源中确定用于实现所述功能定义的一个或更多个必要资源;
利用所述一个或更多个必要资源,构建执行所述预定功能的所述应用程序;以及
在所述实体的环境中实现所述应用程序。
12.如权利要求11所述的系统,其中所述处理器经由总线耦合至存储器。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711163662.0A CN109814861A (zh) | 2017-11-21 | 2017-11-21 | 为终端用户提供能力的开放平台 |
US15/857,149 US10372427B2 (en) | 2017-11-21 | 2017-12-28 | Open platform for providing ability to end users |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711163662.0A CN109814861A (zh) | 2017-11-21 | 2017-11-21 | 为终端用户提供能力的开放平台 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109814861A true CN109814861A (zh) | 2019-05-28 |
Family
ID=66533028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711163662.0A Pending CN109814861A (zh) | 2017-11-21 | 2017-11-21 | 为终端用户提供能力的开放平台 |
Country Status (2)
Country | Link |
---|---|
US (1) | US10372427B2 (zh) |
CN (1) | CN109814861A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002071212A1 (en) * | 2001-03-06 | 2002-09-12 | Digital Interactive Broadband Services Limited | System for developing an interactive application |
CN103430150A (zh) * | 2010-11-22 | 2013-12-04 | 瑞典爱立信有限公司 | 在云计算系统中创建资源的技术 |
CN106233255A (zh) * | 2014-02-19 | 2016-12-14 | 斯诺弗雷克计算公司 | 资源供应系统及方法 |
CN106664321A (zh) * | 2014-08-08 | 2017-05-10 | 甲骨文国际公司 | 基于放置策略的计算资源分配 |
Family Cites Families (72)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6529909B1 (en) * | 1999-08-31 | 2003-03-04 | Accenture Llp | Method for translating an object attribute converter in an information services patterns environment |
US7353289B2 (en) * | 2000-11-06 | 2008-04-01 | Telecommunication Systems, Inc. | System for an open architecture development platform with centralized synchronization |
US7478385B2 (en) * | 2003-01-17 | 2009-01-13 | National Instruments Corporation | Installing software using programmatic component dependency analysis |
US9058177B2 (en) * | 2004-02-12 | 2015-06-16 | Raju Venkata Chiluvuri | Real software components for achieving real component-based design |
US7631291B2 (en) * | 2004-10-01 | 2009-12-08 | Microsoft Corporation | Declarative representation for an extensible workflow model |
US7788536B1 (en) * | 2004-12-21 | 2010-08-31 | Zenprise, Inc. | Automated detection of problems in software application deployments |
US7831956B2 (en) * | 2005-09-13 | 2010-11-09 | Microsoft Corporation | Using attributes to identify and filter pluggable functionality |
US8972872B2 (en) * | 2006-03-27 | 2015-03-03 | Fujitsu Limited | Building computing applications based upon metadata |
US8095911B2 (en) * | 2006-03-31 | 2012-01-10 | Sap Ag | Method and system for utilizing development components |
US8799854B2 (en) * | 2007-01-22 | 2014-08-05 | International Business Machines Corporation | Reusing software development assets |
US20080189240A1 (en) * | 2007-02-05 | 2008-08-07 | Mullins Ward R | System, method and software for creating or maintaining local or distributed mapping and transparent persistence of complex data objects and their data relationships |
US8082294B2 (en) * | 2007-06-27 | 2011-12-20 | Concept Solutions, Llc | Methods and systems for providing web applications |
US8250169B2 (en) * | 2007-09-24 | 2012-08-21 | Sap Ag | Business context data companion tool |
US8464206B2 (en) * | 2007-10-22 | 2013-06-11 | Open Text S.A. | Method and system for managing enterprise content |
US8312426B2 (en) * | 2008-01-07 | 2012-11-13 | International Business Machines Corporation | Method and system for simplified service composition in web environment |
US8589955B2 (en) * | 2008-02-12 | 2013-11-19 | Nuance Communications, Inc. | System and method for building applications, such as customized applications for mobile devices |
US9218166B2 (en) * | 2008-02-20 | 2015-12-22 | Embarcadero Technologies, Inc. | Development system with improved methodology for creation and reuse of software assets |
US8458658B2 (en) * | 2008-02-29 | 2013-06-04 | Red Hat, Inc. | Methods and systems for dynamically building a software appliance |
US8799319B2 (en) * | 2008-09-19 | 2014-08-05 | Oracle International Corporation | System and method for meta-data driven, semi-automated generation of web services based on existing applications |
US8312419B2 (en) * | 2008-10-30 | 2012-11-13 | Hewlett-Packard Development Company, L.P. | Automated lifecycle management of a computer implemented service |
US8645911B2 (en) * | 2009-04-20 | 2014-02-04 | Exigen Properties, Inc. | Systems, methods and machine readable mediums for defining and executing new commands in a spreadsheet software application |
US20100293536A1 (en) * | 2009-05-12 | 2010-11-18 | Microsoft Corporation | Enhanced product functionality based on user identification |
US20110023022A1 (en) * | 2009-07-24 | 2011-01-27 | Ensequence, Inc. | Method for application authoring employing an application template stored in a database |
US20110088011A1 (en) * | 2009-10-14 | 2011-04-14 | Vermeg Sarl | Automated Enterprise Software Development |
US8725839B2 (en) * | 2009-12-22 | 2014-05-13 | International Business Machines Corporation | Imposing pre-installation prerequisite checks on the install user to ensure a higher rate of installation success |
US8719776B2 (en) * | 2009-12-30 | 2014-05-06 | Foneclay, Inc. | System for creation and distribution of software applications usable on multiple mobile device platforms |
US8881128B2 (en) * | 2010-02-25 | 2014-11-04 | Blackberry Limited | Method and system for acquisition of an application for installation at a communication device |
US9772831B2 (en) * | 2010-04-26 | 2017-09-26 | Pivotal Software, Inc. | Droplet execution engine for dynamic server application deployment |
US8813065B2 (en) * | 2010-04-26 | 2014-08-19 | Vmware, Inc. | Microcloud platform delivery system |
US9448790B2 (en) * | 2010-04-26 | 2016-09-20 | Pivotal Software, Inc. | Rapid updating of cloud applications |
US9037722B2 (en) * | 2010-05-07 | 2015-05-19 | Salesforce.Com, Inc. | Resolving information in a multitenant database environment |
US9354939B2 (en) * | 2010-05-28 | 2016-05-31 | Red Hat, Inc. | Generating customized build options for cloud deployment matching usage profile against cloud infrastructure options |
CN103119557B (zh) * | 2010-09-17 | 2017-05-17 | 甲骨文国际公司 | 云计算环境中的企业应用的基于模式的构造和扩展 |
US8645905B2 (en) * | 2010-11-15 | 2014-02-04 | Sap Ag | Development artifact searching in an integrated development environment |
US8335801B2 (en) * | 2010-12-17 | 2012-12-18 | Fanhattan Llc | System and method for matching content between sources |
US9134964B2 (en) * | 2011-04-06 | 2015-09-15 | Media Direct, Inc. | Systems and methods for a specialized application development and deployment platform |
US9015710B2 (en) * | 2011-04-12 | 2015-04-21 | Pivotal Software, Inc. | Deployment system for multi-node applications |
US8863075B2 (en) * | 2011-08-10 | 2014-10-14 | Sap Ag | Automated support for distributed platform development |
US8776094B2 (en) * | 2011-08-11 | 2014-07-08 | Microsoft Corporation | Runtime system |
US9977814B2 (en) * | 2011-11-04 | 2018-05-22 | Salesforce.Com, Inc. | Custom metadata in loosely coupled triggers |
US9158520B2 (en) * | 2011-12-07 | 2015-10-13 | Yahoo! Inc. | Development of platform independent applications |
US9286040B2 (en) * | 2012-01-18 | 2016-03-15 | Mobilesmith, Inc. | Software builder |
US8850420B2 (en) * | 2012-03-22 | 2014-09-30 | Sap Ag | Dynamically updating on-demand runtime platforms executing business applications |
US9003406B1 (en) * | 2012-06-29 | 2015-04-07 | Emc Corporation | Environment-driven application deployment in a virtual infrastructure |
US8856727B2 (en) * | 2012-07-16 | 2014-10-07 | Sap Se | Generation framework for mapping of object models in a development environment |
US9262231B2 (en) * | 2012-08-07 | 2016-02-16 | Advanced Micro Devices, Inc. | System and method for modifying a hardware configuration of a cloud computing system |
US20140047413A1 (en) * | 2012-08-09 | 2014-02-13 | Modit, Inc. | Developing, Modifying, and Using Applications |
US8949789B2 (en) * | 2012-08-13 | 2015-02-03 | Sap Se | Adaptable business objects |
US9645807B2 (en) * | 2012-08-28 | 2017-05-09 | International Business Machines Corporation | Automated deployment of a configured system into a computing environment |
US9038024B2 (en) * | 2012-09-07 | 2015-05-19 | Sap Se | Development of process integration scenarios on mobile devices |
US9716634B2 (en) * | 2013-03-15 | 2017-07-25 | International Business Machines Corporation | Fulfillment of cloud service orders |
US20140280484A1 (en) * | 2013-03-15 | 2014-09-18 | Oliver Klemenz | Dynamic Service Extension Infrastructure For Cloud Platforms |
US9400647B2 (en) * | 2013-03-15 | 2016-07-26 | Sap Se | Application discovery and integration using semantic metamodels |
US9898263B2 (en) * | 2013-04-09 | 2018-02-20 | Level 3 Communications, Llc | System and method for resource-definition-oriented software generation and development |
US9426249B2 (en) * | 2013-08-05 | 2016-08-23 | Salesforce.Com, Inc. | Providing an improved web user interface framework for building web applications |
US20150095880A1 (en) * | 2013-09-27 | 2015-04-02 | Salesforce.Com, Inc. | Facilitating software development tools on mobile computing devices in an on-demand services environment |
KR101398027B1 (ko) * | 2013-12-03 | 2014-06-27 | 한국건설기술연구원 | 관점 정의 메타데이터를 이용한 시설물 유지보수 시스템 및 방법 |
US20150186132A1 (en) * | 2013-12-31 | 2015-07-02 | Wolters Kluwer United States Inc. | User interface framework and tools for rapid development of web applications |
WO2015108748A1 (en) * | 2014-01-17 | 2015-07-23 | Fair Isaac Corporation | Cloud-based decision management platform |
US10379819B2 (en) * | 2014-09-26 | 2019-08-13 | Oracle International Corporation | Generic editor layout using intrinsic persistence metadata |
US9851968B2 (en) * | 2014-09-26 | 2017-12-26 | Oracle International Corporation | High performant iOS template based application build system |
US9985953B2 (en) * | 2014-11-10 | 2018-05-29 | Amazon Technologies, Inc. | Desktop application fulfillment platform with multiple authentication mechanisms |
US10230571B2 (en) * | 2014-10-30 | 2019-03-12 | Equinix, Inc. | Microservice-based application development framework |
US20160188302A1 (en) * | 2014-12-30 | 2016-06-30 | Randy Fredrick | Automatic generation of metadata-based cross-platform mobile applications |
US9946529B2 (en) * | 2015-05-01 | 2018-04-17 | Samsung Electronics Co., Ltd. | Function-based dynamic application extension framework |
CA3128629A1 (en) * | 2015-06-05 | 2016-07-28 | C3.Ai, Inc. | Systems and methods for data processing and enterprise ai applications |
US9851953B2 (en) * | 2015-06-29 | 2017-12-26 | Oracle International Corporation | Cloud based editor for generation of interpreted artifacts for mobile runtime |
BR112018002034A2 (pt) * | 2015-07-30 | 2018-09-11 | Wix Com Ltd | sistemas de criação de website para geração de aplicativo (agwbs) e método para conversão de um website em um aplicativo que opera em um dispositivo móvel |
US10372421B2 (en) * | 2015-08-31 | 2019-08-06 | Salesforce.Com, Inc. | Platform provider architecture creation utilizing platform architecture type unit definitions |
US9864598B2 (en) * | 2015-09-18 | 2018-01-09 | ReactiveCore LLC | System and method for providing supplemental functionalities to a computer program |
US10025568B2 (en) * | 2016-11-11 | 2018-07-17 | Sap Se | Database object lifecycle management |
US10489139B2 (en) * | 2017-01-31 | 2019-11-26 | Salesforce.Com, Inc. | Additive packaging through smart wrapping of packages and customizations in an on-demand environment |
-
2017
- 2017-11-21 CN CN201711163662.0A patent/CN109814861A/zh active Pending
- 2017-12-28 US US15/857,149 patent/US10372427B2/en not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002071212A1 (en) * | 2001-03-06 | 2002-09-12 | Digital Interactive Broadband Services Limited | System for developing an interactive application |
CN103430150A (zh) * | 2010-11-22 | 2013-12-04 | 瑞典爱立信有限公司 | 在云计算系统中创建资源的技术 |
CN106233255A (zh) * | 2014-02-19 | 2016-12-14 | 斯诺弗雷克计算公司 | 资源供应系统及方法 |
CN106664321A (zh) * | 2014-08-08 | 2017-05-10 | 甲骨文国际公司 | 基于放置策略的计算资源分配 |
Also Published As
Publication number | Publication date |
---|---|
US10372427B2 (en) | 2019-08-06 |
US20190155584A1 (en) | 2019-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9576246B2 (en) | Predictive modeling and data analysis in a secure shared system | |
CN107066242A (zh) | 确定软件容器中软件的标识的方法和系统 | |
US10635999B2 (en) | Methods and systems for controlling a display screen with graphical objects for scheduling | |
JP2018165982A (ja) | バーチャルリアリティによる保守管理方法及びそのシステム | |
CN103140850B (zh) | 移动设备上的数据共享 | |
WO2021260981A1 (ja) | 情報処理装置及び情報処理方法 | |
DE102012220390A1 (de) | Verwenden des geografischen Ortes zum Ermitteln von Element- und Gebietsdaten zum Bereitstellen an eine Datenverarbeitungseinheit | |
CN110363485A (zh) | 智能社交活动创建方法及装置 | |
US11748662B2 (en) | Contextual modeling using application metadata | |
Vasilecas et al. | Analysis of using resources in business process modeling and simulation | |
KR101310420B1 (ko) | 사용자가 정의 가능한 업무 절차 기반 도시 계획 관리 시스템 및 이를 위한 기록매체 | |
CN109814861A (zh) | 为终端用户提供能力的开放平台 | |
Pradnyana et al. | Business process improvement design of complaints on technical information system problems using the business process improvement method | |
JP6316268B2 (ja) | 資産組替シミュレーションシステム | |
JP5064337B2 (ja) | ソフトウェア開発管理システム | |
CN106886432A (zh) | 一种变量参数条件触发方法及系统 | |
CN106993032A (zh) | 基于移动互联网应用的嵌入式精准沟通云服务平台 | |
KR101535580B1 (ko) | 디지털 미디어 제작 공정관리 시스템 및 그 방법 | |
Anwar et al. | Mobile-Based National University Online Library Application Design: Mobile-Based National University Online Library Application Design | |
KR102650391B1 (ko) | 저작권 불명 여부와 판단을 위한 조사기관 별 정보 검색 및 수집 자동화 방법 | |
US20220374842A1 (en) | Group Eligibility Criteria Builder | |
Kalkanis | Design and implementation of a Hotel Reservation Back-end application with customized Web Service support. | |
CN117291517A (zh) | 审批流程的构建方法及装置 | |
CN114444232A (zh) | 一种模型管理方法和装置 | |
Hwang et al. | Development of vr based authoring tool for smart factory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190528 |
|
WD01 | Invention patent application deemed withdrawn after publication |