CN102982396A - 通用过程建模框架 - Google Patents

通用过程建模框架 Download PDF

Info

Publication number
CN102982396A
CN102982396A CN2011102626529A CN201110262652A CN102982396A CN 102982396 A CN102982396 A CN 102982396A CN 2011102626529 A CN2011102626529 A CN 2011102626529A CN 201110262652 A CN201110262652 A CN 201110262652A CN 102982396 A CN102982396 A CN 102982396A
Authority
CN
China
Prior art keywords
routing table
identifies
procedure
business procedure
user
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
Application number
CN2011102626529A
Other languages
English (en)
Other versions
CN102982396B (zh
Inventor
顾兢
王栋
王洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SAP SE
Original Assignee
SAP SE
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by SAP SE filed Critical SAP SE
Priority to CN201110262652.9A priority Critical patent/CN102982396B/zh
Priority to US13/293,965 priority patent/US8762187B2/en
Publication of CN102982396A publication Critical patent/CN102982396A/zh
Application granted granted Critical
Publication of CN102982396B publication Critical patent/CN102982396B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0633Workflow analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling

Abstract

本公开描述了用于通用过程建模的方法、系统和计算机程序产品。一种方法包含:识别要运行的业务过程,该业务过程通过一个或多个过程步骤来定义;识别与识别出的业务过程相关联的过程路由表,该过程路由表的至少一部分包括一个或多个条目,所述一个或多个条目定义用于识别出的业务过程的业务过程规则的集合;识别过程路由表中与识别出的业务过程的当前状态相关联的特定条目;以及执行识别出的过程路由表中的特定条目所定义的至少一个动作。在一些实例中,该过程路由表中的至少一个条目与多个过程模式之一相关联,每个过程模式包含可重用的预定义操作。

Description

通用过程建模框架
技术领域
本公开涉及提供用于业务过程开发和修改的通用过程建模框架(genericprocess modeling framework)的软件、计算机系统和计算机实现的方法。
背景技术
业务过程管理是各种行业中都会使用的一种概念和技术。业务过程管理在过程建模和技术工程这两个方向上并行发展。在这两个领域中,各种工具既支持业务用户也支持技术用户。一般来说,业务用户抽象出特定业务过程的业务逻辑,并将该逻辑提供给技术开发者以将该逻辑转变成技术组件和过程。在许多情形中,当业务用户能够向技术用户提供精确和具体的过程图表,比如Visio文件时,这种构建业务过程的方法是成功的。技术用户能够理解图表内的常用命名和图例,从而在业务过程设计系统中创建与过程相对应的特定技术模型。
当业务用户需要或期望改变要求或过程时,会出现问题和难题。目前,做出改变需要业务用户或相关分析人员识别出要在具体模型内做出的适当改变,将这些改变传达给技术用户,随后实现这些新的或更新的特征。由于改变的频率所致,可能发生项目实现延期以及维护成本增加。此外,与原始过程相关联的业务和技术用户可能联系不到,由一个或多个不熟悉的用户来负责更新或修改。
发明内容
本公开描述了用于通用过程建模的方法、系统和计算机程序产品。一种方法包含:识别要运行的业务过程,该业务过程通过一个或多个过程步骤来定义;识别与识别出的业务过程相关联的过程路由表,该过程路由表的至少一部分包括一个或多个条目,所述一个或多个条目定义用于识别出的业务过程的业务过程规则的集合;识别过程路由表中与识别出的业务过程的当前状态相关联的特定条目;以及执行识别出的过程路由表中的特定条目所定义的至少一个动作。在一些实例中,该过程路由表中的至少一个条目与多个过程模式之一相关联,每个过程模式包含可重用的预定义操作。
尽管被一般地描述为用于处理和转换相应数据的、具体化在有形介质上的计算机实现的软件,但一些或全部方面可以是计算机实现的方法或进一步包括在用于执行此处描述的功能的相应系统或其他设备中。本公开的这些和其他方面以及实施例的细节在附图及以下的描述中进行阐述。本公开的其他特征、目的和优点将从说明书、附图以及权利要求中变得清楚。
附图说明
图1示出用于实现提供用于业务过程开发和修改的通用过程建模框架的系统的各种特征的示例环境。
图2示出规则驱动的通用工作流模板的示例。
图3示出在以前的非通用系统中使用的若干传统过程的示例。
图4示出在通用工作流系统中使用的若干过程,比如在本公开中描述的那些过程,的示例。
图5A以及图5B-1至5B-3示出在通用工作流系统中使用的过程路由表(process routing table)的示例。
图6A和6B示出与在人力资本管理(human capital management,HCM)应用内使用该通用框架及其过程路由表相关联的示例情景。
图7示出运行在过程路由表内定义的并且由规则引擎解释的过程的示例方法的流程图。
图8示出修改过程路由表内定义的过程的示例方法的流程图。
具体实施方式
本公开一般涉及提供用于业务过程开发和修改的通用过程建模框架的软件、计算机系统和计算机实现的方法。具体来说,描述了使业务用户能够容易并一致地创建和修改业务过程、无需牵涉技术用户的工具和方法。一般来说,通用过程建模框架允许对业务过程进行频繁改变并对那些改变的结果作出即时反馈。
用于开发或修改过程要求的现有解决方案要求业务用户在建模环境中设计业务过程,将建模的业务过程提供给技术用户,然后让技术用户开发必要的服务和功能以执行功能。频繁的修改、通信问题以及其它瓶颈点可能导致更新和修改的实现延迟,从而导致业务过程无法按照业务用户所提供的规范来执行。在一个示例中,比如在客户关系管理(customer relationshipmanagement,CRM)审批过程中,市场总监可以确认LCD电视产品活动的审批过程要求,该审批过程要求规定:如果金额小于$5,000,则销售经理可以审批,否则销售总监必须审批该活动。市场总监(此情景中的业务用户)可以将这些要求提供给工作流专家以生成适当的工作流。然后,工作流专家可以更新特定于当前过程的工作流模板,并且将该模板提供给业务过程开发者。然后,业务过程开发者可以设计适当的代码以满足为该过程所设计的工作流。该解决方案会出现若干问题。首先,修改过程所花费的时间不合理,这是因为其需要两个或更多用户或雇员来识别、设计和开发所述改变。再有,实现方式导致大量劳动,包括用户之间的多重检查,是为了确保设计过程遵循了正确的逻辑。由于基于多个用户,所以可能容易出现错误,从而导致最终的结果与业务用户识别和希望达到的结果不同,进而在业务过程的实际使用中可能出现问题。
继续同一个示例,市场总监也可能想要添加一个新的针对照相机产品的审批过程。该过程除了当金额大于$10,000时可能存在附加审批层之外,可以类似于LCD电视过程。尽管新的照相机过程类似于先前设计的LCD电视过程,但市场总监仍然可能需要通过工作流专家和业务过程开发者才能实现新的条件并修改照相机过程。
本公开提供了这样的工具,所述工具允许业务用户通过输入过程路由表来提供配置,从而直观地构建过程。在这些解决方案中,不需要工作流专家使用特定工作流技术对过程进行建模,而是允许业务用户在过程路由表内定义过程的一个或多个规则,并且当基于由业务用户在过程路由表内定义的逻辑启动过程时,允许通用规则引擎来执行逻辑以确定要采取的适当动作。这样,开发变得更简单、更直接,并且能够从开发方程中去除若干用户层。这样,能够增加业务用户对业务过程的控制,进而实现在识别出改变时能更快速地进行修改。
图1示出示例环境100,其用于实现提供用于业务过程开发和修改的通用过程建模框架的系统的各种特征,该通用过程建模框架能够允许业务用户容易并且快速地创建和/或修改业务过程,而无需传统的工作流专家和/或业务过程开发者。所示出的环境100包括通用过程建模工作流系统103、客户端145和移动客户端163,或者环境100可通信地与通用过程建模工作流系统103、客户端145和移动客户端163耦合。至少一些组件可以跨越或经由网络142通信。总的来说,环境100描绘了能够执行本公开所确定的操作和解决方案的至少一部分的系统的示例配置。具体来说,通用过程建模工作流系统103提供规则引擎130,该规则引擎130能够解释来自一个或多个过程路由表115的与特定过程相关联的一个或多个规则。过程路由表115存储和定义一个或多个过程的逻辑。客户端145和/或移动客户端163的用户以及其他客户端或通用过程建模工作流系统103本地的用户能够访问过程路由表115并修改与特定过程相关联的条目,从而以相对直接的方式改变底层过程。环境100是一个示例,在替换实现方式中,图1中示出的元素可以包括在所示的那些之外的不同的和/或附加的服务器、客户端、移动客户端、网络或位置中,或者与所示的那些之外的不同的和/或附加的服务器、客户端、移动客户端、网络或位置相关联。例如,所示出的通用过程建模工作流系统103内部的一个或多个组件可以位于多个或不同的服务器、基于云的网络或其他通用过程建模工作流系统103能访问的位置(例如,直接地或间接地经由网络142)。
总的来说,通用过程建模工作流系统103是存储和运行通用工作流模板框架127的任何服务器,其允许经由业务应用124运行一个或多个业务过程。例如,每个通用过程建模工作流系统103可以是遵从Java 2平台企业版(Java2 Platform,Enterprise Edition,J2EE)的应用服务器,其包括Java技术,比如,企业级JavaBeans(Enterprise JavaBeans,EJB)、J2EE连接器架构(J2EEConnector Architecture,JCA)、Java消息服务(Java Messaging Service,JMS)、Java命名和目录接口(Java Naming and Directory Interface,JNDI)以及Java数据库连接(Java Database Connectivity,JDBC)。在有些实例中,每个通用过程建模工作流系统103可以存储多个不同的其他应用,而在其他的实例中,每个通用过程建模工作流系统103可以是专用服务器,被指定为存储特定业务应用124并经由通用工作流模板框架127运行该特定业务应用124及其相关功能。在有些实例中,通用过程建模工作流系统103可以包含网页(web)服务器或可通信地与web服务器耦合,在这种情况下,通用工作流模板框架127和/或业务应用124代表基于web(或可web访问)的应用,所述基于web(或可web访问)的应用通过经由一个或多个客户端145或移动客户端163接收的请求和交互来访问和运行,所述客户端145或移动客户端163分别运行一个或多个客户端应用154或移动应用172,可操作用于与所编程的通用工作流模板框架127和/或业务应用124的任务或操作交互。
在高层次,通用过程建模工作流系统103包含电子计算设备,其可操作用以接收、发送、处理、存储或管理与环境100相关联的数据和信息。图1中示出的通用过程建模工作流系统103能够负责接收来自一个或多个客户端145和/或移动客户端163(以及与通用过程建模工作流系统103交互的任何其他实体或系统,包括台式计算机或其他客户端系统)的应用请求、通过在通用工作流模板框架127和/或关联的业务应用124中处理接收到的请求来对所述请求做出响应、以及将适当的响应从通用工作流模板框架127和/或业务应用124发回到请求的客户端145和/或移动客户端163或其他请求的系统。通用工作流模板框架127和/或业务应用124二者都能够对来自本地访问通用过程建模工作流系统103的用户的本地请求进行处理并且做出响应。因此,除了来自图1中示出的客户端145或移动客户端163的请求之外,与通用工作流模板框架127和/或业务应用124相关联的请求也可以是从内部用户、外部或第三方顾客、及其他关联的业务应用或业务过程、以及任何其他适当的实体、个人、系统或计算机发出的。在有些实例中,业务应用124和/或通用工作流模板框架127可以是运行与联网的或基于云的业务过程相关联的功能的基于web的应用。
本公开所使用的术语“计算机”意欲涵盖任何适合的处理设备。例如,虽然图1示出了单个通用过程建模工作流系统103,但是环境100能够利用任何数量的服务器以及除服务器之外的计算机,包括服务器池,来实现。实际上,通用过程建模工作流系统103可以是任何计算机或处理设备,比如,例如:刀片服务器、通用个人计算机(PC)、Macintosh、工作站、基于UNIX的工作站或任何其他适合的设备。换句话说,本公开设想了通用计算机之外的计算机,以及没有传统操作系统的计算机。此外,所示出的通用过程建模工作流系统103可以被适配为运行任何操作系统,包括Linux、UNIX、Windows、Mac OS或任何其他适合的操作系统。
在所示的图1的实现方式中,通用过程建模工作流系统103包括接口106、处理器109、存储器112、业务应用124以及通用工作流模板框架127。在一些实例中,通用过程建模工作流系统103以及所示出的它的组件可以分离成在不同服务器和/或系统运行的多个组件。因此,虽然在图1的示例环境100中被示出为单一组件,但是替换实现方式可以将通用过程建模工作流系统103示出为包括多个部件或部分。
图1描绘了服务器-客户端环境,但是也可以表示云计算网络。可以提供示出的环境100的各种其他实现方式以允许增加底层系统中的灵活性,包括多个通用工作流模板框架127执行或运行通用工作流模板框架127和/或业务应用124以及其他关联的或相关的应用(包括那些示出为作为通用工作流模板框架127的一部分而包括的应用)的一个或多个附加的或替换的实例。在那些实例中,不同的通用过程建模工作流系统103可以经由基于云的网络或通过网络142提供的连接相互通信。
接口106被通用过程建模工作流系统103用来与连接到网络142的客户端-服务器或其他分布式环境中的(包括环境100内部的)其他系统(例如,客户端145、移动客户端163以及可通信地耦合到网络142的其他系统之一)通信。接口106通常包括以适合的组合代码化在软件和/或硬件中并且可操作以与网络142通信的逻辑。更具体地说,接口106可以包含支持一个或多个与通信相关联的通信协议的软件,使得网络142或接口的硬件可操作用以在示出的环境100内部和外部传送物理信号。
通常,通用过程建模工作流系统103可以与网络142可通信地耦合,网络142便利环境100的组件之间(即,通用过程建模工作流系统103和一个或多个客户端145以及移动客户端163之间)的无线或有线通信,并且通用过程建模工作流系统103还可以与任何其他本地或远程计算机(比如,可通信地耦合到网络142的附加客户端、服务器或其他设备,包括那些未示出在图1中的设备)可通信地耦合。在示出的环境中,网络142被描绘成单个网络,但是其也可以由多于一个网络组成而不会背离本公开的范围,只要网络142的至少一部分可以便利发送方和接收方之间的通信即可。在一些实例中,与通用过程建模工作流系统103相关联的一个或多个组件可以包括在网络142中,作为一个或多个基于云的服务或操作。
网络142可以是企业或安全网络的全部或一部分,而在另一个实例中,网络142的至少一部分可以表示到因特网的连接。在示出的示例中,网络142的至少一部分包括能够中继转发(relay)文本和/或多媒体消息的蜂窝或移动数据网络或其他网络的一部分。在一些实例中,网络142的一部分可以是虚拟专用网络(virtual private network,VPN)。此外,网络142的全部或一部分能够包含有线或无线链路。示例的无线链路可以包括802.11a/b/g/n、802.20、Wimax和/或任何其他适当的无线链路。换句话说,网络142涵盖可操作用以便利示出的环境100内部和外部的各种计算组件之间的通信的任何内部或外部网、网络、子网络或它们的组合。网络142可以在网络地址之间传送例如网际协议(IP)分组、帧中继帧、异步传输模式(Asynchronous Transfer Mode,ATM)信元、语音、视频、数据及其他适合的信息。网络142也可以包括一个或多个局域网(LAN)、无线接入网(RAN)、城域网(MAN)、广域网(WAN)、因特网的全部或部分、和/或任何其他通信系统或位于一个或多个位置的系统。
如图1中所示,通用过程建模工作流系统103包括处理器109。尽管在通用过程建模工作流系统103中被示出为单个处理器109,但是根据环境100的具体需求、期望或具体实现,在通用过程建模工作流系统103中可以使用两个或更多处理器。处理器109可以是中央处理单元(CPU)、刀片(blade)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它适合的组件。总的来说,处理器109运行指令并且操纵数据以执行通用过程建模工作流系统103的操作,并且,具体地说,执行与相应的通用工作流模板框架127和业务应用124相关联的功能。在一种实现方式中,服务器的处理器109运行接收来自一个或多个客户端145和/或移动客户端163的请求和指令并且对所述请求和指令做出响应所需的功能,以及执行关联的通用工作流模板框架127以及业务应用124的操作所需的功能。
不考虑特定实现方式,“软件”可以包括有形且非临时介质上的计算机可读指令、固件、连线或编程的硬件或它们的任意组合,当它们被运行时可操作以至少执行这里描述的过程和操作。实际上,每个软件组件都可以全部或部分地用任何适当的计算机语言来编写或描述,所述计算机语言包括C、C++、Java、Visual Basic、汇编语言、Perl、4GL的任何适合的版本以及其它语音。要理解,虽然图1中示出的软件的部分被示为通过各种对象、方法或其他过程实现各种特征和功能的独立模块,但是软件也可以视情况而改为包括许多子模块、第三方服务、组件、库等等。相反地,各种组件的特征和功能能够视情况而组合成单个组件。在示出的环境100中,每个处理器109运行存储在关联的通用过程建模工作流系统103上的相应的通用工作流模板框架127和业务应用124。在一些实例中,特定的通用过程建模工作流系统103可以与两个或更多业务应用124以及一个或多个跨越两个或更多通用过程建模工作流系统103运行的分布式应用的运行相关联。
在高层次上,通用工作流模板框架127是任何应用、程序、模块、过程或其他软件,其可以运行、改变、删除、产生或以其他方式管理与特定通用过程建模工作流系统103相关联的信息。通用工作流模板框架127通过其对相应规则引擎130和过程路由表115(示出在存储器112中)的使用,允许用户容易地创建要在业务相关的活动中执行的基于配置的业务过程逻辑,在一些实例中,所述业务过程逻辑由业务应用124来执行。具体地说,通用工作流模板框架127可以响应于并针对从关联的客户端145和/或移动客户端163以及任何其他远程客户端接收的请求而操作。另外,通用工作流模板框架127可以响应于并且针对从特定业务应用124(包括与其它通用过程建模工作流系统103或其他系统相关联的业务应用)接收的一个或多个请求而操作。在一些实例中,通用工作流模板框架127可以表示由远程客户端(包括一个或多个客户端145和/或移动客户端163)经由网络142(例如,通过因特网、或经由一个或多个与通用工作流模板127相关联的基于云的服务)访问和运行的基于web的应用。此外,虽然一个或多个与通用工作流模板框架127相关联的过程被示出为在通用过程建模工作流系统103的内部,但是所述一个或多个与通用工作流模板框架127相关联的过程也可以被远程地存储、引用或运行。例如,通用工作流模板框架127的部分可以是远程调用的web服务,而通用工作流模板框架127的其它部分可以是被捆绑用于在远程系统(未示出)、客户端145或移动客户端163进行处理的接口对象或代理。此外,任何或整个通用工作流模板框架127可以是其它软件模块或企业应用(未示出)的子类(child)或子模块,而不会背离本公开的范围。再有,通用工作流模板框架127的部分可以由在通用过程建模工作流系统103处直接工作以及在相应的客户端145、移动客户端163或其他客户端处远程工作的用户运行或访问。
通用工作流模板框架127被示出为包括规则引擎130、授权框架133、过程仿真器模块136和内容搜索模块139。规则引擎130用来协调在过程定义121的集合(示出为在存储器112中)内定义的一个或多个一般定义的过程。规则引擎130的主要功能是在给定情形下或基于特定状态决定业务过程内的特定操作的正确结果。规则引擎130的关键功能是解释一个过程步骤的输出,以确定如过程路由表115内的逻辑所定义的业务过程内的下一个适当的过程步骤。传统的过程图使用刻板的线、循环以及分支来定义适当的过程流,而规则引擎130运用条件表(基于过程路由表115的条目)和循环返回功能,为执行特定业务过程提供充分的控制器功能。通过在过程路由表115内定义适当的条件,包括将基于特定输入执行的相关联的过程模式(pattern)118,在设计时将条件和结果定义到过程路由表115中提供了定义业务过程的直接手段。当运行特定过程时,规则引擎130检查当前条件并通过将当前步骤的输出与过程路由表115的条目相比较来决定下一个过程步骤。这样,规则引擎130替代了传统业务过程的刻板的过程线和要求,并为业务用户提供了极大的灵活性以定义并修改业务过程,而无需工作流专家和/或技术用户或开发者的帮助。通用工作流模板框架127也可以与业务用户和开发者用来访问其功能的专用的应用编程接口(application programming interface,API)相关联。另外,通用工作流模板框架127能够在网页、可扩展标记语言(XML)文件、Excel或其他电子数据表文件或表格、数据库表格以及其他适合的替代方案中的友好的和交互式的用户接口(UI)中呈现过程路由表115或其部分。在客户端145和/或移动客户端163之一的用户因此能够使用浏览器或客户端145或移动客户端163处的其他适合的应用、经由规则引擎130和/或通用工作流模板框架127直接修改过程路由表115。这能够消除以前在业务用户、工作流专家和业务过程开发者之间的来回通信。业务用户能够根据他们识别出的抽象的业务情景提供更精确的规则配置。另一方面,业务过程开发者避免了不得不理解特定业务过程的技术实现方式,并且能够改为参与到与如过程路由表115所指示的由规则引擎130运行的一个或多个过程模式118相关联的开发任务中。
一个或多个过程模式118运行与底层的业务过程相关联的各种功能。过程模式118是业务活动的抽象。常用的模式通常不是无限的,并且能够以过程模式118的集合来产生和得到。一些常用的过程模式118可以包括用户交互模式、计算机后台作业模式、错误处理模式和通知模式,等等。过程模式118当在运行时被规则引擎130传递了参数时变成具体活动实例。特定业务过程中的动作的过程定义121是通过以适当的顺序使用业务逻辑和已知的过程模式118来创建的。过程定义121可以包括在过程路由表115内或与过程路由表115相关联,过程路由表115在特定业务过程将被运行时被规则引擎130控制,规则引擎130使用在设计时由业务用户定义的适当的参数来运行该业务过程。在一些实例中,各个过程定义121可以与过程路由表115的特定实例或单独的版本相关联,过程路由表115的特定实例或单独的版本能够被直接访问以修改或更新针对特定过程而执行的操作。使用过程模式118,而不是特定实例,减少了重复的设计、实现和测试工作,并且增加了稳定性。在一些实例中,可能需要独特的或新的过程模式118以用于特定业务过程。新的过程模式118能够由业务过程开发者来创建,与过程模式118的集合一起存储在存储器112中,并且被一个或多个业务过程(或过程定义121)用来定义特定业务任务或任务的集合。
通过组合规则引擎130和过程模式118能够实现过程协调和运行。在IT项目初始时,业务用户可以遵循传统方法来定义抽象的业务过程。在实现时,可以不需要详尽的、刻板的技术过程模板。业务用户和开发者可以合作,通过参考将在环境中使用的常用模式并且根据业务需要来定义和创建过程模式118。在过程模式118内,可以定义常用参数。因此,业务用户能够将精力集中在过程路由表115上,以将抽象的业务过程变换成用于执行业务过程的定义的规则。规则引擎130和过程模式118的集成创建了支持业务过程的完整的技术过程。使用所提供的方法,一个或几个过程可以用相同的过程模板和技术代码库来实现。如果以后需要任何改变或新的功能,则业务用户可以只需修改过程路由表115的较小部分来提供那些修改。
返回到通用工作流模板框架127,示出了授权框架133。授权框架133通过在允许业务过程被创建和/或修改之前要求对证书进行认证来为通用工作流模板框架127提供安全性。例如,一些系统可以与基于角色的授权系统相关联。在这些系统中,每个用户可以与特定角色相关联。对于每个角色,授权对象可以与其关联。在一个示例中,授权对象可以称作“ProcessModelingAuthorizationObject”(过程建模授权对象)。授权对象可以具有若干域(field),包括:
·“AllowCreate”(允许创建)--指示用户是否可以对新过程建模;
·“AllowModify”(允许修改)--指示用户是否可以修改现有过程;
·“AllowDelete”(允许删除)--指示用户是否可以删除现有过程;以及
·“AllowView”(允许查看)--指示用户是否可以查看现有过程的细节。
与特定授权对象的域相关联的值可以与它们适用的角色相关联。不同的角色可以与不同的授权相关联。例如,市场总监可以构建过程类型为“Marketing Campaign Budget Application”(市场活动预算申请)的业务过程,用于控制预算审批步骤。市场总监通常可以与允许他按照需要更新、删除以及查看过程的授权对象相关联。市场总监下面的销售经理可以具有查看过程的授权,但是在一些实例中可能不能更新或删除过程。为此,可以创建两个角色:“Marketing Director”(市场总监)和“Sales Manager”(销售经理)。市场总监可以被赋予“Marketing Director”角色,并且销售经理可以被赋予“Sales Manager”角色。当访问通用工作流模板框架127时,或当试图访问过程路由表115时,授权框架133可以将用户证书与用户的特定角色相匹配,以确定将提供的访问级别。在替换实现方式中也可以使用其他适合的授权级别检查、授权和审批的类型和方法。
通用工作流模板框架127也可以包括过程仿真器模块136。过程仿真器模块136是这样的工具,其可用于根据用户提供的示例输入条件仿真特定过程定义121的运行(基于过程路由表115),以允许显示过程的结果而无需创建过程实例。该工具的目的在于让用户输入一些过程上下文数据作为条件,从而过程仿真器模块136向用户显示预期的过程结果。还可以向用户呈现示出与计算相关联的行或条目的过程路由表115的部分,以允许用户看到所定义的过程的相应的行。在一个示例中,在过程路由表115内可以定义表明“如果金额>5000,则由销售经理审批。”的过程。如果过程路由表115内有数百或数千过程定义行,那么可能不能或可能难以快速并且高效地定位那些部分。通过使用过程仿真器模块136,用户可以输入声明“金额=5001”的上下文数据,并且运行仿真。然后,过程仿真器模块136可以执行与该上下文数据相关联的操作(即,“approver=sales manager(审批者=销售经理)”)以及与该确定相关联的过程路由表115中的行或条目。如果用户期望改变过程,则用户可以简单地修改过程路由表115的域(field)以改变相应业务过程背后的逻辑。
另外,通用工作流模板框架127也可以包括内容搜索模块139。内容搜索模块139是这样的工具,其为业务用户提供另一个定位过程路由表115内的特定过程定义行或条目的手段。在一些实例中,业务用户可以只需提供感兴趣的关键字来运行该搜索。搜索引擎或类似的功能可以与过程路由表115相关联,使得搜索引擎可以定位过程路由表115内与业务用户提供的关键字或其他搜索项相对应的行或条目。例如,如果用户想要定位行“如果金额>5000,则销售经理审批”,那么能被使用的关键字可以包括“金额”和“5000”,以及其他可能的关键字。内容搜索模块139的是实现方式可以基于可以与过程路由表115的内容相关联的任何适合的可用搜索技术。过程路由表115和/或一个或多个过程定义121可以被索引以实现更好的和/或更快速的搜索。
在高层次,业务应用124是任何应用、程序、模块、过程或其他软件,其可以根据本公开,具体来说,响应于以及针对一个或多个从示出的客户端145、163和一个或多个客户端应用154和移动应用172接收的请求,来运行、改变、删除、产生或以其他方式管理信息。在某些情况下,只有一个业务应用124可以位于通用过程建模工作流系统103或与通用过程建模工作流系统103相关联。在其它情况下,多个相关的和/或无关的业务应用124可以存储在那里,或者也可以位于多个包含通用过程建模工作流系统103或环境100的其他部分的其他系统和/或服务器上。在某些情况下,环境100可以实现合成业务应用。例如,合成应用的部分可以实现为企业级JavaBeans(EJB)或设计时(design-time)组件,并且可以具有将运行时实现方案生成到不同的平台(比如,J2EE(Java 2平台企业版)、ABAP(高级业务应用编程)对象、或微软的.NET等等)中的能力。另外,业务应用124可以表示由远程客户端145、163、客户端应用154或移动客户端172经由网络142(例如通过因特网)访问和运行的基于web的应用。此外,虽然被示出为在通用过程建模工作流系统103的内部,但是一个或多个与特定业务应用124相关联的过程也可以被远程地存储、引用或运行。例如,特定业务应用124的一部分可以是与远程调用的应用相关联的web服务,而业务应用124的另一部分可以是被捆绑以用于在远程客户端145、163(比如客户端应用154或移动应用172)进行处理的接口对象或代理。此外,任何或所有业务应用124可以是子类、子模块、或另一软件模块或企业应用(未示出)的部分,而不会背离本公开的范围。再有,业务应用124的部分可以由在通用过程建模工作流系统直接工作或在通用过程建模工作流系统本地工作以及在客户端145、163远程工作的用户或操作者运行。业务应用124可以与过程路由表115和通用工作流模板框架127紧密地集成。在一些实例中,业务应用124可以是通过其运行各种一般定义的业务过程的应用,其允许不同的业务和终端用户通过过程路由表115执行在通用环境中定义的操作。在一些实例中,业务应用124可以运行一般定义的业务过程,以及以非通用工作流的传统方式定义的业务过程。此外,业务应用124的运行可以允许用户访问在这里描述的通用工作流模板框架127的部分、以及过程路由表115和过程模式118,等等。在一些实例中,通用工作流模板框架127可以是业务应用124的组件以及业务应用的固有功能的一部分。
通用过程建模工作流系统103还包括存储器112,用于储存数据和程序指令。存储器112可以包括任何存储器或数据库模块,并且可以采取易失性或非易失性存储器的形式,包括但不限于磁介质、光介质、随机存取存储器(RAM)、只读存储器(ROM)、可移动介质或任何其他适合的本地或远程存储器组件。存储器112可以存储各种对象或数据,包括类、框架、应用、备分数据、业务对象、作业、网页、网页模板、数据库表格、电子数据表、过程上下文、存储通用过程建模工作流系统103本地的服务的储存库、以及任何其他适当的信息,包括与系统103及其通用工作流模板框架127和/或其业务应用124相关联的任何参数、变量、算法、指令、规则、约束、或对它们的引用。在一些包括基于云的系统的实现方式中,一些或全部存储器112可以从通用过程建模工作流系统103远程存储,并且可通信地耦合到系统103以供使用。如图所示,存储器112包括过程路由表115、一个或多个过程模式118以及一个或多个过程定义121,每一个如上所述。
图1示出的环境还包括一个或多个客户端145。每个客户端145可以是任何计算设备,其可操作以使用有线或无线连接直接或经由网络142连接到通用过程建模工作流系统103或与通用过程建模工作流系统103通信。每个客户端145包括接口148、处理器151、存储器157、客户端应用154以及图形用户接口(GUI)160。一般来说,每个客户端145包含电子计算机设备,其可操作以接收、发送、处理以及存储与图1的环境100相关联的任何适当的数据。要理解,可以有与环境100相关联的或在环境100外部的任何数量的客户端145。例如,虽然示出的环境100包括一个客户端145,但环境100的替换实现方式可以包括可通信地耦合到通用过程建模工作流系统103的单个客户端或多个客户端、或适合于环境100的目的的任何其他数量的客户端。接口148、处理器151以及存储器157可以总体上类似于针对通用过程建模工作流系统103的接口106、处理器109以及存储器112所描述的内容。另外,在环境100的示出部分的外部还可以存在一个或多个附加的客户端,其能够经由网络142与环境100交互。此外,术语“客户端”和“用户”可以视情况而交换地使用,而不会背离本公开的范围。此外,虽然每个客户端145是按照被单个用户使用来描述的,但是本公开考虑了许多用户可以使用一个计算机,或一个用户可以使用多个计算机。在一些实例中,客户端145可以代表一般的用户,而在其它实例中,客户端145可以代表管理员或其他与通用工作流模板框架127相关联的支持实体。
与客户端145相关联的GUI 160包含图形用户接口,其可操作以例如允许客户端145的用户与该平台的至少一部分接口,以达到任何适合的目的,比如,创建、准备、请求、修改或分析数据,以及查看和访问与各种业务事务相关联的文档和文件,包括查看、修改以及运行由过程路由表115以及关联的过程定义121定义的业务过程。总体上,GUI 160为特定用户提供该系统所提供的或在该系统内传送的业务数据的高效的和用户友好的呈现。GUI160可以包含多个可定制的框架(frame)或视图,其具有交互区、下拉列表和由用户操作的按钮。例如,GUI 160可以在GUI 160中提供交互元素,其允许用户进入或选择与业务应用124相关联的业务过程实例和业务对象的元素,或允许用户查看和操纵过程路由表115的至少一部分。通用工作流模板框架127和/或业务应用124的部分可以通过GUI 160,比如,通过例如web浏览器或客户端应用154,被呈现给用户并且使用户可以访问。更一般地说,GUI 160还可以提供一般的交互元素,其允许用户访问和使用客户端应用154的各种服务与功能。GUI 160往往是可配置的,支持表格和图形(条、线、饼图、状态表盘等等)的组合,并且能够构建实时的入口(portal),在该入口中通过关键特征来描绘标签(tab)(例如,站点或微站点)。因此,GUI 160考虑了任何适合的图形用户接口,比如通用web浏览器、智能引擎和命令行接口(CLI)的组合,其在该平台中处理信息并且高效地将结果可视地呈现给用户。在一些实例中,客户端应用154可以是业务应用124或通用工作流模板框架127的远程模块、代理或部分,允许用户访问和修改通用过程建模工作流系统103内的数据和值。在一些实例中,客户端应用154可以是基于web的应用,甚至是web浏览器,其可以执行除了与通用过程建模工作流系统103相关联的那些任务之外的任务。在一些实例中,客户端应用154可以被远程管理员用于初始化或管理过程路由表115内定义的新过程,以及设计或更新一个或多个过程模式118。
本公开中使用的客户端145意图涵盖个人计算机、触屏式终端、工作站、网络计算机、信息亭(kiosk)、无线数据端口、智能电话、个人数据助理(PDA)、这些或其他设备内的一个或多个处理器、或任何其他适合的处理设备。例如,每个客户端145可以包含计算机,该计算机包括输入设备和输出设备,输入设备比如小键盘、触摸屏、鼠标或可以接受用户信息的其他设备,输出设备用于传达与通用过程建模工作流系统103、业务应用124、通用工作流模板框架127或客户端145本身的操作相关联的信息,所述信息包括数字数据、可视信息、客户端应用154或GUI 160。输入和输出设备两者都可以包括固定或可移动存储介质,比如磁存储介质、CD-ROM或其他适合的介质,以通过显示,即,GUI 160,从客户端145的用户接收输入并且提供输出给客户端145的用户。
图1的移动客户端163可以是可操作以使用无线或有线连接与通用过程建模工作流系统103和/或网络142连接或通信的任何移动计算机设备。具体来说,移动客户端163可以被实施为蜂窝电话、个人数字助理(PDA)、智能电话、无线消息发送设备或其他适合类型的移动计算设备。在任何时间点上,可能有与环境100相关联的任何数量的移动客户端163。在高层次,每个移动客户端163可以包括处理器169、GUI 178、一个或多个移动应用172、存储器175和接口166。一般来说,移动客户端163包含电子计算机设备,其可操作以接收、发送、处理和/或存储与所述一个或多个移动应用172相关联的任何适合的数据。在一个示例中,移动客户端163可以是智能电话,其包括输入设备和输出设备,输入设备比如小键盘、触摸屏、鼠标、跟踪球或其他可以接受信息的设备,输出设备用于传达与移动客户端163的操作相关联的信息,所述信息包括数字数据、可视信息或GUI 178。输入设备和输出设备两者都可以包括固定或可移动存储介质,比如磁性计算机盘、CD-ROM或其他适合的介质,以通过显示,即GUI 178,从移动客户端163的用户接收输入并提供输出到移动客户端163的用户。
移动客户端163的接口166可以类似于通用过程建模工作流系统103的接口106,因为其可以包含在软件和/或硬件中以适合的组合代码化的并可操作以与网络142通信的逻辑。更具体地说,接口166可以包含支持一个或多个通信协议的软件,从而使得网络142或硬件可操作以传送去往和来自移动客户端163的物理信号。接口166可以被特别地设计以用于移动客户端,并且可以允许与数据和蜂窝网络以及Wi-Fi连接的通信。
类似地,移动客户端163的存储器175可以包括任何存储器或数据库模块,并且可以采取易失性或非易失性存储器的形式,包括但不限于磁介质、光介质、随机存取存储器(RAM)、只读存储器(ROM)、可移动介质或任何其他适合的本地或远程存储器组件。例如,存储器175可以存储移动应用163,备分数据、参数、cookies、变量、算法、指令、规则、或对它们的引用。
在一些实例中,处理器169可以类似于处理器109。在其他实例中,处理器169可以是被专门设计以供在移动客户端中,比如,在智能电话或PDA中,使用的处理器。此外,尽管被示出为单个处理器169,但是处理器169可以被实现为移动客户端163中的多个处理器。与类型和数量无关,处理器169执行指令并操纵数据以执行移动客户端163的操作,包括下列操作:接收和处理来自通用过程建模工作流系统103和/或业务应用124的信息、访问存储器175内的数据,运行移动应用172,以及执行与移动客户端163相关联的其他操作。
移动应用172可以代表针对在移动客户端163上使用而优化的不同业务应用的版本以及web浏览器或其他适合的移动应用。在一些实例中,移动应用172可以是经由网络142访问的基于web的应用,而在其他实例中,移动应用172可以是一个或多个企业应用或套件的移动版本。移动应用172可以从相应的通用过程建模工作流系统103提取应用相关的信息,或者应用172可以访问本地高速缓存的过程定义集合或者存储在移动客户端163上(比如,存储在存储器175中)的过程路由表的本地版本(未示出)。使用移动应用172,移动客户端163上的用户能够在行动中访问过程路由表115以修改一个或多个过程。过程路由表115的移动兼容版本可以被产生并经由GUI 178呈现给移动用户,以允许在移动客户端上对过程路由表115的底层业务逻辑进行交互式的修改。
GUI 178是可操作以允许移动客户端163的用户出于任何适当的目的与系统100的至少一部分接口,包括允许移动客户端163的用户与一个或多个移动应用172以及任何其他移动客户端163的应用和/或功能交互。GUI 178可以类似于客户端145的GUI 160,或者其可以是用于在移动客户端163上使用的基于移动的GUI 178。一般来说,GUI 178为移动客户端163提供系统100所提供或在系统100内传送的数据的高效且用户友好的呈现。
虽然图1被描述为包含多个组件或者与多个组件相关联,但是并非所示出的图1的实现方式中示出的所有组件都可以在本公开的每个实现方式中使用。另外,此处描述的一个或多个组件可以位于环境100的外部,而在其他实例中,某些组件可以被包括在一个或多个所描述的其它组件以及未描述的其他组件的部分内,或者可以作为一个或多个所描述的其它组件以及未描述的其他组件的部分。此外,图1中示出的某些组件可以与其他组件组合,以及被用于除此处描述的那些目的之外的替换的或者附加的目的。
图2示出规则驱动的通用工作流模板200的示例。为了清楚地介绍,随后的描述总体上在图1中示出的环境100的上下文中描述图2。然而,要理解,图2可以例如视情况通过任何其他适合的系统、环境、或系统和环境的组合来实现。
规则驱动的通用工作流模板200包含决策树,如图所示,其使用中心决策规则引擎235(分析过程路由表115内的条目)以确定特定过程的正确结果和接下来的步骤。在一些实例中,可以按照流程图来理解模板200。在205,特定过程被启动。在一些实例中,特定过程可以与业务应用(比如,业务应用124)相关联,其中特定过程由过程路由表115内定义的特定规则集合和/或特定过程定义121来定义。
如进一步示出的,在225确定初始输入,在225,准备用于特定过程的过程值。在一些实例中,运行特定过程的最终用户可以定义初始输入并且将它们提供给业务应用或其他运行时环境。然后在235,那些输入被传递到规则引擎130,并且允许规则引擎130确定将如何处理那些输入。
如图所示,示例的工作流模板200与若干过程模式118、后台处理过程模式240、错误处理过程模式242、用户交互过程模式244、通知发送过程模式246及其他过程模式248相关联。这些过程模式118被用来规定基于过程路由表115中定义的特定数据流和过程流条件对规则引擎130的数据或输入的处理。一般示出的通用工作流模板200可以定义多个过程、而过程路由表115维护用于区分与通用过程建模工作流系统103相关联的以及在通用过程建模工作流系统103内定义的不同过程中的每一个过程的信息。当输入到达规则引擎130时,规则引擎130取得该输入并且确定要采取的适当动作。例如,在一些实例中,在接收到初始值之后,一些后台处理可能是必需的,因此规则引擎130运行后台处理过程模式240。一旦过程模式240完成其操作,则在255确定总体过程是否完成。在一些实例中,这个确定也可以由规则引擎130做出,而在其它实施例中,可以在相应过程模式118运行之后提供总体过程完成的指示。如果总体过程没有完成,那么该过程循环返回到235处的规则引擎的确定,以基于总体过程的当前状态识别接下来要发生的操作,如过程路由表115所定义的。如果该总体过程被确定为完成,则该过程在260完成,并且在该总体过程的当前实例化中不再使用规则引擎130进行附加的确定。
图3示出在以前的非通用系统中使用的若干传统过程的示例。具体地说,不同地定义每个过程303、306、309的工作流,这需要新的和修订的工作流模板312、315、318以及对每个过程303、306、309背后的逻辑的技术设计。在这些实例中,至少需要两个用户来定义业务过程——一个用户提供逻辑,一个用户实现该逻辑。在大多数情况下,可能使用第三用户来对业务用户提供的逻辑进行建模,然后技术用户基于该逻辑和所定义的模型开发代码。每个过程是不同的,并且虽然那些过程的部分可以重用,但是新过程必须根据用户的需要来单独地定义。
图4对应于所示出的图2的示例,其示出与通用过程建模工作流系统103相关联地开发的每个过程都可以与同一个通用工作流模板406相关联。具体地说,每个过程403a、403b和403n都可以使用过程路由表415来定义。在设计这些过程时无需进行工作流设计,这是因为在过程路由表415内识别出特定过程模式118,并且相应规则引擎430基于与过程的运行相关联地接收的相应输入遵照该过程模式118来动作。不同的过程可以与过程模式的不同子集相关联,或者可以以不同的次序或组合来应用过程模式。此外,当特定过程模式被使用时相关联的规则可能针对不同的过程而有所不同。然而,在每个事件中,总的通用工作流模板可以是相同的并且可以用在每个实例中,从而使得工作流开发者和技术开发者两者都可以从单独的过程定义活动中被去除。
图5A和5B示出可被用在本公开中的过程路由表的示例。图5A包括过程路由表505,其示出对涉及LCD电视和照相机两者的活动的审批要求将会做出的示例的决策集合。具体地说,当LCD电视的金额小于$5000时,销售经理可以审批该事务。然而,当金额大于或等于$5000时,要求销售总监审批该事务。这些值将由规则引擎用来确定审批动作将被发送到的适当的个人,并且可以在各种情形中被用来随时确定哪个个人或实体可以审批特定事务。再有,因为与确定相关联的逻辑是清楚的,所以希望修改规则的业务用户可以访问过程路由表505及其条目并且根据需要或者期望对它们进行修改。通过这样做,应用的底层逻辑可以以几乎即时的方式被改变,由此为具有修改过程路由表505的适当授权的业务用户提供修改的能力。
图5B示出更详细的过程路由表515,其包括基于对特定规则的输入而在不同情形中将要执行的接下来的动作。如图所示,过程路由表515包含用于被执行的特定过程的列。在示出的示例中,前三列(520、525和530)定义规则的入站(inbound)条件。当运行与本过程路由表相关联的过程时,系统将接收定义入站条件的信息(这里为REQUEST_TYPE(请求类型)、USER_DCN和USER_ROLE(用户角色)),并且使用该信息来确定将使用过程路由表515的哪个规则(或行)。例如,当请求类型520是“01 MATERIAL”(01物料)、USER_DCN是“01 SUBMIT”(01提交)并且USER_ROLE是“/EDM/MAT_REQUESTER”(EDM/MAT请求者)时,那么将被使用的规则对应于所示出的表中的第一行。
类似地,其余的列(535、540、545、550和555)定义入站条件的结果。列535(“PROCESSOR_ROLE”(处理者角色))定义在接收到初始入站条件后接下来的过程任务的处理者。列540(“DELEG_METHOD”(可委托的方法))类似于列535,不同之处在于,在列535中,对接下来的过程任务的处理者指定了静态用户角色,而列540提供了特定程序的指示,该特定程序将在运行时被运行以动态地向接下来的代理、处理者或用户提供控制或访问。列545(SET_REQUEST_STAT(设置请求状态))定义针对接下来将被执行的操作的过程状态的设置。列550(SUCC_WF_ACTIVITY)定义与正被执行的过程的当前状况或状态相关联的过程模式,并且列555(NOTIF_TYPE(通知类型))定义可以被执行的可允许的通知类型。由此,过程路由表515定义正在运行的过程的一个或多个特定的将来临的状态(基于列520、525和530的组合),并且使用该信息结合规则引擎来定义特定过程及其执行步骤和边界(基于列535、540、545、550和555)。规则定义在特定过程状态执行的操作,并定义一旦特定过程状态的操作完成,过程应置于什么状态,以用于接下来要执行的任务。此外,规则定义用于处理当前状态的适当过程模式。如图所示,过程路由表515以类似于电子数据表的形式显示。访问过程路由表515并且具有适当授权的用户可以通过修改过程路由表515内的条目来修改所示出的任何步骤。由于通过特定规则内定义的操作和输入条件确定过程的特定流程,因此无需对过程的工作流进行另外的改变。因此,业务用户可以通过根据他们的需要修改过程路由表515来容易地修改特定过程的操作。
图6A和6B示出与在人力资本管理(HCM)应用内使用通用框架及其过程路由表相关联的示例情形。图6A示出HCM应用内的示例组织单位605,其中每个实体和单位包括组织ID或与组织ID相关联。图6B的过程路由表630的组织ID使用组织单位605的组织ID 635来识别特定实体或用户。在这种情况下,过程路由表630内定义的过程是简单的审批用例。该过程的要求包括:(1)容易构建由业务经理创建的过程;(2)改变多个审批者级别的容易手段;(3)与HCM组织单位集成;以及(4)容易调整审批条件。在该过程中,在过程路由表630中定义了若干条目。首先,组织ID“50000713”以及组织ID“50000712”和“50000711”被呈现。ID“50000713”对应于亚特兰大技术支持组,而ID“50000712”对应于西亚特兰大产品组(在组织层级中高于亚特兰大技术支持组),并且ID“50000711”对应于西部产品(西部产品在组织层级中相对高于西亚特兰大产品组)。对过程路由表630的修改通过添加用于与代表亚特兰大技术支持的组织ID“50000713”相关联的被标记为665的条目的条件来举例说明。在修改过程路由表630之前,如果组织ID是“50000713”,则确定将被审批的请求金额。如果金额大于$5000,则任何审批都需要会签(countersignature)。然而,在更新该过程时,该修改添加了对属性“当前日期”的要求,该要求为审批的时段在2012年1月1日到12月31日之间。这个示例示出了立即改变或修改过程路由表的能力,其允许对特定过程的底层逻辑做出改变,而不必咨询工作流专家或技术专家。
图7是如本公开所描述的运行过程路由表内定义的并且由规则引擎解释的过程的示例方法700的流程图。为了清楚地介绍,后面的描述在图1示出的环境100的上下文中一般地描述方法700。然而,要理解方法700可以例如视情况由任何其他适合的系统、环境或系统和环境的组合来执行。
在705,选择或识别供运行的特定过程。在一些实例中,可以由用户手动地执行该识别,而在其他实例中,过程可以与一个或多个业务应用集成在一起,并且可以基于那些应用中的处理或其中发生的事件或与之关联的事件自动地识别。在710,在通用工作流框架中将识别出的特定过程实例化。在一些实例中,过程实例的通用占位符被实例化,而在其它实例中,特定于该特定过程的过程实例被实例化。在712,识别与特定过程相关联的过程路由表。识别出的过程路由表可以包括与多于一个过程相关联的定义,因此识别过程路由表还包括识别与特定过程相关联的部分或条目子集。
在715,识别与特定过程相关联的初始输入的集合。同样,初始输入的集合可以由终端用户手动地定义或者可以基于从其他系统、过程或业务应用传递来的信息自动地定义。在720,识别或确定与初始输入相关联的过程模式。确定或者识别适当的过程模式可以由规则引擎使用过程路由表内的条目来执行,以确定将被执行的操作。具体地说,对过程实例的初始输入被提供给规则引擎。规则引擎能够读取过程路由表中的条目,以基于该输入确定将被执行的适当的过程模式。在725,运行识别出的过程模式。在一些实例中,过程模式的运行可以利用新输入将过程移动到更新的状态中,以允许根据需要识别接下来的过程模式。在一些实例中,过程路由表内的条目可以定义一旦识别出与输入相关联的正确条目就要提供的下一个状态。在一些实例中,也可以显式地在条目中定义将要运行的接下来的过程模式。
在730,确定在该特定过程中是否将执行另外的操作。这个确定一般基于过程路由表内的条目,该条目标识过程何时以及怎样结束,或者是否将执行另外的过程模式。在一些实例中,该确定可以基于与先前使用的条目相关联的属性,所述条目将特定过程模式步骤标识为特定过程中的最后步骤。在其他实例中,规则引擎可以基于过程路由表内的条目识别特定过程的结束。如果没有另外的操作将被执行,那么方法700在740继续,在740该特定过程完成。然而,如果将要执行另外的操作,那么方法700在735继续。
在735,确定在该特定过程中将运行的接下来的过程模式。在一些实例中,规则引擎可以基于先前操作的输出和该过程的当前状态,结合参考过程路由表进行考虑,来动态地确定接下来的操作。在一些实例中,先前操作可以改变定义将被执行的特定过程模式的状态,从而允许规则引擎识别出正确的接下来的过程模式,而无需考虑过程路由表。规则引擎和过程路由表能够通过使特定过程执行动作以及在操作被执行时修改特定过程实例的当前状态,来定义一个或多个操作转变。在一些实例中,前一操作的输出可以被用来识别将被执行的下一个操作以及关联的过程模式。一旦当前过程模式被识别出来,在725,运行识别出的过程模式,以允许该特定过程继续运行。
图8是如本公开所描述的那样修改过程路由表内定义的过程的示例方法800的流程图。为了清楚地介绍,后面的描述在图1示出的环境100的上下文中一般地描述方法800。然而,要理解,方法800可以例如视情况通过任何其他适合的系统、环境、或系统和环境的组合来执行。
在805,基于用户请求识别出要修改的特定过程。在当前示例中,用户请求可以来自业务用户以及与通用工作流模板框架相关联的任何其他类型的用户。在810,确定请求的用户是否具有修改该特定过程的适当的认证和特权。在一些实例中,修改特定过程的授权可以基于用户在组织内的角色。可替换地,每个个体用户可以具有他们相关联的特定许可和授权和/或具有与用户相关联的帐户或用户名。如果用户不具有适当的许可或授权,则方法800在815继续,在815,该修改企图被拒绝,并且在820可以发送对请求的用户的拒绝通知。可替换地,如果用户具有足够的认证,则方法800在825继续。
在825,经由用户的系统或客户端处的用户接口或GUI将与该特定过程相关联的过程路由表的相关部分呈现给该用户。在一些实例中,所述过程路由表的相关部分可以是整个过程路由表,而在其他实例中,所述相关部分可以是整个过程路由表的子集。可以将过程路由表作为可编辑的电子数据表或交互网页,通过web浏览器或专用客户端应用呈现给请求的用户。在830,可以从用户接收对所呈现的过程路由表的相关部分的至少一个修改。在835,更新与接收到的修改相关联的过程路由表条目,由此修改特定过程及其操作。在840,将修改成功的确认发送给请求的用户。可以将该修改作为到该请求的用户的用户接口的通知、电子邮件消息或任何其他适合的通知来发送。
以上的附图和相关描述示出了示例的过程和计算机可实现的技术。但是环境100(或其软件或其他组件)设想了使用、实现或运行任何适合的技术来执行这些及其他任务。要理解,这些过程仅仅是用于说明的目的,而且可以在任何适当的时间执行所描述的或类似的技术,包括并发地、单独地或组合地执行。此外,这些过程中的许多步骤可以同时地、并发地和/或以不同于所示次序的其他次序发生。此外,环境100可以使用具有附加的步骤、较少的步骤和/或不同的步骤的过程,只要所述方法保持正确即可。
换句话说,虽然针对某些实施例和一般关联的方法描述了本公开,但是这些实施例和方法的变更和变换对本领域技术人员将是显而易见的。因此,以上对示例实施例的描述并不限定或约束本公开。其他改变、替换和变更也是可以的,不会脱离本公开的精神和范围。

Claims (23)

1.一种由一个或多个处理器执行的用于通用过程建模的计算机实现的方法,该方法包含下列操作:
识别要运行的业务过程,该业务过程通过一个或多个过程步骤来定义;
识别与识别出的业务过程相关联的过程路由表,该过程路由表的至少一部分包括一个或多个条目,所述一个或多个条目定义用于识别出的业务过程的业务过程规则的集合;
识别过程路由表中与识别出的业务过程的当前状态相关联的特定条目;以及
执行识别出的过程路由表中的特定条目所定义的至少一个动作。
2.如权利要求1所述的方法,其中,该过程路由表中的至少一个特定条目与多个过程模式之一相关联,每个过程模式包含可重用的预定义操作。
3.如权利要求2所述的方法,其中,所述识别出的过程路由表中的特定条目所定义的至少一个动作是特定过程模式。
4.如权利要求3所述的方法,还包含:
在执行所述识别出的过程路由表中的特定条目所定义的至少一个动作之后,将识别出的业务过程的状态改变成更新的状态;
确定识别出的业务过程的更新的状态是否与识别出的业务过程的完成相关联;以及
基于识别出的业务过程的更新的状态不与识别出的业务过程的完成相关联的确定:
识别过程路由表中与识别出的业务过程的更新的状态相关联的新的特定条目;以及
执行识别出的过程路由表中的新的特定条目所定义的至少一个动作。
5.如权利要求4所述的方法,还包含:基于识别出的业务过程的更新的状态与识别出的业务过程的完成相关联的确定,完成该识别出的业务过程。
6.如权利要求1所述的方法,其中,所述过程路由表包含具有行和列的表,其中每一行定义与特定业务过程相关联的单独的规则。
7.如权利要求6所述的方法,其中,所述过程路由表包含下列各项中的至少一项:数据库表格、电子数据表或XML文件。
8.如权利要求1所述的方法,其中,所述过程路由表包含可编辑的表格。
9.如权利要求8所述的方法,该方法还包含下列操作:
从用户接收编辑过程路由表的请求;
确定请求的用户是否被授权修改过程路由表;
基于请求的用户被授权修改过程路由表的确定,将过程路由表的可编辑版本经由用户接口呈现给请求的用户;以及
基于经由用户接口从请求的用户接收的至少一个修改来更新过程路由表。
10.如权利要求9所述的方法,其中,所述请求的用户与移动设备相关联,其中,将过程路由表的可编辑版本经由用户接口呈现给请求的用户包含:将过程路由表的可编辑版本经由移动设备的用户接口呈现给请求的用户。
11.如权利要求9所述的方法,还包含:基于请求的用户未被授权修改过程路由表的确定,将拒绝通知经由用户接口呈现给请求的用户。
12.如权利要求1所述的方法,其中,识别与识别出的业务过程相关联的过程路由表以及识别过程路由表中与识别出的业务过程的当前状态相关联的特定条目由中心规则引擎来执行。
13.一种用于通用过程建模的计算机程序产品,该计算机程序产品包含计算机可读指令,该计算机可读指令被具体化在有形的非瞬时介质上,该指令在被运行时可操作用以:
识别要运行的业务过程,该业务过程通过一个或多个过程步骤来定义;
识别与识别出的业务过程相关联的过程路由表,该过程路由表的至少一部分包括一个或多个条目,所述一个或多个条目定义用于识别出的业务过程的业务过程规则的集合;
识别过程路由表中与识别出的业务过程的当前状态相关联的特定条目;以及
执行识别出的过程路由表中的特定条目所定义的至少一个动作。
14.如权利要求13所述的产品,其中,该过程路由表中的至少一个特定条目与多个过程模式之一相关联,每个过程模式包含可重用的预定义操作。
15.如权利要求14所述的产品,其中,所述识别出的过程路由表中的特定条目所定义的至少一个动作是特定过程模式。
16.如权利要求15所述的产品,所述指令在被运行时还可操作用以:
在执行所述识别出的过程路由表中的特定条目所定义的至少一个动作之后,将识别出的业务过程的状态改变成更新的状态;
确定识别出的业务过程的更新的状态是否与识别出的业务过程的完成相关联;以及
基于识别出的业务过程的更新的状态不与识别出的业务过程的完成相关联的确定:
识别过程路由表中与识别出的业务过程的更新的状态相关联的新的特定条目;以及
执行识别出的过程路由表中的新的特定条目所定义的至少一个动作。
17.如权利要求16所述的产品,所述指令在被运行时还可操作用以:基于识别出的业务过程的更新的状态与识别出的业务过程的完成相关联的确定,完成该识别出的业务过程。
18.如权利要求13所述的产品,其中,所述过程路由表包含具有行和列的表,其中每一行定义与特定业务过程相关联的单独的规则。
19.如权利要求18所述的产品,其中,所述过程路由表包含下列各项中的至少一项:数据库表格、电子数据表或XML文件。
20.如权利要求13所述的产品,其中,所述过程路由表包含可编辑的表格。
21.如权利要求20所述的产品,所述指令在被运行时还可操作用以:
从用户接收编辑过程路由表的请求;
确定请求的用户是否被授权修改过程路由表;
基于请求的用户被授权修改过程路由表的确定,将过程路由表的可编辑版本经由用户接口呈现给请求的用户;以及
基于经由用户接口从请求的用户接收的至少一个修改来更新过程路由表。
22.如权利要求13所述的产品,其中,识别与识别出的业务过程相关联的过程路由表以及识别过程路由表中与识别出的业务过程的当前状态相关联的特定条目由中心规则引擎来执行。
23.一种系统,包含:
一个或多个计算机;以及
有形的非瞬时计算机可读介质,其耦合到所述一个或多个计算机,并具有存储于其上的指令,所述指令在被所述一个或多个计算机运行时,使所述一个或多个计算机执行操作,包括:
识别要运行的业务过程,该业务过程通过一个或多个过程步骤来定义;
识别与识别出的业务过程相关联的过程路由表,该过程路由表的至少一部分包括一个或多个条目,所述一个或多个条目定义用于识别出的业务过程的业务过程规则的集合;
识别过程路由表中与识别出的业务过程的当前状态相关联的特定条目;以及
执行识别出的过程路由表中的特定条目所定义的至少一个动作。
CN201110262652.9A 2011-09-06 2011-09-06 通用过程建模框架 Active CN102982396B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110262652.9A CN102982396B (zh) 2011-09-06 2011-09-06 通用过程建模框架
US13/293,965 US8762187B2 (en) 2011-09-06 2011-11-10 Easy process modeling platform

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110262652.9A CN102982396B (zh) 2011-09-06 2011-09-06 通用过程建模框架

Publications (2)

Publication Number Publication Date
CN102982396A true CN102982396A (zh) 2013-03-20
CN102982396B CN102982396B (zh) 2017-12-26

Family

ID=47753849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110262652.9A Active CN102982396B (zh) 2011-09-06 2011-09-06 通用过程建模框架

Country Status (2)

Country Link
US (1) US8762187B2 (zh)
CN (1) CN102982396B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104732341A (zh) * 2015-03-12 2015-06-24 用友网络科技股份有限公司 模拟业务流程及业务流程运行的控制方法和控制系统
CN105094008A (zh) * 2014-05-23 2015-11-25 费希尔-罗斯蒙特系统公司 基于通用过程系统库配置过程控制系统的方法和装置
CN109947800A (zh) * 2018-08-01 2019-06-28 日海智能科技股份有限公司 数据处理方法、装置、设备和介质

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9769354B2 (en) 2005-03-24 2017-09-19 Kofax, Inc. Systems and methods of processing scanned data
US9137417B2 (en) 2005-03-24 2015-09-15 Kofax, Inc. Systems and methods for processing video data
US9349046B2 (en) 2009-02-10 2016-05-24 Kofax, Inc. Smart optical input/output (I/O) extension for context-dependent workflows
US8958605B2 (en) 2009-02-10 2015-02-17 Kofax, Inc. Systems, methods and computer program products for determining document validity
US9576272B2 (en) 2009-02-10 2017-02-21 Kofax, Inc. Systems, methods and computer program products for determining document validity
US9767354B2 (en) 2009-02-10 2017-09-19 Kofax, Inc. Global geographic information retrieval, validation, and normalization
US8879846B2 (en) 2009-02-10 2014-11-04 Kofax, Inc. Systems, methods and computer program products for processing financial documents
US8774516B2 (en) 2009-02-10 2014-07-08 Kofax, Inc. Systems, methods and computer program products for determining document validity
US10146795B2 (en) 2012-01-12 2018-12-04 Kofax, Inc. Systems and methods for mobile image capture and processing
US9058515B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9058580B1 (en) 2012-01-12 2015-06-16 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US9483794B2 (en) 2012-01-12 2016-11-01 Kofax, Inc. Systems and methods for identification document processing and business workflow integration
US8989515B2 (en) 2012-01-12 2015-03-24 Kofax, Inc. Systems and methods for mobile image capture and processing
US9208536B2 (en) 2013-09-27 2015-12-08 Kofax, Inc. Systems and methods for three dimensional geometric reconstruction of captured image data
EP2973226A4 (en) 2013-03-13 2016-06-29 Kofax Inc CLASSIFICATION OF OBJECTS ON DIGITAL IMAGES RECORDED BY MOBILE DEVICES
US9355312B2 (en) 2013-03-13 2016-05-31 Kofax, Inc. Systems and methods for classifying objects in digital images captured using mobile devices
US20140316841A1 (en) * 2013-04-23 2014-10-23 Kofax, Inc. Location-based workflows and services
JP2016518790A (ja) 2013-05-03 2016-06-23 コファックス, インコーポレイテッド モバイル装置を用いて取込まれたビデオにおけるオブジェクトを検出および分類するためのシステムおよび方法
US20140372488A1 (en) * 2013-06-13 2014-12-18 Sap Ag Generating database processes from process models
US9575747B2 (en) * 2013-06-27 2017-02-21 Microsoft Technology Licensing, Llc Automatic configuration of a computer system based on process modeling of an implemented process
US20150127529A1 (en) * 2013-11-05 2015-05-07 Oleg Makhotin Methods and systems for mobile payment application selection and management using an application linker
WO2015073920A1 (en) 2013-11-15 2015-05-21 Kofax, Inc. Systems and methods for generating composite images of long documents using mobile video data
WO2015094196A1 (en) * 2013-12-17 2015-06-25 Hewlett-Packard Development Company, L.P. A generic model to implement a cloud computing service
US9639830B2 (en) * 2014-03-10 2017-05-02 Aliaswire, Inc. Methods, systems, and devices to dynamically customize electronic bill presentment and payment workflows
US10504075B2 (en) * 2014-03-10 2019-12-10 Aliaswire, Inc. Methods, systems, and devices to dynamically customize electronic bill presentment and payment workflows
US9575734B2 (en) * 2014-03-28 2017-02-21 Wipro Limited System and method for improved light-weight business process modeling in offline mode using browser resources
US9760788B2 (en) 2014-10-30 2017-09-12 Kofax, Inc. Mobile document detection and orientation based on reference object characteristics
US10242285B2 (en) 2015-07-20 2019-03-26 Kofax, Inc. Iterative recognition-guided thresholding and data extraction
US9779296B1 (en) 2016-04-01 2017-10-03 Kofax, Inc. Content-based detection and three dimensional geometric reconstruction of objects in image and video data
US10769566B2 (en) * 2016-10-05 2020-09-08 International Business Machines Corporation Managing process instances
US10762452B2 (en) 2017-03-09 2020-09-01 At&T Intellectual Property I, L.P. System and method for designing and executing control loops in a cloud environment
US10514895B2 (en) 2017-09-08 2019-12-24 Bank Of America Corporation Tool for generating event case management applications
US11062176B2 (en) 2017-11-30 2021-07-13 Kofax, Inc. Object detection and image cropping using a multi-detector approach
US11170171B2 (en) * 2018-09-17 2021-11-09 Sap Se Media data classification, user interaction and processors for application integration
US10819587B2 (en) * 2019-03-04 2020-10-27 Servicenow, Inc. Methods and systems for analysis of process performance

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246144B2 (en) * 2002-03-25 2007-07-17 Data Quality Solutions Method and system for managing a plurality of enterprise business systems
US7805324B2 (en) * 2004-10-01 2010-09-28 Microsoft Corporation Unified model for authoring and executing flow-based and constraint-based workflows
CN1825343A (zh) * 2004-10-01 2006-08-30 微软公司 创作和执行基于流程且基于约束的工作流的统一模型
US8583466B2 (en) * 2005-08-09 2013-11-12 Oracle International Corporation System and method for routing workflow items based on workflow templates in a call center
US20100161362A1 (en) * 2006-08-13 2010-06-24 Controls Force Ltd. Systems and methods for message-based control and monitoring of a business process
JP4834622B2 (ja) * 2007-07-23 2011-12-14 株式会社日立製作所 ビジネスプロセス運用管理システム、方法、プロセス運用管理装置およびそのプログラム
US8275647B2 (en) * 2007-12-27 2012-09-25 Genesys Telecommunications Laboratories, Inc. Method for assembling a business process and for orchestrating the process based on process beneficiary information
US8356075B2 (en) * 2010-05-13 2013-01-15 Sapag Distributed business process management system with local resource utilization

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王洋: "基于工作流的软件过程建模研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094008A (zh) * 2014-05-23 2015-11-25 费希尔-罗斯蒙特系统公司 基于通用过程系统库配置过程控制系统的方法和装置
CN104732341A (zh) * 2015-03-12 2015-06-24 用友网络科技股份有限公司 模拟业务流程及业务流程运行的控制方法和控制系统
CN109947800A (zh) * 2018-08-01 2019-06-28 日海智能科技股份有限公司 数据处理方法、装置、设备和介质

Also Published As

Publication number Publication date
CN102982396B (zh) 2017-12-26
US8762187B2 (en) 2014-06-24
US20130060596A1 (en) 2013-03-07

Similar Documents

Publication Publication Date Title
CN102982396A (zh) 通用过程建模框架
US9070104B2 (en) Cross-context task management
US8302096B2 (en) Methods and systems to perform individual tasks as a composite task
JP4375562B2 (ja) アプリケーションサーバのクラスタへの多重企業プランニングモデルの展開
JP4965078B2 (ja) 企業プランニング環境内のデータのリアルタイム集合
US11966984B2 (en) Systems and method for combined account reconciliation and variance/flux analysis
CN107341643B (zh) 可视化的流程展示方法及系统
JP4609994B2 (ja) 企業モデリング環境内のソフトウエアの拡張の選択的展開
US11720838B2 (en) Systems and method for a project management portal
US20060036687A1 (en) Computer implemented method and system for running a plurality of business processes
JP2006501577A (ja) 企業プランニングモデル実行中のノードレベル修正
CN113692582A (zh) 用于建立数据隐私管线和合约协议以共享数据的用户接口
Zimmermann An architectural decision modeling framework for service oriented architecture design
US11494740B1 (en) Techniques for providing alerts in a time and attendance system
CA3187583A1 (en) Providing triggers based on one-to-many or many-to-one relationships in a system of record
JP4384985B2 (ja) 企業プランニング環境内のネットワーク通信のインライン圧縮
Axelsson et al. Towards the architecture of a decision support ecosystem for system component selection
US10817811B2 (en) Methods and apparatus for exposing workflow process definitions as business objects
Lu The architecture of blockchain system across the manufacturing supply chain
US20190266544A1 (en) Techniques for managing process-flows across an enterprise
US20230316197A1 (en) Collaborative, multi-user platform for data integration and digital content sharing
Picard et al. Application of the service-oriented architecture at the inter-organizational level
Bronack Inventory management system
EP1628256A1 (en) A computer implemented method and system for running a plurality of business processes
US20180284712A1 (en) Integrated services platform

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent of invention or patent application
CB02 Change of applicant information

Address after: German Waldo

Applicant after: SAP AG

Address before: German Waldo

Applicant before: SAP AG

COR Change of bibliographic data

Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG

GR01 Patent grant