CN110352405A - 用于过程定义和过程执行跟踪的用户界面和运行时环境 - Google Patents
用于过程定义和过程执行跟踪的用户界面和运行时环境 Download PDFInfo
- Publication number
- CN110352405A CN110352405A CN201880014437.7A CN201880014437A CN110352405A CN 110352405 A CN110352405 A CN 110352405A CN 201880014437 A CN201880014437 A CN 201880014437A CN 110352405 A CN110352405 A CN 110352405A
- Authority
- CN
- China
- Prior art keywords
- interface
- execution
- task
- executing
- processor
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0486—Drag-and-drop
Abstract
描述了与在单个运行时环境内定义和执行过程相关联的系统、方法和其它实施例。在一个实施例中,一种方法包括在运行时环境中执行用于定义过程的定义界面。示例方法还可以包括通过定义界面接收过程的过程定义的输入,并将过程定义存储到数据结构中。示例方法还可以包括生成和显示填充有诸如工作流、批量执行作业、分析流水线和交互式应用界面的多种执行类型的选择界面。示例方法还可以包括通过选择界面接收所选择的执行类型,并使用在执行期间被变换为与所选择的执行类型兼容的过程定义来执行过程。在运行时环境中执行填充有过程执行信息的执行界面。
Description
背景技术
许多企业使用多种工具来定义和实现过程(process)。例如,诸如在金融行业、风险行业或刑事行业中的合规(regulatory compliance)使用多种软件应用和工具来解决合规要求。在一个示例中,金融机构可能具有多个部门,这多个部门关注于解决合规要求的解决方案的不同方面。每个方面都使用专用的软件工具来解决,而在工具之间没有可见的接头或可跟踪性。例如,业务部门可能使用一种工具来起草和记录合规过程。另一个部门可能使用其它工具个别地构建实现合规过程的每个部分的解决方案组件(solutioncomponent)。用户可能孤立地工作以利用私人沙箱中的数据集,诸如使用在仅可由特定用户访问的个人计算机上本地存储的信息,来实现解决方案组件的工作列表项。因此,金融机构的不同部门使用许多没有联系的软件工具来定义过程、构建实现过程的各部分的解决方案组件、实现解决方案组件的工作流项等。
遗憾的是,在用于定义过程、构建解决方案组件、实现工作流项以及定义和实现解决方案的其它子部分的应用工具之间缺乏可跟踪性。因此,大量的人力被用来链接解决方案的子部分,这可能导致成本增加和用户错误。例如,合规审查员可能无法充分跟踪和了解符合合规要求是如何被定义和实现的。
发明内容
在一个实施例中,描述了一种存储计算机可执行指令的非瞬态计算机可读介质和/或计算机程序,所述计算机可执行指令当由计算机的处理器执行时使得处理器:
通过以下操作在单个运行时环境内定义和执行过程:
在运行时环境中执行定义界面的模块,以在显示器上呈现用于定义过程的图形定义界面;
通过图形定义界面接收过程的过程定义的输入;
将过程定义存储到在存储装置内存储的数据结构中;
在显示器上生成和显示填充有可选择的多个执行类型的选择界面,其中执行类型是(i)要由一个或多个实体执行的一系列任务的工作流,(ii)要为多个目标执行的任务的批量执行作业,(iii)要对输入执行以创建输出的分析的分析流水线,或(iv)用于与过程的执行的用户交互的交互式应用界面;以及
响应于从选择界面接收到从多个执行类型中选择的执行类型:
使用来自数据结构的过程定义执行过程,其中过程定义在执行期间被变换为与所选择的执行类型兼容;以及
在运行时环境中执行执行界面以在显示器上呈现执行界面,其中执行界面填充有关于过程的执行的信息。
在一个或多个其它实施例中,非瞬态计算机可读介质可以包括与上述特征结合用于执行以下特征的一个或多个组合的可执行指令:
确定过程定义指定了要执行过程的任务的第三方组件;通过网络建立到托管第三方组件的远程计算设备的通信连接;通过通信连接查询第三方组件以识别定义第三方组件所使用的参数和功能的元数据;以及用参数和功能的标识填充执行界面;
以同步执行模式执行过程,在同步执行模式中数据在执行过程的第一任务的第一实体和执行过程的第二任务的第二实体之间被同步传送;
以异步执行模式执行过程,在异步执行模式中为过程实现回调功能,以用于等待消息到达消息队列;
与调用第二实体执行过程的第二任务并行地调用第一实体执行过程的第一任务;
确定过程定义的第一版本和过程定义的第二个版本可用;并基于版本控制度量选择第一版本用于执行;
确定过程的事务将作为提交事务(committed transaction)被提交;并创建用于撤消提交事务的撤消数据结构;
确定第二任务依赖于第一任务的完成;并且在确定第一实体已完成第一任务时,调用第二实体执行第二任务;
在另一个实施例中,本文公开了一种计算机系统,包括:连接到存储器的处理器;以及存储在非瞬态计算机可读介质上并且配置有指令的过程框架模块,所述指令在由处理器执行时使得处理器:
在运行时环境中执行定义界面的模块,以在显示器上呈现用于定义过程的图形定义界面;
通过图形定义界面接收过程的过程定义的输入;
将过程定义存储到在存储装置中存储的数据结构中;
在显示器上生成和显示填充有可选择的多个执行类型的选择界面,其中执行类型是(i)要由一个或多个实体执行的一系列任务的工作流,(ii)要为多个目标执行的任务的批量执行作业,(iii)要对输入执行以创建输出的分析的分析流水线,或(iv)用于与过程的执行的用户交互的交互式应用界面;以及
响应于从选择界面接收到从多个执行类型中选择的执行类型:
使用来自数据结构的过程定义执行过程,其中过程定义在执行期间被变换为与所选择的执行类型兼容;以及
在运行时环境中执行执行界面以在显示器上呈现执行界面,其中执行界面填充有关于过程的执行的信息。
在一个或多个其它实施例中,计算机系统还包括与上述特征结合以用于执行以下特征的一个或多个组合的可执行指令:
用关于过程的第一任务和过程的第二任务之间的关联的跟踪数据来填充执行界面;
维护关于过程的进度的状态机;以及用状态机的当前状态填充执行界面;
构建描绘过程的一个或多个任务的实时进度的实时可视化;以及用实时可视化填充执行界面;
利用过程定义的与所选择的执行类型兼容的第一部分并忽略过程定义的与所选择的执行类型不兼容的第二部分;
将在过程定义中定义的一系列任务变换成工作流、批量执行作业、分析流水线或交互式应用界面之一。
在另一个实施例中,公开了一种计算机实现的方法,其由包括至少一个处理器和具有可执行指令的存储器的计算设备执行。该计算机实现的方法包括用于执行本文描述的过程框架模块的功能以及上述功能的组合的步骤。
在另一个实施例中,公开了一种程序,用于使计算机执行上述方法中的一个或多个,并且可以包括如本文所公开的附加步骤的任何组合。
附图说明
包含在说明书中并构成说明书的一部分的附图例示了本公开的各种系统、方法和其它实施例。应理解,图中所示的要素边界(例如,方框、方框的组或其它形状)表示边界的一个实施例。在一些实施例中,一个要素可以被实现为多个要素,或者多个要素可以被实现为一个要素。在一些实施例中,被示为另一个要素的内部组件的要素可以被实现为外部组件,并且反之亦然。此外,要素可能未按比例绘制。
图1例示了与在单个运行时环境内定义和实现过程相关联的系统的实施例。
图2例示了与在单个运行时环境内定义和实现过程相关联的方法的实施例。
图3例示了与在单个运行时环境内定义和实现过程相关联的系统的实施例,其中过程通过定义界面来定义。
图4例示了与在单个运行时环境内定义和实现过程相关联的系统的实施例,其中过程定义被用于将过程作为工作流来执行。
图5例示了与在单个运行时环境内定义和实现过程相关联的系统的实施例,其中过程定义被用于将过程作为分析流水线来执行。
图6例示了非瞬态计算机可读介质的实施例。
图7例示了配置有所公开的示例系统和/或方法的计算系统的实施例。
具体实施方式
本文描述了用于提供在单个运行时环境内定义和实现过程的计算机化的系统和方法。运行时环境(诸如通过单个用户界面执行和显示的应用软件套件)托管用于定义、执行和跟踪过程的进度的各种工具。因为诸如定义界面和执行界面之类的工具由单个运行时环境托管,因此可以在定义、执行、实现和跟踪过程的进度的各个方面之间提供可跟踪性。用户可以容易地识别和跟踪关于如何定义过程的各个任务以及如何将过程作为工作流、批量执行作业、分析流水线、交互式应用接口或其它执行类型来执行的相关性。用户还可以通过运行时环境跟踪各个任务的实时进度。运行时环境提供了可以用于定义、实现和跟踪工作流、批量执行作业、分析流水线和交互式应用接口的单个统一工具,其中在任务、什么在驱动那些任务以及如何实现任务之间具有可跟踪性。以这种方式,减少了计算资源量、时间和人工尝试在多个用户设备之间以不相关的方式存储的多个单独的信息工具之间关联信息的人为错误的概率。
运行时环境允许将过程定义为单个过程定义。过程定义可以被用于根据各种执行类型从单个过程定义执行过程。过程定义在执行期间被变换为与特定执行类型兼容。过程定义可以被变换成将由一个或多个实体执行的一系列任务的工作流。实体可以对应于用户、计算系统、第三方组件、web服务、数据库事务、脚本等。过程定义可以被变换成要为多个目标(诸如为用于支付多个供应商的支付过程)执行的任务的批量执行作业。过程定义可以被变换成要对输入执行以创建输出(诸如使用统计模型来评估用户信息以输出贷款违约的概率)的分析的分析流水线。过程定义可以被变换成用于与过程的执行进行用户交互的交互式应用界面,诸如在交互式应用界面中用户可以查看相关文档并执行过程的任务。
在一个实施例中,执行类型可以由用户通过选择界面来选择,该选择界面是用多个可用的执行类型生成和显示的。在其它实施例中,可以基于当前上下文以编程方式确定执行类型。当前上下文源自用户提交的命令、软件组件命令、阈值、触发、数据库信息、通过网络从远程计算机接收到的请求等。在一个实施例中,如果用户通过运行时环境请求贷款违约分析,则选择分析流水线执行类型。在另一个实施例中,如果计费组件确定多个供应商到了支付的期限,则选择批量执行作业执行类型。在另一个实施例中,如果从远程供应商计算机接收到对于单个大型复杂支付的请求,则选择用于跟踪和实现支付的各个任务的工作流执行类型。在另一个实施例中,如果用户的日历条目或电子邮件指示对于人工执行任务的请求,则选择交互式应用界面执行类型。以这种方式,节省了计算资源,因为不必针对每种执行类型定义、存储、维护和实现多个单独的过程定义。
参考图1,例示了与在单个运行时环境内定义和执行过程相关联的计算机系统100的一个实施例。系统100包括可以被配置为在计算机(诸如图7的计算机715)上执行的过程框架模块105。过程框架模块105被配置为在单个运行时环境115(诸如在其内执行和显示定义界面120、执行界面125和/或其它界面的应用或用户界面)内定义和执行过程。在一个实施例中,每个界面是被配置为如本文所述在显示屏上生成并呈现对应的图形用户界面(GUI)的可执行程序模块。
过程框架模块105在运行时环境115中执行用于在显示器上呈现GUI的定义界面120的模块。所显示的图形定义界面GUI 120用于定义过程。用户可以与图形定义界面120对接以定义在执行期间用作过程的输入的数据的数据源。数据源可以对应于数据库、网站、文档、文件、从诸如第三方组件的远程计算机接收到的信息,等等。
用户可以与图形定义界面120对接以定义为了实现过程而要执行的一个或多个任务。在一个实施例中,合规过程可以包括文档获取任务、文档评审任务、获得签名任务、合规规则评审任务、审计任务等。用户可以定义用于执行任务的指令、委托谁将执行任务、设置执行任务的阈值和参数、设置完成进度跟踪的里程碑、定义任务的输入和输出、定义任务与其它任务或过程的组件的关系,等等。
用户可以与图形定义界面120对接以定义要执行此类任务的实体130的任务委托。在一个实施例中,可以将任务委托给分析用户、业务用户、第三方组件、web服务、运行时组件(例如,应用)、数据库脚本等。
用户可以与图形定义界面120对接以定义用于定义任务的参数。在一个实施例中,用户可以指定阈值、到期日、算法、要填写的表格、要审阅的文档或定义任务的任何其它参数。
用户可以与图形定义界面120对接以定义为了创建输出数据而对输入数据执行的模型、算法、方程、统计、业务逻辑或其它功能。在一个实施例中,可以定义违约概率模型来评估用户信息以输出用户违约贷款的概率。
以这种方式,用户可以通过图形定义界面120将过程定义为过程定义。多个用户可以通过运行时环境115协作以定义过程定义的各个方面。在一个实施例中,分析用户可以定义统计模型、业务用户可以定义工作流项、程序员可以定义数据源,等等。
在一个实施例中,图形定义界面120被显示为可视建模环境,通过该建模环境可以可视地定义任务、过程、统计模型、数据源、参数、实体和/或过程的其它组件的可视表示。例如,用户可以诸如通过从用于定义过程的可配置组件的表示/图标的过程组件界面进行拖放操作来将任务图标放置在图形定义界面120内。用户可以诸如通过从过程组件界面进行拖放操作将用户实体图标放置在图形定义界面120内。用户可以在任务图标和用户实体图标之间创建连接,以指示由用户实体图标表示的用户将执行由任务图标表示的任务。用户可以选择这样的图标并指定有关的进一步信息。在一个实施例中,用户可以指定用户的电子邮件地址、定义要为任务执行的步骤、设置任务的阈值、定义实现任务所使用的输入信息的数据源,等等。
过程定义被存储到诸如文件、数据库等的数据结构中。数据结构存储在过程框架模块105可访问的存储装置内,诸如在图7的磁盘755或存储器735内。在一个实施例中,数据结构用于将过程定义加载到图形定义界面120中,以进一步定义/细化过程定义。数据结构还用于加载过程定义以用于执行过程。在一个实施例中,多个版本的过程定义可以被存储在一个或多个数据结构中。
过程框架模块105在运行时环境115中执行用于在显示器上呈现的执行界面125。执行界面125用于显示关于过程的执行的信息、为用户提供输入界面以完成任务或输入关于任务的进度的信息,向用户提供对于执行任务所使用的数据的访问、提供任务之间的关系信息,等等。在一个实施例中,生成选择界面110。选择界面110填充有可以被支持用于过程定义的多个执行类型。如果过程定义具有根据执行类型执行过程所使用的任务定义数据、数据源输入定义数据、参数定义数据、分析模型定义数据和/或其它数据,则执行类型被确定为能够得到支持。在一个实施例中,执行类型可以期望某种数据类型作为输入、使实体执行任务的指定、要实现的统计模型或其它业务逻辑、如何执行任务的步骤的定义,等等。
选择界面110填充有与要由一个或多个实体执行的一系列任务的工作流对应的执行类型。在一个实施例中,工作流用于诸如数据库脚本实体执行用户账户检索任务、会计执行用户账户更新任务、以及更新用户地址信息的其它任务之类的任务。选择界面110填充有与要针对多个目标执行的任务的批量执行作业(诸如针对向大量供应商发送账单的单个任务)对应的执行类型。选择界面110填充有与要对输入执行以创建输出的分析的分析流水线(例如,统计模型、算法等)对应的执行类型。选择界面110填充有与用于与过程的执行的用户交互的交互式应用界面对应的执行类型。在一个实施例中,交互式应用界面包括这样的用户界面:用户可以通过该用户界面输入与过程的执行或过程的任务相关的数据、查看用于执行过程或任务的数据,等等。
通过运行时环境115(诸如通过执行界面125)将选择界面110显示给用户。通过选择界面10接收所选择的执行类型。在一个实施例中,用户选择批量执行作业执行类型。
在其它实施例中,可以基于当前上下文以编程方式确定执行类型。可以基于各种元数据、用户输入、信号、从远程计算机接收到的数据、提醒、警报、日历数据、任务数据、电子邮件数据和/或其它信息来确定当前上下文。在一个实施例中,到运行时环境115中的用户输入可以指示任务要被执行阈值次数,诸如要把账单发送到大量客户的情况。因此,过程框架模块105确定应该使用批量执行作业执行类型来将账单作为批量作业发送。在另一个实施例中,运行时环境115评估电子邮件或任何其它通信,以确定电子邮件指示要执行需要用户输入和与用户界面交互的各种任务。因此,过程框架模块105确定应该使用交互式应用接口执行类型来向用户提供执行此类任务的用户界面。
使用数据结构中的过程定义来执行过程。如果过程定义有多个版本,则使用版本控制度量来选择要使用的版本,诸如最新的版本、被标记为完成的版本、批准等级高于阈值的版本,等等。特别地,过程定义在执行期间被变换为与所选择的执行类型兼容。在一个实施例中,通过选择性地使用过程定义的与所选择的执行类型兼容的第一部分并且忽略(例如,不从过程定义中提取用于使用)过程定义的与所选择的的执行类型不兼容的第二部分来变换过程定义。在对于多个客户的账单发送过程要作为批量执行作业来执行的一个实施例中,过程定义内的获得客户地址任务可以对应于预期的组件(例如,输入、输出、功能、模型、数据类型、算法等)并且因此被使用。更新客户年龄任务或银行分支位置的数据源表的指定可能不对应于预期的组件,并且因此不被使用或不从过程定义中提取用于使用。在一个实施例中,过程定义的不兼容的第二部分被变换成与所选择的执行类型兼容的数据类型。例如,可以将用户的名称改变为用户的电子邮件地址,该电子邮件地址是预期的输入(例如,可以利用用户名称查询用户信息数据库以获得用于变换的电子邮件地址)。
以这种方式,过程定义内的一系列任务、数据源指定、统计模型、输入、输出、指令、用户界面元素、算法和/或其它信息被变换成工作流、批量执行作业、分析流水线或交互式应用界面。
在一个实施例中,过程以同步执行模式执行,在同步执行模式中,在执行第一任务的第一实体(例如,生成账单明细表的web服务)和执行第二任务的第二实体(例如,提供用于生成账单明细表的实时账单数据的第三方组件)之间同步地传送数据。在另一个实施例中,过程以异步执行模式执行,在异步执行模式中,实现回调功能。回调功能允许诸如长期运行的复杂过程之类的过程等待消息(例如,过程继续推进进度所需的数据,诸如生成账单明细表所需的账单数据)到达消息队列。
在一个实施例中,过程包括第一任务和第二任务。与诸如数据库脚本之类的第二实体执行第二任务并行地,可以调用诸如第一用户之类的第一实体执行第一任务。在另一个实施例中,做出如下确定:第二任务取决于第一任务的完成。因此,在确定第一实体已完成第一任务时,调用第二实体执行第二任务。
执行界面125填充有关于过程的执行和表现的信息。执行界面125填充有可以用于执行任务的文档、数据链接以及其它信息。执行界面125填充有用户可以通过其执行任务、指定如何执行任务、输入任务的结果等的用户界面。
在一个实施例中,执行界面125填充有任务完成功能,诸如用户可以通过其执行所分配的任务的用户界面。在另一个实施例中,执行界面25填充有关于过程的第一任务和过程的第二任务之间的关联的跟踪数据,诸如第一任务对第二任务的完成或来自第二任务的数据的依赖性。在另一个实施例中,执行界面125填充有任务完成的完成指示符,诸如百分比指示符或描绘各个任务的实时进度的实时可视化。执行界面125填充有输入、输出、分析的描述、功能的描述、算法的描述、错误、计算结果、任务结果和/或与正在实现的过程的各个方面相关的其它信息。执行界面125填充有审计功能,以审计过程的一个或多个任务的执行,诸如任务被委派给谁、任务的进度、任务如何被执行、来自任务的输出数据,等等。
在一个实施例中,通过执行界面125提供撤销功能。过程的事务(例如,数据库事务)被识别以便被提交作为提交的事务。创建撤消数据结构。可以通过执行界面125调用撤销数据结构以撤消提交的事务。
在一个实施例中,维护关于实现过程的处理的状态机。状态机可以具有与完成过程的各个任务相关的各种状态。执行界面125填充有状态机的当前状态,诸如描绘各个任务的当前状态、任务之间的关系和依赖性等的可视化。
在一个实施例中,当完成任务的时间已经到期而任务没有完成时,执行任务到用户的自动升级(escalation)。通过执行界面125提供关于自动升级的信息。在一个实施例中,执行将任务到实体的自动委托,诸如基于任务的特性与实体的特性匹配而委托给用户。例如,可以基于与雇员雇用审查对应的人力资源用户的职称来将审查员工历史任务分配给人力资源用户。
在一个实施例中,过程框架模块105确定过程定义指定要执行过程的任务的第三方组件。因为第三方组件的功能和参数可能以其它方式对运行时环境115的用户隐藏,因此过程框架模块105被配置为提取和公开这样的信息。特别地,通过网络建立到托管第三方组件的远程计算设备的通信连接。通过注册过程向过程框架模块105注册第三方组件。通过通信连接查询第三方组件以识别定义由第三方组件使用的参数、功能和/或其它信息的元数据(例如,算法、统计模型、输入、输出、方程等)。执行界面125填充有参数和功能的标识。
这样,可以通过运行时环境115定义和执行过程。
参考图2,例示了与通过单个运行时环境定义和执行过程相关联的计算机实现的方法200的一个实施例。在一个实施例中,方法200由过程框架模块105利用计算机715的各种计算资源(诸如用于执行与执行定义界面、过程和执行界面相关联的指令的处理器720)来执行。存储器735和/或盘755用于存储过程定义的数据结构和/或其它数据。网络硬件用于通过网络在计算机715和远程计算机(诸如由过程访问的第三方组件)之间传送数据结构。在访问运行时环境的命令下触发方法200。
在205处,定义界面120的程序模块在运行时环境内执行,以在显示器上呈现用于定义过程的图形定义界面120(GUI),如图3的示例系统300所示。在210处,通过图形定义界面120接收对过程的过程定义405的输入。在一个实施例中,通过可视建模环境提供输入,其中过程、任务、指令、数据输出、数据源、统计模型、依赖性、实体、规则和/或其它组件由图标、连接线、执行命令线或其它用户界面元素可视地表示。例如,用户可以将过程树图标310放置到可视建模环境中以表示过程树。用户可以将表示要执行的资本计算功能的资本计算运行图标305放置到可视建模环境中。
用户可以将组件图标放置在可视建模环境中,诸如要与由数据摄取过程图标320表示的数据摄取过程并行地执行(例如,由并行执行图标325表示)的数据摄取任务的数据摄取任务图标315。用户可以放置数据质量检查任务图标330和数据校正任务图标335以表示数据摄取过程的任务。依赖性图标340用于显示数据校正任务取决于数据质量检查任务。用户可以在可视建模环境内放置表示要执行的统计模型的统计模型图标345。用户可以将数据填充功能图标350放置到虚拟建模环境中,该数据填充功能图标350表示到结果区域中的数据填充,具有对过程区域和分级区域的可跟踪性。可以认识到的是,图3仅仅是用于表示任务、过程、模型、功能、依赖性、执行/实现的顺序和/或用户可以视觉地配置以定义过程定义405的过程的其它组件的一些用户界面元素的示例。在215处,过程定义405被存储到在存储装置内存储的数据结构中。
在220处,生成并显示选择界面10,如图4的示例400中所示。在一个实施例中,选择界面110填充有可用于执行过程的多个执行类型。选择界面110填充有与要由一个或多个实体执行的一系列任务的工作流对应的执行类型。选择界面110填充有与要针对多个目标执行的任务的批量执行作业对应的执行类型。选择界面110填充有与要对输入执行以创建输出的分析的分析流水线对应的执行类型。选择界面110填充有与用于与过程的执行的用户交互的交互式应用界面对应的执行类型。在225处,通过选择界面110接收所选择的执行类型。例如,用户可以选择工作流执行类型。
在替代实施例中,与被生成、显示和用于接收对所选择的执行类型的选择的选择界面110不同,所选择的执行类型是基于上下文以编程方式选择的。上下文由过程框架模块105基于各种数据确定,诸如要执行的调度任务(例如,指示应向客户发送账单的账单软件模块)、来自客户端或计算系统针对要执行的任务的请求(例如,供应商计算系统发送支付账单的请求)、指示用户要完成文档审查任务的日历条目、指示用户执行员工审查任务的电子邮件,等等。
在230处,使用来自数据结构的过程定义405执行过程。过程定义405在执行期间被变换445以与所选择的执行类型(诸如工作流执行类型)兼容。在一个实施例中,过程定义405具有与某些执行类型兼容而不与其它执行类型兼容的部分。一部分可以对应于任务、数据源、统计模型、输入、输出、数据类型、实体、功能、数据库脚本、算法、用户标识符、任务依赖性和实现数据的顺序和/或用于实现过程的各种其它信息。因此,通过使用过程定义的与工作流执行类型(例如,匹配数据类型、功能类型、任务类型、数据源类型或其它期望信息)兼容的部分来变换445过程定义405。过程定义405的其它部分要么被忽略(例如,在执行和实现过程时不使用或不从过程定义405中提取),要么可以被转换成与工作流执行类型兼容的格式(例如,数据类型转换、对功能的修改以匹配预期的功能类型等)。
在一个实施例中,过程定义405利用第三方组件440来执行用于实现过程的某种功能。第三方组件440通常不会暴露由第三方组件440使用的内部参数和功能。替代地,第三方组件440可以接受输入并提供输出。因此,过程框架模块105可以注册第三方组件440,以便查询和获得关于由第三方组件440使用的参数和功能的信息。可以通过执行界面125将这样的第三方组件信息提供425给用户,执行界面125填充有关于过程的执行的信息。
在235处,在运行时环境中执行执行界面125以在显示器上呈现执行界面125。在执行界面125内填充关于过程的执行和实现的各种信息。在一个实施例中,提供过程正在作为工作流被执行的指示410。在另一个实施例中,提供任务进度信息415,诸如查看委托给用户(A)的文档审查任务的进度的能力。在另一个实施例中,提供任务、功能、分析模型等的结果数据420,诸如检查作为将过程实现为工作流的一部分而执行的统计模型的结果的能力。在另一个实施例中,提供审计信息430,使得用户可以查看考虑了什么输入信息、如何处理输入信息,以及在实现过程的每个步骤时确定了什么输出信息。在另一个实施例中,提供了对于执行任务所使用的信息(诸如文件)的访问435。
图5是用于在单个运行时环境内定义和执行过程的系统500的图示。可能已通过运行时环境的定义界面定义了过程的过程定义505。过程定义505可以定义文档分析任务、预测建模任务、要执行的统计模型、要执行任务的实体,诸如web服务、输入数据、数据源、任务之间的关联,等等。
过程框架模块105被配置为确定指示应该如何使用过程定义505来执行过程的上下文。在一个实施例中,零售商的发票组件可以接收关于发票的客户投诉。对客户投诉的接收进行评估以将上下文确定为评估投诉的工作流。在另一个实施例中,零售商的库存组件可以确定库存水平之间存在严重差异,这将需要人为干预并且通过用户界面进行审查。因此,可以将库存控制员工可以用于执行库存审计的交互式应用界面确定为上下文。在另一个实施例中,计费组件可以确定应该向客户发送多个账单。因此,可以将批量执行作业确定为上下文。
在另一个实施例中,用户提交命令以预测营销活动的成功。因此,可以将执行用于预测成功率的分析所使用的分析流水线确定为上下文。过程框架模块105选择性地利用过程定义505的与分析流水线执行类型兼容的部分。在一个实施例中,将分析流水线可执行的预期的数据类型、任务和统计模型确定为兼容的。其它部分可以保持未使用或者可以被变换成与分析流水线兼容的格式(例如,对数据类型、任务、功能、算法等的修改)。以这种方式,过程框架模块105在执行期间变换535过程定义505以与分析流水线执行类型兼容。
在运行时环境内执行执行界面25以在显示器上呈现执行界面125。执行界面125填充有关于过程的执行的信息。在一个实施例中,提供了过程正在作为分析流水线执行类型执行的指示510。提供了用于检查web服务的文档分析的进度的能力515。提供了检查统计模型的执行结果的能力520。提供了查看文档分析任务和预测建模任务之间的关联或关系的能力525。提供了执行过程实现的审计的能力530,诸如,以查看关于实现过程的每个步骤的输入、输出、执行的功能、任务和/或其它信息。
图6是涉及示例性非瞬态计算机可读介质605的场景600的图示。在一个实施例中,本文描述的组件中的一个或多个被配置为存储在非瞬态计算机可读介质605中的程序模块,诸如过程框架模块105。程序模块配置有存储的指令,诸如处理器可执行指令620,处理器可执行指令620当由至少一个处理器(诸如处理器640)执行时使得计算设备执行如本文所述的(一个或多个)对应功能。在一个实施例中,存储在非瞬态计算机可读介质605中的过程框架模块105的功能可以作为处理器可执行指令620由处理器640执行,以执行图2的方法200的实施例625。
非瞬态计算机可读介质605包括处理器可执行指令620,处理器可执行指令620在由处理器640执行时使得执行本文中的至少一些规定。非瞬态计算机可读介质605包括存储器半导体(例如,利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)和/或同步动态随机存取存储器(SDRAM)技术的半导体)、硬盘驱动器的盘片、闪存设备、或者磁盘或光盘(诸如紧凑盘(CD)、数字通用盘(DVD)或软盘)。示例性非瞬态计算机可读介质605存储计算机可读数据610,计算机可读数据610当由设备630的读取器635(例如,硬盘驱动器的读取头或在固态存储设备上调用的读取操作)读取615时,计算机可读数据610表示处理器可执行指令620。
在一些实施例中,处理器可执行指令620在被执行时使得执行操作,诸如例如图2的示例方法200中的至少一些。在一些实施例中,处理器可执行指令620被配置为使得实现系统,诸如例如图1的示例系统100中的至少一些。
图7图示了利用本文描述的示例系统和方法中的一个或多个和/或等同物来配置和/或编程的示例计算设备700。示例计算设备700可以是计算机715,计算机715包括通过总线725可操作地连接的处理器720、存储器735和I/O端口745。在一个实施例中,计算机715可以包括被配置为促进图1-2中所示的系统100和/或方法200的过程框架模块105的逻辑。在不同的实施例中,过程框架模块105的逻辑可以用硬件、具有存储指令的非瞬态计算机可读介质705、固件和/或其组合来实现。虽然过程框架模块105的逻辑被示为附接到总线725的硬件组件,但是应该认识到的是,在其它实施例中,过程框架模块105的逻辑可以在处理器720中实现、存储在存储器735中、或存储在盘755中。
在一个实施例中,计算机715或过程框架模块105的逻辑是用于执行所描述的动作的部件(例如,结构:硬件、非瞬态计算机可读介质、固件)。在一些实施例中,计算设备可以是在云计算系统中操作的服务器、在软件即服务(SaaS)体系架构中配置的服务器、智能电话、膝上型计算机、平板计算设备等。
例如,该部件可以被实现为专用集成电路(ASIC),其被编程为实现用于分配的基于规则的源序列。该部件还可以被实现为存储的计算机可执行指令,其作为数据710呈现给计算机715,数据710临时存储在存储器735中并且然后由处理器720执行。
过程框架模块105的逻辑还可以提供用于执行基于规则的源序列以进行分配的部件(例如,硬件、存储可执行指令的非瞬态计算机可读介质705、固件)。
一般性地描述计算机715的示例配置,处理器720可以是各种各样的处理器,包括双微处理器和其它多处理器体系架构。存储器735可以包括易失性存储器和/或非易失性存储器。非易失性存储器可以包括例如只读存储器(ROM)、可编程只读存储器(PROM)等。易失性存储器可以包括例如随机存取存储器(RAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)等。
盘755可以经由例如I/O接口740(例如,卡、设备)和I/O端口745可操作地连接到计算机715。盘755可以是例如磁盘驱动器、固态盘驱动器、软盘驱动器、带驱动器、Zip驱动器、闪存卡、记忆棒等。此外,盘755可以是CD-ROM驱动器、CD-R驱动器、CD-RW驱动器、DVD ROM等。例如,存储器735可以诸如在非瞬态计算机可读介质705内存储过程和/或数据710。盘755和/或存储器735可以存储控制和分配计算机715的资源的操作系统。
计算机715可以经由I/O接口740和I/O端口745与输入/输出(I/O)设备交互。I/O设备可以是例如键盘、麦克风、指示和选择设备、相机、视频卡、显示器、盘755、网络设备750等。I/O端口745可以包括例如串行端口、并行端口和USB端口。I/O控制器730可以将I/O接口740连接到总线725。
计算机715可以在网络环境中操作,因此可以经由I/O接口740和/或I/O端口745连接到网络设备750。通过网络设备750,计算机715可以与网络交互。通过网络,计算机715可以在逻辑上连接到远程计算机(例如,计算机715可以驻留在客户端可以连接的分布式计算环境中)。计算机715可与之交互的网络包括但不限于局域网(LAN)、新区域网络(WAN)和其它网络。
在另一个实施例中,所描述的方法和/或其等同可以用计算机可执行指令来实现。因此,在一个实施例中,非瞬态计算机可读/存储介质配置有存储的算法/可执行应用的计算机可执行指令,这些计算机可执行指令当由(一个或多个)机器执行时,使得该(一个或多个)机器(和/或相关联的组件)执行方法。示例机器包括但不限于处理器、计算机、在云计算系统中操作的服务器、在软件即服务(SaaS)体系架构中配置的服务器、智能电话等等。在一个实施例中,计算设备用被配置为执行任何所公开的方法的一个或多个可执行算法来实现。
在一个或多个实施例中,所公开的方法或其等同通过以下任一方式执行:被配置为执行所述方法的计算机硬件;或者,在非瞬态计算机可读介质中存储的模块中实施的计算机指令,其中指令被配置为可执行算法,该可执行算法被配置为在由计算设备的至少一个处理器执行时执行所述方法。
虽然为了简化说明的目的,图中所示的方法被示出和描述为算法的一系列方框,但是应该认识到的是,这些方法不受方框的顺序限制。一些方框可以以与所示出和描述的不同的顺序出现和/或与其它方框同时出现。此外,可以使用比所有示出的方框少的方框来实现示例方法。方框可以被组合或分成多个动作/组件。此外,附加和/或替代方法可以采用未在方框中示出的附加动作。
以下包括本文采用的所选择的术语的定义。定义包括落入术语范围内并且可以用于实现的各种示例和/或组件形式。这些实施例不是限制性的。术语的单数和复数形式都可以在定义范围内。
对“一个实施例”、“实施例”、“一个示例”,“示例”等的引用指示如此描述的(一个或多个)实施例或(一个或多个)示例可以包括特定的特征、结构、特性、性质、元素或限制,但并非每个实施例或示例都必须包括该特定的特征、结构、特性、性质、元素或限制。此外,短语“在一个实施例中”的重复使用不一定是指相同的实施例,但是它可以指相同的实施例。
如本文所使用的“数据结构”是计算系统中存储在存储器、存储设备或其它计算机化系统中的数据的组织。数据结构可以是例如数据字段、数据文件、数据阵列、数据记录、数据库、数据表、图表、树、链表等中的任何一种。数据结构可以由许多其它数据结构形成以及包含许多其它数据结构(例如,数据库包括许多数据记录)。根据其它实施例,数据结构的其它示例也是可能的。
如本文所使用的,“计算机可读介质”或“计算机存储介质”是指存储指令和/或数据的非瞬态介质,所述指令和/或数据被配置为在被执行时实施所公开的功能中的一个或多个功能。在一些实施例中,数据可以用作指令。计算机可读介质可以采用包括但不限于非易失性介质和易失性介质的形式。非易失性介质可以包括例如光盘、磁盘等。易失性介质可以包括例如半导体存储器、动态存储器等。计算机可读介质的常见形式可以包括但不限于软盘、柔性盘、硬盘、磁带、其它磁性介质、专用集成电路(ASIC)、可编程逻辑器件、紧凑型盘(CD)、其它光学介质、随机存取存储器(RAM)、只读存储器(ROM)、存储器芯片或卡、存储棒、固态存储设备(SSD)、闪存驱动器、以及计算机、处理器或其它电子设备可以利用其工作的其它介质。当在一个实施例中被选择用于实现时,每种类型的介质可以包括被配置为执行所公开的和/或要求保护的功能中的一个或多个功能的算法的存储指令。
如本文所使用的,“逻辑”表示用计算机或电气硬件、具有存储的可执行应用或程序模块的指令的非瞬态介质和/或这些的组合实现的组件,以执行如本文所公开的任何功能或动作,和/或使得来自另一个逻辑、方法和/或系统的功能或动作如本文所公开的那样被执行。等同的逻辑可以包括固件、用算法编程的微处理器、离散逻辑(例如,ASIC)、至少一个电路、模拟电路、数字电路、编程的逻辑器件、包含算法的指令的存储器设备等,其中任何一个都可以被配置为执行所公开的功能中的一个或多个功能。在一个实施例中,逻辑可以包括一个或多个门、门的组合、或者被配置为执行所公开的功能中的一个或多个功能的其它电路组件。在描述多个逻辑的情况下,可以将多个逻辑合并到一个逻辑中。类似地,在描述单个逻辑的情况下,可以在多个逻辑之间分配该单个逻辑。在一个实施例中,这些逻辑中的一个或多个是与执行所公开和/或要求保护的功能相关联的对应结构。可以基于期望的系统条件或规范来选择要实现哪种类型的逻辑。例如,如果考虑更高的速度,则将选择硬件来实现功能。如果考虑较低的成本,则将选择存储的指令/可执行应用来实现功能。
“可操作的连接”或实体通过其“可操作地连接”的连接是可以发送和/或接收信号、物理通信和/或逻辑通信的连接。可操作的连接可以包括物理接口、电接口和/或数据接口。可操作的连接可以包括足以允许可操作的控制的接口和/或连接的不同组合。例如,两个实体可以可操作地连接,以直接或通过一个或多个中间实体(例如,处理器、操作系统、逻辑、非瞬态计算机可读介质)彼此传送信号。逻辑和/或物理通信信道可以用于创建可操作的连接。
如本文所使用的,“用户”包括但不限于一个或多个人、计算机或其它设备或者这些的组合。
虽然已经相当详细地例示和描述了所公开的实施例,但并不意图将所附权利要求的范围局限或以任何方式限制到这样的细节。当然,不可能为了描述主题的各个方面而描述组件或方法的每种预期的组合。因此,本公开不限于所示出和描述的具体细节或说明性示例。因此,本公开旨在涵盖落入所附权利要求的范围内的变更、修改和变化。修改和变化包括所公开的特征的任何相关组合。
就术语“包含”在具体实施方式或权利要求书中被采用的程度而言,它旨在以类似于当术语“包括”作为过渡词在权利要求中被采用时所解释的方式是包含性的。
就术语“或”在具体实施方式或权利要求书中被使用的程度而言(例如,A或B),其旨在意味着“A或B或两者”。当申请人旨在指示“仅A或B但不是两者”时,那么将使用短语“仅A或B但不是两者”。因此,术语“或”在本文的使用是包含性的,而不是排他性使用。
Claims (16)
1.一种存储计算机可执行指令的非瞬态计算机可读介质,计算机可执行指令在由计算机的处理器执行时使得所述处理器:
通过以下操作在单个运行时环境内定义和执行过程:
在运行时环境中执行定义界面的模块,以在显示器上呈现用于定义过程的图形定义界面;
通过图形定义界面接收所述过程的过程定义的输入;
将过程定义存储到在存储装置内存储的数据结构中;
在显示器上生成和显示填充有可选择的多个执行类型的选择界面,其中执行类型是(i)要由一个或多个实体执行的一系列任务的工作流,(ii)要为多个目标执行的任务的批量执行作业,(iii)要对输入执行以创建输出的分析的分析流水线,或(iv)用于与所述过程的执行的用户交互的交互式应用界面;以及
响应于从选择界面接收到从所述多个执行类型中选择的执行类型:
使用来自数据结构的过程定义执行过程,其中过程定义在执行期间被变换为与所选择的执行类型兼容;以及
在运行时环境中执行执行界面以在显示器上呈现执行界面,其中执行界面填充有关于所述过程的执行的信息。
2.如权利要求1所述的非瞬态计算机可读介质,其中计算机可执行指令使得所述处理器:
确定过程定义指定了要执行所述过程的任务的第三方组件;
通过网络建立到托管第三方组件的远程计算设备的通信连接;
通过通信连接查询第三方组件以识别定义第三方组件所使用的参数和功能的元数据;以及
用参数和功能的标识填充执行界面。
3.如权利要求1或2所述的非瞬态计算机可读介质,其中用于执行所述过程的计算机可执行指令包括使得所述处理器执行以下操作的计算机可执行指令:
以同步执行模式执行所述过程,在同步执行模式中数据在执行所述过程的第一任务的第一实体和执行所述过程的第二任务的第二实体之间被同步传送。
4.如权利要求1至3中任一项所述的非瞬态计算机可读介质,其中,用于执行所述过程的计算机可执行指令包括使得所述处理器执行以下操作的计算机可执行指令:
以异步执行模式执行所述过程,在异步执行模式中为所述过程实现回调功能以等待消息到达消息队列。
5.如权利要求1至4中任一项所述的非瞬态计算机可读介质,其中,用于执行所述过程的计算机可执行指令包括使得所述处理器执行以下操作的计算机可执行指令:
与调用第二实体以执行过程的第二任务并行地调用第一实体以执行过程的第一任务。
6.如权利要求1至5中任一项所述的非瞬态计算机可读介质,其中,用于执行所述过程的计算机可执行指令包括使得所述处理器执行以下操作的计算机可执行指令:
确定过程定义的第一版本和过程定义的第二版本可用;以及
基于版本控制度量选择第一版本用于执行。
7.一种计算系统,包括:
连接到存储器的处理器;以及
存储在非瞬态计算机可读介质上并且配置有指令的过程框架模块,所述指令在由处理器执行时使得所述处理器:
在运行时环境中执行定义界面的模块,以在显示器上呈现用于定义过程的图形定义界面;
通过图形定义界面接收所述过程的过程定义的输入;
将过程定义存储到在存储装置内存储的数据结构中;
在显示器上生成和显示填充有可选择的多个执行类型的选择界面,其中执行类型是(i)要由一个或多个实体执行的一系列任务的工作流,(ii)要为多个目标执行的任务的批量执行作业,(iii)要对输入执行以创建输出的分析的分析流水线,或(iv)用于与所述过程的执行的用户交互的交互式应用界面;以及
响应于从选择界面接收到从所述多个执行类型中选择的执行类型:
使用来自数据结构的过程定义执行过程,其中过程定义在执行期间被变换为与所选择的执行类型兼容;以及
在运行时环境中执行执行界面以在显示器上呈现执行界面,其中执行界面填充有关于所述过程的执行的信息。
8.如权利要求7所述的计算系统,其中用于执行执行界面的指令包括使得所述处理器执行以下操作的指令:
利用关于所述过程的第一任务和所述过程的第二任务之间的关联的跟踪数据来填充执行界面。
9.如权利要求7或8所述的计算系统,其中用于执行执行界面的指令包括使得所述处理器执行以下操作的指令:
维护关于所述过程的进度的状态机;以及
用状态机的当前状态填充执行界面。
10.如权利要求7至9中任一项所述的计算系统,其中,用于执行过程的指令包括使得所述处理器执行以下操作的指令:
构建描绘所述过程的一个或多个任务的实时进度的实时可视化;以及
用所述实时可视化填充执行界面。
11.如权利要求7至10中任一项所述的计算系统,其中,用于执行所述过程的指令包括使得所述处理器执行以下操作的指令:
利用过程定义的与所选择的执行类型兼容的第一部分并忽略过程定义的与所选择的执行类型不兼容的第二部分。
12.一种计算机实现的方法,所述计算机实现的方法涉及包括处理器的计算设备,并且所述计算机实现的方法包括:
由处理器在运行时环境中执行定义界面的模块,以在显示器上呈现用于定义过程的图形定义界面;
由处理器通过图形定义界面接收所述过程的过程定义的输入;
由处理器将过程定义存储到在存储装置内存储的数据结构中;
由处理器在显示器上生成和显示填充有多个执行类型的选择界面,其中执行类型是(i)要由一个或多个实体执行的一系列任务的工作流,(ii)要为多个目标执行的任务的批量执行作业,(iii)要对输入执行以创建输出的分析的分析流水线,或(iv)用于与所述过程的执行的用户交互的交互式应用界面;以及
响应于从选择界面接收到从所述多个执行类型中选择的执行类型:
由处理器使用来自数据结构的过程定义执行过程,其中过程定义在执行期间被变换为与所选择的执行类型兼容;以及
由处理器在运行时环境中执行执行界面以在显示器上呈现执行界面,其中执行界面填充有关于所述过程的执行的信息。
13.如权利要求12所述的计算机实现的方法,还包括:
由处理器确定所选择的执行类型利用第一数据类型;
由处理器利用过程定义的与第一数据类型兼容的第一部分;以及
由处理器将过程定义的与所选择的执行类型不兼容的第二部分变换成与所选择的执行类型兼容的数据类型。
14.如权利要求12或13所述的计算机实现的方法,还包括:
由处理器基于任务的到期日过去而执行任务到用户的自动升级;以及
由处理器用关于自动升级的信息填充执行界面。
15.如权利要求12至14中任一项所述的计算机实现的方法,还包括:
由处理器基于任务的特性与实体的特性匹配,执行任务到实体的自动委托;以及
由处理器用关于自动委托的信息填充执行界面。
16.一种用于使计算机执行权利要求12至15中任一项所述的方法的程序。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/457,180 US10534636B2 (en) | 2017-03-13 | 2017-03-13 | Interface and runtime environment for process definition and process execution tracking |
US15/457,180 | 2017-03-13 | ||
PCT/IB2018/000332 WO2018167565A1 (en) | 2017-03-13 | 2018-03-12 | User interface and runtime environment for process definition and process execution tracking |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110352405A true CN110352405A (zh) | 2019-10-18 |
CN110352405B CN110352405B (zh) | 2023-08-11 |
Family
ID=62063103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880014437.7A Active CN110352405B (zh) | 2017-03-13 | 2018-03-12 | 计算机可读介质、计算系统、方法以及电子装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10534636B2 (zh) |
EP (1) | EP3596674A1 (zh) |
JP (1) | JP7033609B2 (zh) |
CN (1) | CN110352405B (zh) |
WO (1) | WO2018167565A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11868593B2 (en) * | 2020-11-05 | 2024-01-09 | Servicenow, Inc. | Software architecture and user interface for process visualization |
CN112559209B (zh) * | 2020-12-15 | 2024-01-12 | 携程计算机技术(上海)有限公司 | 区域任务可视化监控方法、系统、设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093433A1 (en) * | 2001-11-14 | 2003-05-15 | Exegesys, Inc. | Method and system for software application development and customizible runtime environment |
US20050261914A1 (en) * | 2002-07-19 | 2005-11-24 | Microsoft Corporation | Method and system for managing long running transactions |
US20060253466A1 (en) * | 2005-05-05 | 2006-11-09 | Upton Francis R Iv | Data Mapping Editor Graphical User Interface |
CN1997948A (zh) * | 2004-05-04 | 2007-07-11 | 费舍-柔斯芒特系统股份有限公司 | 过程配置和控制环境中的图形集成 |
US20090064104A1 (en) * | 2007-08-31 | 2009-03-05 | Tom Baeyens | Method and apparatus for supporting multiple business process languages in BPM |
US20090172688A1 (en) * | 2007-12-28 | 2009-07-02 | International Business Machines Corporation | Managing execution within a computing environment |
US20100275139A1 (en) * | 2009-04-27 | 2010-10-28 | Fisher-Rosemount Systems, Inc. | Configuring Animations and Events for Operator Interface Displays in a Process Control System |
US20120084366A1 (en) * | 2010-10-01 | 2012-04-05 | Clover Leaf Environmental Solutions, Inc. | Storage, communication, and display of task-related data |
CN102687143A (zh) * | 2010-01-08 | 2012-09-19 | 甲骨文国际公司 | 用于实施可定义动作的方法和系统 |
US20130124253A1 (en) * | 2011-11-15 | 2013-05-16 | Rockwell Automation Technologies, Inc. | Industry-specific workflows in a manufacturing execution system |
US20150046929A1 (en) * | 2013-08-09 | 2015-02-12 | Oracle International Corporation | Using-sub-processes across business processes in different composites |
CN105408922A (zh) * | 2013-07-02 | 2016-03-16 | 微软技术许可有限责任公司 | 过程流基础结构和配置界面 |
US20170032334A1 (en) * | 2015-07-15 | 2017-02-02 | Michael Martinez | Method and system for managing service work flow |
US20170053244A1 (en) * | 2015-08-22 | 2017-02-23 | Salim B. KHALIL | Automated, integrated and complete computer program/project management solutions standardizes and optimizes management processes and procedures utilizing customizable and flexible systems and methods |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005128658A (ja) | 2003-10-21 | 2005-05-19 | Fuji Electric Holdings Co Ltd | 業務/生産プロセス構築・実行支援装置、業務/生産プロセス支援方法、プログラム |
JP2005284385A (ja) | 2004-03-26 | 2005-10-13 | Ricoh Co Ltd | プロジェクト管理方法及びプロジェクト管理プログラム |
US20090099860A1 (en) | 2007-10-15 | 2009-04-16 | Sap Ag | Composite Application Using Security Annotations |
US20100123930A1 (en) | 2008-11-17 | 2010-05-20 | Kabushiki Kaisha Toshiba | Workflow management apparatus, and method and program for the same |
US8639729B2 (en) * | 2010-12-20 | 2014-01-28 | Sap Ag | Executing a business process in a framework |
US8561080B2 (en) | 2011-04-26 | 2013-10-15 | Sap Ag | High-load business process scalability |
US9621435B2 (en) | 2012-09-07 | 2017-04-11 | Oracle International Corporation | Declarative and extensible model for provisioning of cloud based services |
JP6558037B2 (ja) | 2015-04-10 | 2019-08-14 | 富士通株式会社 | 運用管理プログラム、運用管理方法、および運用管理装置 |
-
2017
- 2017-03-13 US US15/457,180 patent/US10534636B2/en active Active
-
2018
- 2018-03-12 JP JP2019550147A patent/JP7033609B2/ja active Active
- 2018-03-12 EP EP18720351.8A patent/EP3596674A1/en active Pending
- 2018-03-12 WO PCT/IB2018/000332 patent/WO2018167565A1/en unknown
- 2018-03-12 CN CN201880014437.7A patent/CN110352405B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093433A1 (en) * | 2001-11-14 | 2003-05-15 | Exegesys, Inc. | Method and system for software application development and customizible runtime environment |
US20050261914A1 (en) * | 2002-07-19 | 2005-11-24 | Microsoft Corporation | Method and system for managing long running transactions |
CN1997948A (zh) * | 2004-05-04 | 2007-07-11 | 费舍-柔斯芒特系统股份有限公司 | 过程配置和控制环境中的图形集成 |
US20060253466A1 (en) * | 2005-05-05 | 2006-11-09 | Upton Francis R Iv | Data Mapping Editor Graphical User Interface |
US20090064104A1 (en) * | 2007-08-31 | 2009-03-05 | Tom Baeyens | Method and apparatus for supporting multiple business process languages in BPM |
US20090172688A1 (en) * | 2007-12-28 | 2009-07-02 | International Business Machines Corporation | Managing execution within a computing environment |
US20100275139A1 (en) * | 2009-04-27 | 2010-10-28 | Fisher-Rosemount Systems, Inc. | Configuring Animations and Events for Operator Interface Displays in a Process Control System |
CN102687143A (zh) * | 2010-01-08 | 2012-09-19 | 甲骨文国际公司 | 用于实施可定义动作的方法和系统 |
US20120084366A1 (en) * | 2010-10-01 | 2012-04-05 | Clover Leaf Environmental Solutions, Inc. | Storage, communication, and display of task-related data |
US20130124253A1 (en) * | 2011-11-15 | 2013-05-16 | Rockwell Automation Technologies, Inc. | Industry-specific workflows in a manufacturing execution system |
CN105408922A (zh) * | 2013-07-02 | 2016-03-16 | 微软技术许可有限责任公司 | 过程流基础结构和配置界面 |
US20150046929A1 (en) * | 2013-08-09 | 2015-02-12 | Oracle International Corporation | Using-sub-processes across business processes in different composites |
US20170032334A1 (en) * | 2015-07-15 | 2017-02-02 | Michael Martinez | Method and system for managing service work flow |
US20170053244A1 (en) * | 2015-08-22 | 2017-02-23 | Salim B. KHALIL | Automated, integrated and complete computer program/project management solutions standardizes and optimizes management processes and procedures utilizing customizable and flexible systems and methods |
Non-Patent Citations (7)
Title |
---|
DONGSOO KIM: "Dynamic Business Process Ma 口ageme 口t Based on Process Change Patterns", 《CONVERGENCE INFORMATION TECHNOLOGY》 * |
OLEGAS VASILECAS, DIANA KALIBATIENE AND DEJAN LAVBIČ: "Rule- and context-based dynamic business process modelling and simulation", 《JOURNAL OF SYSTEMS AND SOFTWAE》 * |
SONJA ZAPLATA: "Flexible Execution of Distributed Business Processes based on Process Instance Migration", 《JOURNAL OF SYSTEMS INTEGRATION》 * |
VICTORIA TORRES: "Building Bussiness Process Driven Web Applications", 《BUSINESS PROCESS MANAGEMENT LECTURE NOTES IN COMPUTER SCIENCE》 * |
冯辉宁: "基于分段执行和摘要的动态程序分析", 《计算机应用研究》 * |
孙静等: "基于工作流的过程支持在软件配置管理中的设计", 《农业网络信息》 * |
张洪山等: "基于Web的工作流引擎设计", 《计算机工程》 * |
Also Published As
Publication number | Publication date |
---|---|
JP2020514907A (ja) | 2020-05-21 |
EP3596674A1 (en) | 2020-01-22 |
WO2018167565A1 (en) | 2018-09-20 |
CN110352405B (zh) | 2023-08-11 |
US10534636B2 (en) | 2020-01-14 |
JP7033609B2 (ja) | 2022-03-10 |
US20180260239A1 (en) | 2018-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3991112A1 (en) | System and method for modelling and monitoring processes in organizations using digital twins | |
US20160055079A1 (en) | Software application lifecycle management | |
US10885440B2 (en) | Contextual evaluation of process model for generation and extraction of project management artifacts | |
US20170093651A1 (en) | Channel accessible single function micro service data collection process for light analytics | |
US20160004984A1 (en) | Service oriented architecture optimization system and method | |
CN102439562A (zh) | 卡处理 | |
US11366791B2 (en) | System and method for process and automation framework to enable acceptance test driven development | |
US20180068274A1 (en) | System and Method for Document Processing | |
US20170091666A1 (en) | System framework processor for channel contacts | |
CN109213729A (zh) | 结果驱动的案例管理 | |
CN110352405A (zh) | 用于过程定义和过程执行跟踪的用户界面和运行时环境 | |
CA2842592A1 (en) | Estimate method and generator | |
Chavarría-Barrientos et al. | An enterprise operating system for the sensing, smart, and sustainable enterprise | |
Arruda et al. | Towards a requirements engineering artefact model in the context of big data software development projects: Research in progress | |
US20170270611A1 (en) | Processing system to automatically assign electronic records to verification process subset levels | |
US9646273B2 (en) | Systems engineering solution analysis | |
Ray et al. | Move Beyond RPA to Deliver Hyperautomation | |
Matejaš et al. | Building a BPM application in an SOA-based legacy environment | |
US20150294404A1 (en) | Method and system for legal processing for debt collection | |
Kumar et al. | Robotic Process Automation Bridge-in Banking Institute and Consumers | |
Felix | Bank Customers Management System | |
JP2021535487A (ja) | 医療提供業者データシステムの処理及び分析 | |
Gencel et al. | Improvement opportunities and suggestions for benchmarking | |
Gawin et al. | System integration modeling as a part of evolving IT architecture: case study | |
Nyariki | A restaurant operations mobile based application for privately owned restaurants in Kenya |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |