基于业务对象元数据的前端-后端通信决策的制作方法

文档序号:6385498阅读:107来源:国知局
专利名称:基于业务对象元数据的前端-后端通信决策的制作方法
技术领域
本描述一般针对元数据模式,并且具体地,针对基于业务对象元数据的前端-后端通信决策。
背景技术
业务对象模型可以定义一个或多个对应的数据对象的结构和行为。例如,Ml模型可以定义用于特定类型的业务对象的特定结构(例如,分级节点和关联的字段或属性)和行为(例如,一个或多个启动的服务)。业务对象是如信息系统中的对象一样的现实世界实体。业务对象封装数据结构和施加于数据的功能或服务两者,同时向其他对象隐藏它们的全部复杂性。这种数据和功能/服务的封装通过允许某人利用相关实体进行编程而不必须知道全部实现细节来使修改程序组件变得容易。业务对象也允许重复使用现有的功能。

发明内容
在一个总体方面,提供计算机程序产品。该计算机程序产品有形地具体实现在计算机可读存储介质上并且包括可执行代码,当该可执行代码被运行时,被配置为使得至少一个数据处理装置进行以下操作:从在前端服务器上运行的运行时用户界面(UI)应用向客户应用(Client application)提供用户界面;通过运行时UI应用从在后端服务器上运行的业务应用接收包括与用户界面关联的元数据的业务对象;通过运行时UI应用从客户应用接收与业务交易关联的用户输入,该用户输入包括对于用户界面的第一字段的输入;通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定和向客户应用输出用户界面的更新的第二字段;以及如果在业务交易的完成之前需要通过业 务应用处理来确定和输出更新的第二字段,则触发运行时Π应用和业务应用之间的往返通信,以处理第一字段和确定更新的第二字段。在另一个总体方面,提供一种计算机实现的方法,其包括从在前端服务器上运行的运行时用户界面(UI)应用向客户应用提供用户界面;通过运行时π应用从在后端服务器上运行的业务应用接收包括与用户界面关联的元数据的业务对象;通过运行时Π应用从客户应用接收与业务交易关联的用户输入,该用户输入包括对于用户界面的第一字段的输入;通过运行时UI应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定和向客户应用输出用户界面的更新的第二字段;以及如果在完成业务交易之前需要通过业务应用处理来确定和输出更新的第二字段,则在完成业务交易之前触发运行时Π应用和业务应用之间的往返通信以处理第一字段和确定更新的第二字段。在另一个总体方面,一种装置包括:提供逻辑,被配置为从在前端服务器上运行的运行时用户界面(UI)应用向客户应用提供用户界面;接收逻辑,被配置为通过运行时Π应用从在后端服务器上运行的业务应用接收包括与用户界面关联的元数据的业务对象;所述接收逻辑还被配置为通过运行时Π应用从客户应用接收与业务交易关联的用户输入,该用户输入包括用于用户界面的第一字段的输入;确定逻辑,被配置为通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定和向客户应用输出用户界面的更新的第二字段;以及触发逻辑,被配置为如果在完成业务交易之前需要通过业务应用处理来确定和输出更新的第二字段,则触发运行时Π应用和业务应用之间的往返通信以在完成业务交易之前处理第一字段并确定更新的第二字段。本说明书中描述的主题可以实现为方法或系统,或者可以使用计算机程序产品实现该主题,该计算机程序产品有形地实现在诸如⑶-ROM、DVD-ROM、半导体存储器和硬盘之类的信息载体中。这种计算机程序产品可以使得数据处理装置运行此处描述的一个或多个操作。此外,此处描述的主题还可以实现为包括处理器和耦接到处理器的存储器的系统。该存储器可以编码使得处理器执行本说明书中描述的一个或多个方法动作的一个或多个程序。在附图和下面的描述中阐述一个或多个实施方式的细节。其它特征将由从描述和附图、以及从权利要求书中变得清楚。


图1是示出根据示例实现的系统的框图,在该系统中基于业务对象做出前端-后端通信决策。图2是根据示例实现的系统的框图。图3是示出根据示例实现的系统的操作的流程图。
具体实施例方式在下文中,将参照附图给出示例的详细描述。应当理解,可以对示例做出各种修改。具体地,一个示例的元素可以被组合并且用于其他示例以形成新示例。根据示例实现,支持状态(stateful)和无状态(stateless)通信或事务。在示例实现中,在无状态通信或事务中,在事务期间通常不执行对于事务的后端处理,而在状态通信或事务期间执行或可以执行后端处理。此外,可以在状态通信或事务期间执行前端-后端通信。一些应用可能需要状态通信或事务,而其他应用不必需要状态事务或通信。在此情况下,无状态通信可以是足够的。处理器、存储器和网络资源可以被保存,其中可以使用无状态通信或事务。在示例无状态通信或事务中,后端处理可能被延迟,而前端-后端通信可能被暂停直到事务结束之后。因此,根据示例实现,在前端服务器上运行的应用(例如,运行时Π应用)可以基于业务对象来确定前端-后端通信是否可以暂停直到完成事务之后。图1是示出根据示例实现的系统的框图,在该系统中基于业务对象做出前端-后端通信决策。系统110可以包括后端服务器112、前端服务器116和主机计算机120,其中前端服务器116经由一个或多个网络(例如,互联网、LAN(局域网)、和/或无线网络或其他网络)与主机计算机120和后端服务器112通信。后端服务器112可以包括用于处理数据的业务应用114。后端服务器112还包括用于存储数据模型的数据库(未示出)或其他数据结构,诸如Ml模型。数据模型可以定义一个或多个对应的数据对象的结构和行为。例如,Ml模型可以定义用于特定类型的业务对象的特定结构(例如,分级节点和关联的字段或属性)和行为(例如,一个或多个启动的服务、方法或动作)。在示例实现中,后端服务器112可以存储不同类型的Ml模型或业务对象。例如,可以由后端服务器112存储不同类型的业务对象,诸如发货单业务对象(例如,定义用于发货单实例的结构和行为)、顾客业务对象(定义用于顾客实例的结构和行为)以及购物车业务对象(定义用于购物车实例的结构和行为)。Ml模型的每个MO实例遵循相应的Ml模型的结构和行为。对于业务对象,业务对象的每个实例遵循由相应的业务对象定义的结构和行为。如图1所示,系统110还可以包括可以与后端服务器112和/或业务应用114通信的前端服务器116。前端服务器116可以包括可以与业务应用114通信的运行时用户界面(UI)应用118。运行时Π应用118还可以与一个或多个客户应用通信,诸如与在主机计算机120上运行的客户应用122通信。运行时Π应用118可以向在主机计算机120上运行的客户应用122提供用户界面。可以向客户应用122提供不同类型的用户界面。例如,运行时UI应用118可以通过线173向客户应用122提供购物车用户界面150以允许客户应用122的用户请求和购买各种产品。根据示例实现,在状态处理或状态业务交易中,在完成业务交易之前,通信通常可以发生在前端服务器的运行时Π应用和后端服务器上的业务应用之间以允许业务应用执行多个任务或处理并且向运行时Π应用提供回信息。通过业务应用进行的后端处理可以被执行以允许运行时Π应用基于后端处理对于用户界面的一个或多个字段提供对客户应用的更新,所述后端处理例如检查产品库存并且如果请求的项目没有库存则提供错误消息、计算并提供项目小计、或对于特定用户送货偏好和邮政编码提供计算的送货费用。业务应用114可以为运行时Π应用118或代表运行时Π应用118执行各种类型的数据处理,如示例,诸如验证和计算。例如,在从客户应用122收到用户输入之后并且在完成业务交易之前,运行时Π 应用118可以向业务应用114转发用户输入(例如,产品ID和将要购买的项目数量,用户送货偏好等等)。业务应用114然后可以通过确认(多个)标识产品选择的数量有存货或有库存来执行一致性验证,诸如产品验证。业务应用114可以存储或可以访问存储产品库存信息的数据库,该信息包括目前库存中的每个产品的数量。也可以执行其他类型的数据验证。运行时Π应用118还可以从业务应用114接收项目(具有特定产品ID)没有库存的错误消息,并且运行时Π应用118可以向客户应用122转发或在用户界面150的字段之内输出这种错误消息。业务应用114还可以执行用于运行时Π应用118的一个或多个计算,诸如,例如,计算送货费用(例如,基于用户送货偏好和用户地址或邮政编码)、对于每种产品的小计(例如,如数量X价格)、以及包括全部产品小计、送货费用以及税的总和的总购买金额。业务应用114然后可以向运行时Π应用118提供此信息(例如,对于每个产品ID确认库存数量,以及计算的送货费用、小计、税和总金额费用),并且运行时UI应用然后可以通过更新的用户界面150向客户应用提供这个信息。从而,例如,当运行时Π应用118需要向客户应用122提供反馈(例如,错误消息)或诸如更新的字段(例如,税、送货量、总金额)的其他信息时,通过业务应用114进行的后端处理可以是重要的,其中必须通过业务应用114确定或计算这种反馈或Π字段。然而,在业务交易期间提供前端服务器116和后端服务器112之间的一个或多个往返通信会消耗后端服务器112和前端服务器116上的大量的存储器和处理资源,并且会消耗大量的网络或通信资源。此外,一些类型的业务交易可能不需要通过业务应用114即时处理,或者可能不需要在完成业务交易之前向客户应用122提供即时反馈。在到客户应用122的业务应用处理或关联的反馈不需要在完成业务交易之前的情况下,可以延迟或推迟这种业务应用处理,并且前端-后端通信可以停止直到完成业务交易之后。因此,根据示例实现,当必要时,在完成业务交易之前,执行前端服务器116上的运行时Π应用118和后端服务器112上的业务应用114之间的前端-后端通信,而当这种前端-后端通信不需要在完成业务交易之前执行时,暂停这种前端-后端通信直到完成业务交易之后。根据示例实现,基于在相应于用户界面150的业务对象124中提供的节点和/或属性,运行时Π应用118可以确定是否需要通过业务应用114处理而在完成业务交易之前更新用户界面150的一个或多个字段。如果需要通过业务应用114处理以在完成业务交易之前更新用户界面的一个或多个字段,则可以触发(例如,通过运行时Π应用118)运行时Π应用118和业务应用114之间的往返通信以便业务应用114可以执行请求的处理并且运行时Π应用118然后可以向客户应用122输出用户界面150的一个或多个更新的字段。另一方面,如果在完成业务交易之前不需要通过业务应用114处理来更新用户界面之内的字段,则运行时Π应用118可以临时停止或暂停运行时Π应用118和业务应用114之间的通信以便节约资源。在此情况下,运行时UI应用118和业务应用114之间的通信可以在完成业务交易之后重新开始(例如,前端-后端通信可以在运行时UI应用118从客户应用122接收“提交”请求或其他请求以完成业务交易之后重新开始)。例如,在由运行时Π应用118检测到业务交易的完成之后,运行时Π应用118然后可以将经由用户界面从客户应用接收到的数据输入转发到业务应用114,以便订单(如从客户应用122向运行时Π应用118提交完成的购物 车用户界面150描述的)可以由业务应用114处理,以使得,例如,由用户购买的项目可以被送货给用户界面上列出的地址处的用户。根据示例实现,可以从在前端服务器116上运行的运行时用户界面(UI)应用118向客户应用122提供用户界面150。运行时UI应用118可以从在后端服务器112上运行的业务应用114接收包括与用户界面关联的元数据(例如,节点、和字段/属性)的业务对象124。运行时Π应用118可以从客户应用122接收与业务交易关联的用户输入,该用户输入包括用于用户界面的第一字段的输入。运行时Π应用118可以基于业务对象确定在完成业务交易之前是否需要通过业务应用114处理第一字段输入来确定和向客户应用122输出用户界面的更新的第二字段。如果在完成业务交易之前需要通过业务应用114处理来确定和输出更新的第二字段,则运行时Π应用118可以触发(或使得发生)在运行时Π应用118和业务应用114之间的往返通信,以在完成业务交易之前处理第一字段并确定更新的第二字段。参照图1,现在将描述若干示例和更多细节。可以由运行时UI应用118从后端服务器112和/或业务应用114检索购物车业务对象124。例如,购物车业务对象124可以定义一个或多个购物车实例的结构(例如,节点、和字段/属性)和行为(例如,一个或多个方法、服务或动作)。虽然举例示出购物车业务对象124,但是可以提供或使用任何类型的业务对象。购物车业务对象124可以包括具有若干字段或属性的根节点126,诸如:可以标识购买的总金额的总金额128,诸如用于允许用户提交完成的购物车以用于处理的“提交”动作130的动作130,用户或顾客的姓名132,用户或顾客的地址134,以及注解135。例如,根节点中的属性可以被提供一次。可以在根节点126之内提供其他属性或字段。此外如图1中示出的,购物车业务对象124可以包括一个或多个子节点,在购物车实例中可以存在每个子节点的若干实例。作为示例,提供可以包括若干字段或属性,和/或子属性的项目子节点136。子节点136可以定义或包括若干字段或属性,诸如标识将要购买的产品的产品ID138、相应于产品ID的正在购买的产品的数量142、产品的价格144、以及标识对于产品的小计金额的小计146。如图1所示,示出购物车用户界面150,并且可以由运行时Π应用118向客户应用122提供购物车用户界面150。通过客户应用122,用户可以输入用于一个或多个字段的数据并且向运行时Π应用118返回用于用户界面150的这种数据。例如,购物车用户界面150可以包括姓名152 (例如,顾客或用户的姓名)、地址154 (例如,顾客的送货地址)、总金额168、送货量169、以及用户或顾客可以输入关于他们的购买的注解的注解171。可以选择提交按钮170以基于输入到用户界面150的字段的数据来提交用户界面,或提交用于完成业务交易的请求。也可以输入用于将要购买的一个或多个项目或产品的字段,诸如,例如:项目1155可以包括产品ID156、数量158、以及小计160。项目2可以包括产品ID162、数量164以及项目的小计166。用户界面150的每个字段可以具有购物车业务对象124之内的相应的属性。例如,用户界面150的姓名152、地址154分别相应于购物车业务对象124的姓名132和地址134。用户界面150上的提交按钮170相应于业务对象150的提交动作130。用户界面的总金额168相应于业务对象124的金额属性128。用户界面150的产品ID156、数量158和小计160可以相应于业务对象124的产品ID138、数量142和小计146。用户界面150的注解字段171相应于业务对象124的注解135。
`
参照图1中的业务对象124,根据示例实现,业务对象124中的一些元数据的存在,例如,一些节点、属性和子属性的存在指示需要通过业务应用114的处理,例如,以在完成业务交易之前更新相应的用户界面的一个或多个字段。根据示例实现,在完成业务交易之前需要通过业务应用114处理可以通过属性的子属性的存在来指示,所述属性的子属性诸如,例如,产品ID138的验证子属性140 (意味着需要通过业务应用114验证产品ID138)或小计148的计算子属性148 (意味着在完成事务之前需要通过业务应用114计算小计146)。其他字段、属性或子属性或其他指示可以在业务对象124之内使用以向运行时Π应用指示在完成业务交易之前需要业务应用处理。验证子属性140在括号中标识验证依赖的属性,例如,在这个示例中的产品ID138和数量142,其可以被称为依赖属性。这意味着基于两个依赖属性(产品ID138和数量142)通过业务应用114执行产品ID138的验证。从而,如果运行时Π应用118经由用户界面150接收(例如,新的或更新的)用于产品ID156和数量158的用户输入,则应该执行产品ID138的验证。如注意到的,用户界面150的产品ID156和数量158相应于业务对象124中的依赖属性产品ID138和数量142。例如,如果用户改变产品的数量158,则应该由业务应用再次执行验证以例如确认库存中的数量。同样,计算子属性148在括号中标识计算依赖的依赖属性,例如,数量142和价格144。如果运行时Π应用118接收用于计算148的依赖属性(数量,价格)之一的新的或改变的值,则应该执行或重新执行小计146的计算148。换句话说,如果项目的数量或项目的价格改变(或被接收),则将需要重新计算相应的小计146、160。根据示例实现,例如,只有当(例如,由用户或由业务应用)接收或改变各个依赖属性之一时,才会需要业务应用114执行验证或计算。例如,用户或客户应用122可以改变数量,而业务应用114可以改变项目的价格。在一个示例实现中,如果由运行时UI应用118接收用户输入的、用于业务对象中的验证140或计算148的依赖属性中的一个,则触发运行时Π应用118和业务应用114之间的往返通信以允许业务应用114执行这种验证或计算。否则,如果在业务交易结束之前不需要这种验证或计算,例如,I)没有验证或计算子属性存在于业务对象124中,或2)没有接收到用于这种验证140或计算148子属性的、业务对象中的任何依赖属性的输入或改变,或3)用户界面150不显示任何验证的或计算的值或属性(例如,不通过用户界面150向用户显示产品ID156和/或小计160),则可以暂停运行时Π应用118和业务应用114之间的通信直到业务交易结束。将简要地描述验证示例和计算示例。

根据示例实施例,在购物车业务对象124之内,产品ID138可以包括验证子属性140,该验证子属性140指示在完成业务交易之前需要通过业务应用114验证产品ID138。如验证子属性140所示,基于包括项目子节点136的产品ID138和数量142的两个依赖属性来执行验证。从而,如果用户通过用户界面150输入或改变数量158 (相应于业务对象124中的数量142)和/或产品ID156(相应于业务对象124中的产品ID138),则运行时Π应用118可以检查购物车业务对象124以基于这些改变的或输入的属性或字段确定在完成业务交易之前是否需要任何业务应用处理。验证子属性140指示应该(基于数量和/或产品ID的输入)验证或(例如,如果由用户输入了新的数量)重新验证产品ID138以确认标识的产品(由产品ID标识)的请求的数量有库存。从而,为此,从运行时Π应用118向业务应用114传送验证请求,其中验证请求可以至少包括对于产品ID和数量的新的或更新的用户输入。业务应用114然后可以搜索数据库,例如,并且确定产品的数量是否有库存。业务应用114然后可以向运行时UI应用118传送指示产品的数量是否有库存的回复。如果请求的产品的数量没有库存,则可以从业务应用114向运行时Π应用118转发错误消息,可以由运行时Π应用118通过用户界面向客户应用122输出这个错误消息。以类似的方式,可以为小计146提供计算子属性148,这意味着如果通过用户界面从用户或客户应用122接收到或由用户或客户应用122改变用于计算148的依赖属性(数量142,价格144)中的任何一个,则应该执行通过业务应用114的项目小计146的计算或重新计算(因为在业务交易期间通过用户界面150向用户显示重新计算的小计160)。如果在完成业务交易之前在Π150中不存在重新计算的小计160或不向用户显示重新计算的小计160,则可以延迟通过业务应用114的后端处理直到完成业务交易之后(例如,继续暂停前端-后端通信)。从而,例如,如果对于这个项目子节点136的产品的数量142已经改变,例如,通过用户输入或改变购物车用户界面150的相应的显示的数量字段158中的数量,则这将使得运行时Π应用118确定是否应该基于这个改变而执行任何业务应用处理。在这种情况下,运行时UI应用118将检测计算子属性148的存在,并且检测数量142是用于计算148的依赖属性。从而,运行时Π应用118将触发来自运行时Π应用118和业务应用114的往返通信以允许业务应用114基于对于这个项目子节点136的接收或改变的数量142和价格144来执行请求的小计的计算。如上所述,通过用户的对于UI的一些字段的改变或输入可以使得运行时UI应用118触发与业务应用的往返通信,例如,以执行诸如验证或计算的处理。然而,其他改变或输入可能不必然触发运行时Π应用118和业务应用114之间的往返通信。例如,用户可以在用户界面150的注解字段171中输入一些文本。在图1中示出的示例业务对象124中,业务对象124的注解属性135不具有验证或计算子属性。因此,基于在业务对象124中的用于注解属性135的这种验证或计算子属性不存在,运行时Π应用118可以基于在注解字段171中接收的注解来确定不需要业务应用验证或计算。例如,在此情况下,前端-后端通信可以继续暂停直到业务交易结束。这是因为,根据示例实现,业务应用114对执行关于通过注解字段171接收的注解的拼写检查或其他验证没有兴趣。图2是根据示例实现的系统的框图。提供逻辑210从在前端服务器上运行的运行时用户界面(UI)应用向客户应用提供用户界面。接收逻辑220被配置为通过运行时Π应用从在后端服务器上运行的业务应用接收包括与用户界面关联的元数据的业务对象。接收逻辑220被配置为通过运行时UI应用从客户应用接收与业务交易关联的用户输入,该用户输入包括对于用户界面的第一字段的输入。确定逻辑230被配置为通过运行时UI应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定用户界面的更新的第二字段并将其输出到客户应用。触发逻辑240被配置为,如果在完成业务交易之前需要通过业务应用处理来确定和输出更新的第二字段,则触发运行时Π应用和业务应用之间的往返通信以在完成业务交易之前处理第一字段并确定更新的第二字段。图3是示出根据示例实现的系统的操作的流程图。操作310可以包括从在前端服务器上运行的用户界面(UI)应用向客户应用提供用户界面。操作320可以包括通过运行时Π应用从在后端服务 器上运行的业务应用接收包括与用户界面关联的元数据的业务对象。操作330可以包括通过运行时UI应用从客户应用接收与业务交易关联的用户输入,该用户输入包括对于用户界面的第一字段的输入。操作340可以包括通过运行时UI应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定用户界面的更新的第二字段并将其输出到客户应用。操作350可以包括,如果在完成业务交易之前需要通过业务应用处理来确定和输出更新的第二字段,则触发运行时UI应用和业务应用之间的往返通信以在完成业务交易之前处理第一字段并确定更新的第二字段。图3中所示的方法还可以包括,如果在完成业务交易之前不需要通过业务应用处理来确定和输出更新的第二字段,则临时暂停或停止运行时Π和业务应用之间的通信直到完成业务交易之后。在图3的方法中,通过运行时Π基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定用户界面的更新的第二字段并将其输出到客户应用可以包括:通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用验证第一字段。
在图3的方法中,通过运行时Π基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定用户界面的更新的第二字段并将其输出到客户应用可以包括:通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用执行计算以基于至少第一字段来确定用户界面的更新的第二字段。在图3所不在方法中的确定包括:通过运行时UI应用基于业务对象确定是否需要通过业务应用处理第一字段输入来确定用户界面的更新的第二字段;并且如果需要通过业务应用处理第一字段输入来确定更新的第二字段,则确定在完成业务交易之前是否需要从运行时Π向客户应用输出更新的第二字段。图3中所示的方法还可以包括,如果在完成业务交易之前不需要通过业务应用处理第一字段输入或如果不需要从运行时Π向客户应用输出更新的第二字段,则临时暂停或停止运行时UI和业务应用之间的通信直到完成业务交易之后。图3中所示的方法中,通过运行时Π从客户应用接收完成业务交易的请求来向运打时UI指不业务交易的完成。图3中所示的方法中,通过运行时Π从客户应用接收用户选择了业务交易的提交请求或提交按钮的指示来向运行时UI指示业务交易的完成。图3中所示的方法还包括执行往返通信,包括:从运行时Π应用向业务应用传送处理第一字段输入的请求以获得用户界面的更新的第二字段;以及通过运行时UI应用接收来自业务应用的、包括用户应用的更新的第二字段的回复。图3中所示的方法中,业务对象包括一个或多个节点,其中用户界面的第一字段相应于业务对象的节点之一的第一属性,而且其中业务对象包括在完成业务交易之前需要通过业务应用处理第一属性的指示。图3中所示的方法中,第一属性的子属性指示在完成业务交易之前需要通过业务应用处理第一属性。这里描述的各种技术的实现方式可以被实施在数字电子电路中,或者实施在计算机硬件、固件、软件,或者它们的组合中。实现方式可以实施为计算机程序产品,即有形地具体实施在信息载体中的计算机程序,信息载体例如在机器可读存储设备中或者在传播的信号中,以供数据处理装置执行或者控制数据处理装置的操作,所述数据处理装置例如可编程处理装置、计算机或多个计算机。计算机程序,诸如上面描述的计算机程序,可以用任何形式的编程语言编写,包括汇编语言或解释语言,并且,它可以被以任何形式部署,包括作为独立的程序或者作为模块、组件、子程序或其他适于在计算环境中使用的单元。计算机程序可以被部署为在一个计算机上执行或在位于一个地点或跨过多个地点分布并被通信网络互连起来的多个计算机上执行。方法步骤可以被一个或多个可编程处理器执行,所述可编程处理器执行计算机程序,以便通过对输入数据操作和产生输出来执行功能。方法步骤还可以被专用逻辑电路执行,或者装置可以被实施为专用逻辑电路,所述专用逻辑电路例如FPGA (现场可编程门阵列)或ASIC (专用集成电路)。作为例子,适于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任意一个或多个处理器。一般来说,处理器将从只读存储器或随机存取存储器接收指令 和数据,或者从两者都接收指令和数据。计算机的元件可以包括至少一个用于执行指令的处理器,和用于存储指令和数据的一个或多个存储器设备。一般来说,计算机还可以包括,或者被可操作地连接,以从一个或多个用于存储数据的海量储存设备接收数据,或把数据传送到海量储存设备,或者二者皆有,所述海量储存设备例如:磁盘、磁光盘或光盘。适于具体实施计算机程序指令和数据的信息载体包括所有形式的非易失性存储器,作为例子,包括半导体存储器器件,例如:EPROM、EEPROM和闪存设备、磁盘,例如内置硬盘或可移动磁盘、磁光盘和CD-ROM以及DVD-ROM盘。处理器和存储器可以以专用逻辑电路补充,或者被包含在专用逻辑电路中,例如硬件加速计算。为了提供和用户的交互,实现方式可以在具有显示设备和键盘以及定点设备的计算机上实施,显示设备例如阴极射线管(CRT)或液晶显示器(IXD)监视器,用于向用户显示信息,键盘和指示设备例如鼠标或轨迹球,用户利用它们可以提供到计算机的输入。其他种类的设备也可以被用来提供和用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈,并且,可以以任何形式接收来自用户的输入,包括声音、语音或触觉输入。实现方式 可以被在包括后端组件或包括中间件组件或包括前端组件的计算系统中实施,或者在这些后端、中间件、前端组件的任意组合中实施,后端组件例如数据服务器,中间件组件例如应用服务器,前端组件例如具有图形用户界面,或Web浏览器的客户端计算机,通过图形用户界面或Web浏览器,用户可以和实现方式进行交互。可以利用数字数据通信的任何形式或介质互连组件,数字数据通信介质例如通信网络。通信网络的例子包括:局域网(LAN)和广域网(WAN),例如因特网。虽然已经如此处描述的示出描述的实施方式的特定特征,但是本领域技术人员现在将想到许多修改、替换、改变和等效物。因此,将理解所附的权利要求意图覆盖落入实施例范围的所有这种修改和改变。
权利要求
1.一种有形地具体实现在计算机可读存储介质上并包括可执行代码的计算机程序产品,当所述可执行代码被执行时,所述可执行代码被配置为使得至少一个数据处理装置进行如下步骤: 从在前端服务器上运行的运行时用户界面(UI)应用向客户应用提供用户界面; 通过运行时Π应用从在后端服务器上运行的业务应用接收包括与用户界面关联的元数据的业务对象; 通过运行时Π应用从客户应用接收与业务交易关联的用户输入,该用户输入包括用于用户界面的第一字段的输入; 通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定和向客户应用输出用户界面的更新的第二字段;以及 如果在完成业务交易之前需要通过业务应用处理来确定和输出更新的第二字段,则在完成业务交易之前触发运行时Π应用和业务应用之间的往返通信以处理第一字段并确定更新的第二字段。
2.如权利要求1所述的计算机程序产品,其中所述可执行代码被进一步配置为使得至少一个数据处理装置进行如下步骤: 如果在完成业务交易之前不需要通过业务应用处理来确定和输出更新的第二字段,则临时暂停或停止运行时Π和业务应用之间的通信直到完成业务交易之后。
3.如权利要求1所述的计算机程序产品,其中所述可执行代码被配置为使得至少一个数据处理装置进行确定包括,所述可执行代码被配置为使得至少一个数据处理装置进行如下步骤: 通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用验证第一字段。
4.如权利要求1所述的计算机程序产品,其中所述可执行代码被配置为使得至少一个数据处理装置进行确定包括,所述可执行代码被配置为使得至少一个数据处理装置进行如下步骤: 通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用执行计算以基于至少第一字段来确定用户界面的更新的第二字段。
5.如权利要求1所述的计算机程序产品,其中所述可执行代码被配置为使得至少一个数据处理装置进行确定包括,所述可执行代码被配置为使得至少一个数据处理装置进行如下步骤: 通过运行时Π应用基于业务对象确定是否需要通过业务应用处理第一字段输入来确定用户界面的更新的第二字段;以及 如果需要通过业务应用处理第一字段输入来确定更新的第二字段,则确定在完成业务交易之前是否需要从运行时Π向客户应用输出更新的第二字段。
6.如权利要求1所述的计算机程序产品,其中所述可执行代码还被配置为使得至少一个数据处理装置进行以下步骤: 如果在完成业务交易之前不需要通过业务应用处理第一字段输入或如果不需要从运行时Π向客户应用输出更新的第二字段,则临时暂停或停止运行时Π和业务应用之间的通信直到完成业务交易之后。
7.如权利要求1所述的计算机程序产品,其中通过运行时Π从客户应用接收完成业务交易的请求来向运行时UI指示业务交易的完成。
8.如权利要求1所述的计算机程序产品,其中通过运行时Π从客户应用接收用户选择了业务交易的提交请求或提交按钮的指示来向运行时UI指示业务交易的完成。
9.如权利要求1所述的计算机程序产品,其中所述可执行代码还被配置为使得至少一个数据处理装置执行往返通信,其包括被配置为使得至少一个数据处理装置进行以下步骤: 从运行时Π应用向业务应用传送用于处理第一字段输入的请求以获得用户界面的更新的第二字段;以及 通过运行时UI应用接收来自业务应用的、包括用户应用的更新的第二字段的回复。
10.如权利要求1所述的计算机程序产品,其中所述业务对象包括一个或多个节点,其中所述用户界面的第一字段相应于业务对象的节点之一的第一属性,而且其中所述业务对象包括在完成业务交易之前需要通过业务应用处理第一属性的指示。
11.如权利要求1所述的计算机程序产品,其中所述第一属性的子属性指示在完成业务交易之前需要通过业务应用处理第一属性。
12.—种方法,包括: 从在前端服务器上运行的运行时用户界面(UI)应用向客户应用提供用户界面; 通过运行时Π应用从在后端服务器上运行的业务应用接收包括与用户界面关联的元数据的业务对象; 通过运行时UI应用从客户应用接收与业务交易关联的用户输入,该用户输入包括用于用户界面的第一字段的输入; 通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定和向客户应用输出用户界面的更新的第二字段;以及 如果在完成业务交易之前需要通过业务应用处理来确定和输出更新的第二字段,则在完成业务交易之前触发运行时Π应用和业务应用之间的往返通信以处理第一字段并确定更新的第二字段。
13.如权利要求12所述的方法,还包括: 如果在完成业务交易之前不需要通过业务应用处理来确定和输出更新的第二字段,则临时暂停或停止运行时Π和业务应用之间的通信直到完成业务交易之后。
14.如权利要求12所述的方法,其中所述通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定和向客户应用输出用户界面的更新的第二字段包括: 通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用验证第一字段。
15.如权利要求12所述的方法,其中所述通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定和向客户应用输出用户界面的更新的第二字段包括: 通过运行时Π应用基于业务对象确定在完成业务交易之前是否需要通过业务应用执行计算以基于至少第一字段来确定用户界面的更新的第二字段。
16.如权利要求12所述的方法,其中所述确定包括: 通过运行时Π应用基于业务对象确定是否需要通过业务应用处理第一字段输入来确定用户界面的更新的第二字段;以及 如果需要通过业务应用处理第一字段输入来确定更新的第二字段,则确定在完成业务交易之前是否需要从运行时Π向客户应用输出更新的第二字段。
17.如权利要求16所述的方法,还包括: 如果在完成业务交易之前不需要通过业务应用处理第一字段输入或如果不需要从运行时Π向客户应用输出更新的第二字段,则临时暂停或停止运行时Π和业务应用之间的通信直到完成业务交易之后。
18.如权利要求12所述的方法,其中通过运行时Π从客户应用接收完成业务交易的请求来向运行时UI指示业务交易的完成。
19.如权利要求12所 述的方法,其中通过运行时Π从客户应用接收用户选择了业务交易的提交请求或提交按钮的指示来向运行时UI指示业务交易的完成。
20.如权利要求12所述的方法,还包括执行往返通信,包括: 从运行时Π应用向业务应用传送用于处理第一字段输入的请求以获得用户界面的更新的第二字段;以及 通过运行时Π应用接收来自业务应用的、包括用户应用的更新的第二字段的回复。
21.如权利要求12所述的方法,其中所述业务对象包括一个或多个节点,其中所述用户界面的第一字段相应于业务对象的节点之一的第一属性,而且其中所述业务对象包括在完成业务交易之前需要通过业务应用处理第一属性的指示。
22.如权利要求21所述的方法,其中所述第一属性的子属性指示在完成业务交易之前需要通过业务应用处理第一属性。
23.一种装置,包括: 提供逻辑,被配置为从在前端服务器上运行的运行时用户界面(UI)应用向客户应用提供用户界面; 接收逻辑,被配置为通过运行时Π应用从在后端服务器上运行的业务应用接收包括与用户界面关联的元数据的业务对象; 所述接收逻辑还被配置为通过运行时Π应用从客户应用接收与业务交易关联的用户输入,该用户输入包括用于用户界面的第一字段的输入; 确定逻辑,被配置为通过运行时UI应用基于业务对象确定在完成业务交易之前是否需要通过业务应用处理第一字段输入来确定和向客户应用输出用户界面的更新的第二字段;以及 触发逻辑,被配置为如果在完成业务交易之前需要通过业务应用处理来确定和输出更新的第二字段,则触发运行时UI应用和业务应用之间的往返通信以在完成业务交易之前处理第一字段并确定更新的第二字段。
全文摘要
本发明是基于业务对象元数据的前端-后端通信决策。涉及一种技术,用于从在前端服务器上运行的运行时用户界面(UI)应用向客户应用提供用户界面;通过运行时UI应用从在后端服务器上运行的业务应用接收包括与用户界面关联的元数据的业务对象;通过运行时UI应用从客户应用接收与业务交易关联的用户输入,所述用户输入包括对于用户界面的第一字段的输入;通过运行时UI应用基于业务对象确定在业务交易完成前是否需要通过业务应用处理第一字段输入来确定和向客户应用输出用户界面的更新的第二字段;以及基于该确定来触发在运行时UI应用和业务应用之间的往返通信。
文档编号G06F17/30GK103226468SQ20121057430
公开日2013年7月31日 申请日期2012年12月26日 优先权日2011年12月30日
发明者F.布伦斯威格, F.詹特施, B.塞德 申请人:Sap股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1