
1.本发明属于管理软件的流程开发的技术领域,具体涉及一种面向对象的业务流程开发系统、方法、装置及存储介质。
背景技术:2.目前的互联网软件开发过程中,业务流程的实现由专门流程引擎模块实现,流程引擎独立于业务应用系统之外。流程引擎的流程设计都是面向过程的模式,流程的功能、数据和业务应用系统之间高度耦合。
3.这种开发模式会存在如下弊端:1)开发工作量大:将业务应用和流程应用分离,需要更多的开发资源;2)对接工作量大:随着业务应用更复杂,其流程应用的开发工作量会更大:因为需要做更多的数据对接;3)授权管理过程不便:业务应用授权和流程授权,即设置流程节点的执行人员是分离的过程。
技术实现要素:4.本发明的目的是提供一种面向对象的业务流程开发系统、方法、装置及存储介质,解决现有的互联网软件开发过程中开发工作量大、对接工作量大以及授权管理过程不便的问题。
5.为了实现上述目的,本发明采用以下技术方案:本发明第一方面提供了一种面向对象的业务流程开发系统,其用于软件系统的业务流程,包括多个业务应用系统,所述业务应用系统中定义有多个组件,每个所述组件关联一个职能,所述组件包括软件系统的功能、数据和界面,所述职能与组件一一对应;所述组件设置有接口,所述接口用于组件之间的数据传输;所述软件系统还包括流程建立模块,用于在各组件中分别建立业务应用系统所需的业务流程;流程授权模块,用于将业务流程对应组件的职能与组织架构的部门或职位关联;组件部署模块,用于将所述业务应用系统内的各组件部署到云资源上发布并运行,组件内的业务流程随着组件的部署而完成部署;流程执行模块,组件内的业务流程被事件所触发时,根据组件与组件之间的接口的连接关系,调用关联组件的业务流程;流程监控模块,当业务流程被触发时,将所述业务流程的所有任务信息发送到任务管理系统;所述任务管理系统用于展示所述业务流程中各节点的配置和状态。
6.根据上述技术内容,该系统中包括多个业务应用系统,所述业务应用系统中定义有多个职能,每个所述职能关联一个组件,所述职能与组件一一对应,由此,每一个职能都是一个独立的组件,通过组件的对外接口实现组件之间的数据传输,组件是对象化的业务应用系统单元,所述组件包括软件系统的功能、数据和界面业务流程是组件内异步化的实
现方法;一个组件内可包含一个或多个业务流程软件方法和普通的软件方法,所述软件方法在软件编程领域中指软件实现某一功能执行的一串代码或者说是解决一类问题的步骤的有序组合,所述业务流程软件方法为需要人为参与的软件步骤,普通的软件方法为不需要人为参与的软件步骤,由于组件包括软件系统功能以及数据,业务流程软件方法和普通的软件方法可共享组件内独有的数据;组件内的业务流程通过对外接口可以进行流程之间的互相调用,实现具体的业务功能和数据传输;面向对象的业务流程比面向过程的业务流程有明显的优势,实现了高内聚低耦合,即程序模块的可重用性、移植性大大增强,便于升级扩展,便于授权配置,便于复杂数据传输和回滚等;解决现有的互联网软件开发过程中开发工作量大、对接工作量大以及授权管理过程不便的问题。
7.本发明第二方面提供了面向对象的业务流程开发方法,包括以下步骤:响应于人机交互的业务流程构建操作,在组件中构建业务应用系统所需的;响应于人机交互的业务流程授权操作,将业务流程对应组件的职能与组织架构的部门或职位关联;响应于人机交互的组件部署操作,将所述业务应用系统内的各组件部署到云资源上发布并运行,组件内的业务流程随着组件的部署而完成部署;组件内的业务流程被事件所触发时,根据组件与组件之间的接口的连接关系,调用关联组件的业务流程;当业务流程被触发时,将所述业务流程的任务信息发送到任务管理系统;所述任务管理系统用于展示所述业务流程中各节点的配置信息和状态信息。
8.根据上述技术,通过面向对象的开发方式,在业务应用系统开发过程中的同时定义了业务流程,逻辑明晰,便于开发和维护;降低了系统复杂度,提高运行效率,降低运维成本;降低了流程和流程之间的耦合度,便于功能扩展和数据传输。
9.在一种可能设计中,所述业务流程中各节点的配置信息包括任务名称信息、执行人信息、任务界面信息和计划时间信息中的一项或多项。
10.在一种可能设计中,所述业务流程的构建方法如下:响应于人机交互的组件定义操作,确定每个应用系统内的组件结构,以及每个应用系统的对外接口;响应于人机交互的组件内部结构定义操作,确定所述组件的内部结构,所述组件的内部结构包括组件内的数据、软件方法、子组件、数据接口、方法接口和软件容器中的一项或多项;响应于人机交互的组件内业务流程类方法的定义操作,确定组件内业务流程类方法的流程图和组件的配置;响应于人机交互的组件接口定义操作,确定各组件之间的接口连接关系。
11.响应于人机交互的开始配置操作,获取职能列表;响应于人机交互对职能下的流程选择操作,确定流程信息,并展示所述流程信息;响应于人机交互对流程信息的编辑操作,确定各组件内的流程信息以及流程节点信息,并写入数据库。
12.在一种可能设计中,所述业务流程授权的方法如下:获取组件对应的职能,将职能与组织架构的部门或职位关联;
根据职能和组件的关联关系得到各组件内的业务流程与部门或职位的关联关系,进而完成业务流程的授权过程。
13.在一种可能设计中,所述业务流程部署的方法如下:响应于人机交互的流程部署开始操作,按层次展示职能列表;响应于人机交互基于所述职能列表的职能选中操作,展示计算资源配置表;响应于人机交互基于所述计算资源配置表的计算资源配置信息录入操作,将所述计算资源配置信息写入数据库。
14.在一种可能设计中,执行相应的业务流程的方法如下,响应于人机交互的业务流程触发操作,每触发一个新流程,给该新流程生成一个任务树,并把该任务树发送到任务管理系统,所述任务管理系统将对该流程做以下操作:为每个流程节点生成一个任务并分配缺省的执行人;为每个任务设置缺省参数,所述缺省参数包括任务名称、任务时长和/或任务优先级;根据流程的执行次序为每个任务设定相应的任务状态,所述任务状态是待执行、正执行、已完成、已撤销或已终止;响应于人机交互的控制操作,对任务进行相应的控制操作,控制操作包括更改执行人、修改参数、撤销任务或终止任务;所述流程有新的节点任务时,所述任务管理系统通知任务执行人以及关联人员。
15.在一种可能设计中,所述业务流程的任务信息包括任务名称信息、任务关联的职能信息、任务布置人信息、任务创建时间信息、任务预计完成时间信息、任务时长信息、任务优先级信息、任务描述信息和任务完成情况中的一项或多项。
16.本发明第三方面提供了一种面向对象的业务流程装置,包括存储器和处理器,所述存储器与处理器之间通过总线相互连接;所述存储器存储计算机执行指令;所述处理器执行存储器存储的计算机执行指令,使得处理器执行如本发明第二方面以及第二方面中任意一项可能的设计中提供所述的面向对象的业务流程开发方法。
17.本发明第四方面提供了一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如如本发明第二方面以及第二方面中任意一项可能的设计中所述的面向对象的业务流程开发方法。
18.有益效果:1、本发明提供的面向对象的业务流程开发系统,该系统中包括多个业务应用系统,所述业务应用系统中定义有多个职能,每个所述职能关联一个组件,所述职能与组件一一对应,由此,每一个职能都是一个独立的组件,通过组件的对外接口实现组件之间的数据传输,组件是对象化的业务应用系统单元,所述组件包括软件系统的功能、数据和界面业务流程是组件内异步化的实现方法;一个组件内可包含一个或多个业务流程软件方法和普通的软件方法,所述软件方法在软件编程领域中指软件实现某一功能执行的一串代码或者说是解决一类问题的步骤的有序组合,所述业务流程软件方法为需要人为参与的软件步骤,普通的软件方法为不需要人为参与的软件步骤,由于组件包括软件系统功能以及数据,业务流程软件方法和普通的软件方法可共享组件内独有的数据。组件之间的业务流程通过接口可以互相调用,实现具体的业务功能和数据传输。面向对象的业务流程比面向过程的业
务流程有明显的优势,实现了高内聚低耦合,即程序模块的可重用性、移植性大大增强,便于升级扩展,便于授权配置,便于复杂数据传输和回滚等。解决现有的互联网软件开发过程中开发工作量大、对接工作量大以及授权管理过程不便的问题;2、本发明提供的一种面向对象的业务流程开发方法,通过面向对象的开发方式,在业务应用系统开发过程中的同时定义了业务流程,逻辑明晰,便于开发和维护;降低了系统复杂度,提高运行效率,降低运维成本;降低了流程和流程之间的耦合度,便于功能扩展和数据传输。
附图说明
19.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
20.图1为本发明提供的一种面向对象的业务流程开发系统的模块结构示意图;图2为本发明提供的一种面向对象的业务流程开发方法流程示意图。
具体实施方式
21.下面结合附图及具体实施例来对本发明作进一步阐述。在此需要说明的是,对于这些实施例方式的说明虽然是用于帮助理解本发明,但并不构成对本发明的限定。
22.本发明第一方面提供的一种面向对象的业务流程开发系统,其用于软件系统的业务流程,包括多个业务应用系统,所述业务应用系统中定义有多个组件,每个所述组件关联一个职能,所述组件包括软件系统的功能、数据和界面,所述职能与组件一一对应;所述组件设置有接口,所述接口用于组件之间的数据传输;如图1所示,所述软件系统还包括:流程建立模块,用于在各组件中分别建立业务应用系统所需的业务流程;流程授权模块,用于将业务流程对应组件的职能与组织架构的部门或职位关联;组件部署模块,用于将所述业务应用系统内的各组件部署到云资源上发布并运行,组件内的业务流程随着组件的部署而完成部署;流程执行模块,用于组件内的业务流程被事件所触发时,根据组件与组件之间的接口连接关系,调用关联组件的业务流程;以及流程监控模块,用于当业务流程被触发时,将所述业务流程的所有任务信息发送到任务管理系统;所述任务管理系统用于展示所述业务流程中各节点的配置和状态。
23.如图2所示,本发明第二方面提供了面向对象的业务流程开发方法,包括以下步骤:s1、响应于人机交互的业务流程构建操作,在组件中构建业务应用系统所需的业务流程;具体实施时,流程设计是由组件开发工具完成,如上述面向对象的业务流程开发系统中的流程建立模块,如需要在业务应用系统的某个组件中添加一个流程,则需要打开该组件的视图,在组件工具的流程建立模块中,根据操作流程增加流程、编辑流程、测试流程等。
24.s2、响应于人机交互的业务流程授权操作,将业务流程对应组件的职能与组织架构的部门或职位关联;
具体的,业务应用系统设计完成后,通过业务应用系统部署工具,把业务应用系统中各组件配置到组织架构的部门和职位中。具体实施时,一般的,组件内的流程权限,由该组件的权限决定;授权完成后,可以针对具体流程做配置操作,例如每个节点的提示信息定义,超时时间定义等等。
25.s3、响应于人机交互的组件部署操作,将所述业务应用系统内的各组件部署到云资源上发布并运行,组件内的业务流程随着组件的部署而完成部署;具体实施时,做完业务应用系统的授权后,采用系统中的流程部署模块即可把该业务应用系统部署到云资源上发布并运行。
26.s4、组件内的业务流程被事件所触发时,根据组件与组件之间的接口的连接关系,调用关联组件的业务流程;具体的,业务应用系统发布后,相应职位的桌面上能够显示已授权组件的应用图标。点开应用图标进入该组件界面,如组件内有流程操作,即可启动相应流程。
27.s5、当业务流程被触发时,将所述业务流程的任务信息发送到任务管理系统;所述任务管理系统用于展示所述业务流程中各节点的配置信息和状态信息,包括:任务名称、执行人、任务状态、任务界面、计划时间等等。
28.具体的,任务关联的职员对应的职能组件可以浏览具体任务,也可以修改任务的某些配置,例如:修改任务执行人,回滚、终止任务等等。
29.具体示例,以下提供一个订单流程简单需求实例,业务流程具体如下:客户在决定购买产品时会联系销售员,销售员在软件系统内执行下单操作。下单完成后,销售部门的主管可以看到该订单记录;并交由财务员进行收款确认,确认无误后交由仓储部执行发货流程;每个角色对应相应的职能组件,本示例中,订单流程的执行,要关联七个不同角色的职能组件。整个流程的执行过程如下:1、销售员对应的的职能组件运行该组件内的“订单启动”流程,打开“订单信息输入”界面,输入订单相关信息。按确认后,“订单启动”流程执行下一步——调用销售部对应职能组件的“订单执行”流程;2、销售部对应职能组件的“订单执行”流程首先调用销售主管对应职能组件的“订单审核”界面;3、销售主管打开对应“订单审核”界面后,输入相关审核信息,确认后返回到销售部职能组件的“订单执行”流程,执行下一个节点:调用财务部对应职能组件的“订单收款确认”流程。
30.4、财务部对应职能组件的“订单收款确认”流程调用出纳对应职能组件的“收款确认”界面;5、出纳打开对应“收款确认”界面后,输入相关收款信息,确认后返回到财务部职能组件的“订单收款确认”流程,执行下一个结束节点,返回到销售部职能组件的“订单执行”流程,执行下一个节点:调用仓储部对应职能组件的“货物交付”流程。
31.6、仓储部对应职能组件的“货物交付”流程调用出仓员对应职能组件的“货物交付确认”界面;7、出仓员打开对应“货物交付确认”界面后,输入相关货物信息,确认后返回到仓
储部职能组件的“货物交付”流程,执行下一个结束节点,返回到销售部职能组件的“订单执行”流程,执行下一个结束节点,返回到销售员职能组件的“订单启动”流程,执行下一个节点:订单状态知会界面。
32.8、销售员打开“订单状态知会界面”,按确认后,整个流程结束。
33.为实现上述业务流程,涉及7个组件的4个流程和3个界面。其中,销售员、销售部、销售主管对应的3个职能组件属于“销售系统”应用的组件。财务部、出纳对应2个职能组件属于“财务系统”应用的组件。仓储部、出仓员对应2个职能组件属于“仓库系统”应用的组件。其中,销售系统、财务系统和仓库系统即为本技术中的应用系统;整个订单流程中4个子流程和3个界面分属于3个应用系统的不同组件;在一种可能实施方式中,上述订单流程,即为本技术中的业务流程,该业务流程的构建方法如下:响应于人机交互的组件定义操作,确定每个应用系统内的组件结构,以及每个应用系统的对外接口;响应于人机交互的组件内部结构定义操作,确定所述组件的内部结构,所述组件的内部结构包括组件内的数据、软件方法、子组件、数据接口、方法接口和软件容器中的一项或多项;具体的,组件内的流程作为组件内特殊的软件方法,即有人参与的软件方法,软件方法在软件编程领域中指软件实现某一功能执行的一串代码或者是指解决一类问题的步骤的有序组合。
34.响应于人机交互的组件内业务流程类方法的定义操作,确定组件内业务流程类方法的流程图和组件的配置;响应于人机交互的组件接口定义操作,确定各组件之间的接口连接关系。
35.具体的,应用系统之间的连接则是在应用系统部署时建立。
36.在系统运行的过程中,需要由相应角色来执行该流程,流程授权完成了流程中的各个节点和角色的关联关系;除此之外,流程和各个节点也支持信息配置。
37.由于流程和流程节点都是组件内的一个方法,故对组件的授权过程即完成流程授权过程。
38.响应于人机交互的开始配置操作,获取职能列表;响应于人机交互对职能下的流程选择操作,确定流程信息,并展示所述流程信息;响应于人机交互对流程信息的编辑操作,确定各组件内的流程信息以及流程节点信息,并写入数据库。具体实施时,选择指定的流程,在窗口页会展示流程信息,可对其进行配置,配置的内容可包括流程名称、流程时长、各流程节点之间的后置量等。
39.在一种可能实施方式中,所述业务流程授权的方法如下:获取组件对应的职能,将职能与组织架构的部门或职位关联;根据职能和组件的关联关系得到各组件内的业务流程与部门或职位的关联关系,进而完成业务流程的授权过程。
40.在一种可能实施方式中,所述业务流程部署的方法如下:响应于人机交互的流程部署开始操作,按层次展示职能列表;响应于人机交互的职能选中操作,展示计算资源配置表;响应于人机交互的计算资源配置信息录入操作,将所述计算资源配置信息写入数
据库。所述计算资源配置信息即配置职能所运行的服务器,为其预分配计算资源。
41.该过程旨在为流程和流程节点配置运行时必要的计算资源信息。由于流程是组件内的一部分,故通过对职能,职能和组件为一一对应的关系,即对职能的部署可完成流程的部署过程。
42.在一种可能实施方式中,执行相应的业务流程的方法如下,响应于人机交互的业务流程触发操作,每触发一个新流程,给该新流程生成一个任务树,并把该任务树发送到任务管理系统,所述任务管理系统将对该流程做以下操作:为每个流程节点生成一个任务并分配缺省的执行人;为每个任务设置缺省参数,所述缺省参数包括任务名称、任务时长和/或任务优先级;根据流程的执行次序为每个任务设定相应的任务状态,所述任务状态是待执行、正执行、已完成、已撤销或已终止;响应于人机交互的控制操作,对任务进行相应的控制操作,控制操作包括更改执行人、修改参数、撤销任务或终止任务;所述流程有新的节点任务时,所述任务管理系统通知任务执行人以及关联人员。
43.相应的,通过“任务管理系统”,流程负责人以及节点执行人可以观察流程的执行状况,具体实施时,流程任务执行人了解任务的所有任务信息,所述业务流程的任务信息包括任务名称信息、任务关联的职能信息、任务布置人信息、任务创建时间信息、任务预计完成时间信息、任务时长信息、任务优先级信息、任务描述信息和任务完成情况中的一项或多项。
44.流程任务负责人了解该流程所有子任务的相关信息,流程任务知会人了解流程相关信息。
45.本技术方案中的流程,其是面向对象的,每个流程属于某个对象的异步方法。同样地,流程的节点也属于某个组件内的方法。而对于传统的软件应用而言,流程是面向过程的。
46.这种方式相较于传统方式的优势如下:(1)每个流程节点对应终端组件内的某个软件方法,而每个终端组件都有其自身的界面设计模块;以此可以实现每个流程节点的应对不同职能的用户具有对应的操作界面;(2)流程有固定输入和输出,每个节点操作的数据和其它流程和业务应用系统便于共享;例如:在订单流程案例中,订单流程就输出了订单数据并传递到仓储应用中,可供其在发货流程使用;(3)流程节点可以进行配置;包括预先定义工作时长、优先级以及指定负责部门下的职员等。
47.(4)流程的授权和组件授权统一,简单方便;因为流程和流程节点都是组件内的一部分,故对组件的授权过程即为对流程的授权过程。
48.(5)流程可回滚和撤销,数据可以自动恢复,无需编程人员做专门处理;流程在执行时通过数据取消或者数据回滚来实现流程回滚。
49.本发明第三方面提供了一种面向对象的业务流程装置,包括依次相连的存储器、
处理器和收发器,其中,所述存储器用于存储计算机程序,所述收发器用于收发消息,所述处理器用于读取所述计算机程序,使得处理器执行如本发明第二方面以及第二方面中任意一项可能的实施方式中提供所述的面向对象的业务流程开发方法。具体举例的,所述存储器可以但不限于包括随机存取存储器(random-access memory,ram)、只读存储器(read-only memory,rom)、闪存(flash memory)、先进先出存储器(first input first output,fifo)和/或先进后出存储器(first input last output,filo)等等;具体地,处理器可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器可以采用dsp(digital signal processing,数字信号处理)、fpga(field-programmable gate array,现场可编程门阵列)、pla(programmable logic array,可编程逻辑阵列)中的至少一种硬件形式来实现,同时,处理器也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称cpu(central processing unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。
50.在一些实施例中,处理器可以在集成有gpu(graphics processing unit,图像处理器),gpu用于负责显示屏所需要显示的内容的渲染和绘制,例如,所述处理器可以不限于采用型号为stm32f105系列的微处理器、精简指令集计算机(reduced instruction set computer,risc)微处理器、x86等架构处理器或集成嵌入式神经网络处理器(neural-network processing units,npu)的处理器;所述收发器可以但不限于为有线收发、无线保真(wifi)无线收发器、蓝牙无线收发器、通用分组无线服务技术(general packet radio service,gprs)无线收发器、紫蜂协议(基于ieee802.15.4标准的低功耗局域网协议,zigbee)无线收发器、3g收发器、4g收发器和/或5g收发器等。此外,所述装置还可以但不限于包括有电源模块、显示屏和其它必要的部件。
51.本发明第四方面提供了一种存储介质,所述存储介质上存储有指令,当所述指令在计算机上运行时,执行如如本发明第二方面以及第二方面中任意一项可能的设计中所述的面向对象的业务流程开发方法。所述计算机可读存储介质是指存储数据的载体,可以但不限于包括软盘、光盘、硬盘、闪存、优盘和/或记忆棒(memory stick)等,所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。
52.最后应说明的是,以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。