一种工作流活动节点参与者扩展方法及装置的制作方法

文档序号:6377095阅读:198来源:国知局
专利名称:一种工作流活动节点参与者扩展方法及装置的制作方法
技术领域
本发明涉及软件技术领域,更具体的说,是涉及一种工作流活动节点参与者扩展方法及装置。
背景技术
企业的业务处理过程是由一系列的基本业务处理环节构成的,这些业务处理环节按照一定的逻辑顺序进行排列组合后就构成了企业的流程,而参与处理业务活动的人就是业务处理环节的参与者。活动环节参与者的类型可以分为两类角色和人。角色类型的参与者指的是具有某类角色的人作为业务活动的处理者,角色类型的参与者的任务是角色任务,与角色任务相对的就是待办任务,待办任务的参与者是具体的人。·现有工作流技术预先提供了预定义的参与者,预定义的参与者包括组织机构下的人,参与者可以是该组织机构下的所有人,用户在指定参与者时需要选择好组织机构;角色是指参与者是一个特定的角色,用户在指定参与者时需要选择好一个角色,具有这个角色的人都有可能参与处理这个活动环节;特定的员工,参与者是企业的某个特定的人,用户在定义参与者时需要指定好特定的人,如公司法人、法律顾问等;历史处理人是指参与者是前面处理过流程活动环节的人,用户在定义参与者时需要选择好历史环节。用户选择参与者时只能从这几种特定的参与者中选取,现有工作流技术的这种处理方式决定了工作流中可以支持的企业的流程是有限的,因为它支持的参与者类型是有限的,如果要支持更多的企业的流程就需要工作流不断的开发更多的参与者类型,而实际上工作流很难预测出企业的流程需要什么样的参与者,因此这种处理方式制约了工作流的发展。

发明内容
有鉴于此,本发明提供了一种工作流活动节点参与者扩展方法及装置,以克服现有技术中的工作流支持的参与者类型是有限的,制约工作流发展的问题。为实现上述目的,本发明提供如下技术方案一种工作流参与者扩展的方法,包括预先定义参与者抽象类,所述参与者抽象类包括至少一个获取参与者信息的方法,所述参与者信息包括参与者以及与其对应的参与者类型;将各个所述参与者抽象类注册至配置文件中;在所述工作流处于启动状态时,确定所述配置文件中的一参与者抽象类;依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型。其中,在所述将各个所述参与者抽象类注册至配置文件中之后,还包括将与各个所述参与者抽象类对应的组织机构树注册到配置文件中;相应的,在步骤依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型,之后还包括依据所述组织机构树,为用户定义的参与者确定相应的组织结构。其中,所述参与者信息还包括组织机构ID号。其中,在所述依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型,之后还包括根据所述参与者以及其对应的参与者类型,创建相应的任务。一种工作流参与者扩展的装置,包括定义模块,用于预先定义至少一个参与者抽象类,各个所述抽象类包括获取参与者信息的方法,所述参与者信息包括参与者以及与其对应的参与者类型;
注册模块,用于将各个所述参与者抽象类注册至配置文件中;工作流设计模块,用于在所述工作流处于启动状态时,确定所述配置文件中的一参与者抽象类,并依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型。其中,所述注册模块还用于将与各个所述参与者抽象类对应的组织机构树注册到配置文件中;相应的,所述工作流设计模块还用于依据所述组织机构树,为用户定义的参与者确定相应的组织结构。其中,所述参与者信息还包括组织机构ID号。其中,还包括创建任务模块,用于根据所述工作流设计模块确定的所述参与者以及其对应的参与者类型,创建相应的任务。经由上述的技术方案可知,采用本发明实施例提供的方法,由于预先定义了至少一个参与者抽象类,各个所述抽象类包括获取参与者信息的方法,所以当需要其他参与者类型时,只需要确定相应的抽象类即可,因此可以根据需要扩展工作流中的参与者,从而不再制约工作流的发展。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图I为本发明实施例提供的第一种工作流参与者扩展的方法的流程图;图2为本发明实施例提供的第二种工作流参与者扩展的方法的流程图;图3为本发明实施例提供的第一种工作流参与者扩展的装置的结构图;图4为本发明实施例提供的第二种工作流参与者扩展的装置的结构图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。参与者扩展是指业务系统可以根据自己的业务逻辑实现工作流提供的参与者定义。现有的技术方案无法满足业务系统参与者个性化的要求,即无法根据自己的业务逻辑实现工作流提供的参与者定义。本质原因是由于参与者的代码与工作流的代码结合的过于紧密,二者之间是紧耦合的,因此如果要想满足业务系统的个性化需求,就需要将参与者的具体实现代码与工作流代码进行解耦合,将二者分离开来,而实现这一分离的工具就是参与者抽象类。参与者抽象类包含至少一个获取参与者信息的方法,参与者信息包括参与者及与其对应的参与者类型,通过这些获取参与者信息的方法,工作流可以获得活动节点具体的参与者和参与者类型,该参与者抽象类是连接工作流和业务系统的一个桥梁,工作流通过 参与者抽象类读取参与者信息,而业务系统则通过实现参与者抽象类来实现具体的获得参与者的逻辑。参与者抽象类可以包括两个抽象的方法,一个方法用来返回参与者的类型,要么是角色,要么是人,另外一个方法返回具体的参与者。当业务系统觉得工作流提供的参与者类型无法满足业务需要时,就需要继承参与者抽象类,并实现这个类的两个抽象方法。实施例一请参阅附图1,为本发明实施例提供的第一种工作流参与者扩展的方法的流程图,该方法包括步骤SlOl :预先定义参与者抽象类,所述参与者抽象类包括至少一个获取参与者息的方法。所述参与者信息包括与参与者对应的参与者类型。参与者是指某个组织机构下的人。参与者是一个特定的角色,用户在指定参与者时需要选择好一个角色,则具有这个角色的人都有可能参与处理这个活动环节。参与者是企业的某个特定的人,用户在定义参与者时需要指定好特定的人,如公司法人、法律顾问等。参与者是前面处理过流程活动环节的人,用户在定义参与者时需要选择好历史环节,所以参与者类型包括人(例如某个组织机构下的人)、角色、特定的员工以及历史处理人等
坐寸ο步骤S102 :将各个所述参与者抽象类注册至配置文件中。配置文件的作用包括可以读取到用户扩展的参与者类,以便可以让用户在参与者在定义参与者类型时,看到业务系统中自己定义的参与者类型。用户还可以在这个配置文件中配置扩展参与者时使用到的组织机构树。工作流在运行时读取该配置文件以便执行业务系统的参与者抽象类。步骤SlOl以及步骤S102只有在最初时才会执行。步骤S103 :在所述工作流处于启动状态时,确定所述配置文件中的一参与者抽象类。用户注册的参与者以及参与者类型是上述确定的参与者抽象类的一个实例。步骤S104 :依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型。
本发明实施例可以根据当前所需的业务逻辑对参与者进行定义,从而可以按照实际的业务需求指定企业业务流程的各个处理环节的处理人。这个过程也可以成为参与者扩展,参与者扩展具有两方面含义第一,在流程定义时可以在活动节点参与者选择中可以选择业务系统自己扩展的参与者定义;第二,在流程运行的过程中,会去调用业务系统扩展的参与者定义,获得正确的参与者与参与者类型。本发明实施例,由于预先定义了至少一个参与者抽象类,各个所述抽象类包括获取参与者信息的方法,所以当需要其他参与者类型时,只需要确定相应的抽象类即可,因此可以根据需要扩展工作流中的参与者,从而不再制约工作流的发展。实施例二请参见图2,为本发明实施例提供的第二种工作流参与者扩展的方法的流程图,该方法可以包括步骤S201 :预先定义参与者抽象类,所述参与者抽象类包括至少一个获取参与者 息的方法。所述参与者信息包括参与者以及与其对应的参与者类型。步骤S202 :将各个所述参与者抽象类注册至配置文件中。步骤S203 :将与各个所述参与者抽象类对应的组织机构树注册到配置文件中。如果需要用到组织机构管理模块,则可以将用到的组织机构树也一起注册到配置文件中,这样当工作流启动时,就会去读取这个配置文件,然后在工作流的流程设计器中就会出现用户实现的参与者扩展类,然后用户在参与者定义模块选择这个参与者定义,就可以为活动节点指定自己定义的参与者了,非常的高效灵活。其处理过程如下所示。将让工作流引擎中的工作流设计器可以读取到用户扩展的参与者类,以便可以让用户在参与者定义时看到业务系统自己定义的参与者类型。用户可以在这个配置文件中配置扩展参与者时使用到的组织机构树。工作流在运行时读取该配置文件以便执行业务系统的参与者扩展类。由于参与者是某个组织机构下的人,所以需要将组织机构树注册到配置文件中,该组织机构树是指某一公司中的组织结构。相应的,参与者信息还包括组织机构ID号。业务系统在完成注册参与者扩展类的工作以后,工作流的流程设计器就可以识别该扩展类,用户在活动节点的参与者列表中就会看到该参与者扩展类,如果用户同时注册了组织机构树,用户还可以点开相应的组织机构树,选择自己需要的组织机构,则该组织机构ID就会被保存在流程定义中。步骤S204 :在所述工作流处于启动状态时,确定所述配置文件中的一参与者抽象类。步骤S205 :依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型。步骤S206 :依据所述组织机构树,为用户定义的参与者确定相应的组织结构。步骤S207 :根据所述参与者以及其对应的参与者类型,创建相应的任务。步骤S207为一优选步骤,本发明实施例可以没有本步骤。当扩展完毕参与者后,将流程定义进行保存并将其载入工作流,则工作流在运行流程时,就会去配置文件中读取用户实现的参与者扩展类,并调用该类的两个方法,从而得到参与者列表以及参与者类型,还可以给这些参与者创建相应的任务。如果是角色任务则参与者会在角色任务列表中看到,如果是待办任务,则参与者会在待办任务列表中看到自己的待办任务。本发明实施例实现了对工作流活动节点参与者的扩展,可以根据自己的业务需要按照特定的业务逻辑读取正确的参与者列表,而不用受限于工作流系统提供预先定义好的参与者类型,而工作流系统也可以更好的支持更多的业务系统的需求,在实际应用中可以通过本发明实施例预先定义多个类型的参与者类型,与现有的技术方案相比,具有如下有益效果可以满足业务系统的参与者个性化的要求,不需要工作流进行二次开发。本发明技术方案将业务系统的参与者个性化需求交给业务系统来实现,业务系统根据本发明技术方案提供的实现机制进行参与者扩展就可以满足其个性化的要求,而这些要求是业务系统自己开发的,无需工作流进行二次开发;灵活的处理方式可以支持更多的业务系统。采用本发明技术方案后,工作流就可以支持更多的业务系统,可以满足更多的业务系统的要求。本发明实施例,由于预先定义了至少一个参与者抽象类,各个所述抽象类包括获 取参与者信息的方法,所以当需要其他参与者类型时,只需要确定相应的抽象类即可,因此可以根据需要扩展工作流中的参与者,从而不再制约工作流的发展。实施例三上述本发明公开的实施例中详细描述了方法,对于本发明的方法可采用多种形式的装置实现,因此本发明还公开了一种装置,下面给出具体的实施例进行详细说明。请参阅图3,为本发明实施例提供的第一种工作流参与者扩展的装置的结构图,该装置包括定义模块301、注册模块302以及工作流设计模块303,其中定义模块301,用于预先定义至少一个参与者抽象类,各个所述抽象类包括获取参与者信息的方法,所述参与者信息包括参与者以及与其对应的参与者类型;注册模块302,用于将各个所述参与者抽象类注册至配置文件中;工作流设计模块303,用于在所述工作流处于启动状态时,确定所述配置文件中的一参与者抽象类,并依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型。实施例四请参阅图4,为本发明实施例提供的第二种工作流参与者扩展的装置的结构图,该装置包括定义模块301、注册模块302、工作流设计模块303以及创建任务模块401,其中定义模块301,用于预先定义至少一个参与者抽象类,各个所述抽象类包括获取参与者信息的方法,所述参与者信息包括参与者以及与其对应的参与者类型;参与者信息还包括组织机构ID号。注册模块302,用于将各个所述参与者抽象类注册至配置文件中;工作流设计模块303,用于在所述工作流处于启动状态时,确定所述配置文件中的一参与者抽象类,并依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型;注册模块302还用于将与各个所述参与者抽象类对应的组织机构树注册到配置文件中;相应的,工作流设计模块303还用于依据所述组织机构树,为用户定义的参与者确定相应的组织结构。
业务系统在工作流的特定的配置文件中注册了该参与者类,因为该参与者类需要用到组织机构树,因此同时注册了组织机构树,该组织机构树的作用是在活动的参与者定义中选择合适的组织机构,该组织机构的Id会作为一个参数被传入到扩展参与者类中。在工作流运行的过程中,首先继承实现工作流提供的参与者抽象类,实现了该参与者类提供的抽象的方法。在读取参与者信息的方法中,通过调用相关的组织机构管理的接口函数,根据用户选定的角色ID从组织机构中读取出相关的参与者的信息,并作为一个集合返回。在读取参与者类型的方法中,返回的值是HUMAN,也就是具体的人。
创建任务模块401,用于根据所述工作流设计模块确定的所述参与者以及其对应的参与者类型,仓Il建相应的任务。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1.一种工作流参与者扩展的方法,其特征在于,包括 预先定义参与者抽象类,所述参与者抽象类包括至少一个获取参与者信息的方法,所述参与者信息包括参与者以及与其对应的参与者类型; 将各个所述参与者抽象类注册至配置文件中; 在所述工作流处于启动状态时,确定所述配置文件中的一参与者抽象类; 依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型。
2.根据权利要求I所述方法,其特征在于,在所述将各个所述参与者抽象类注册至配置文件中之后,还包括 将与各个所述参与者抽象类对应的组织机构树注册到配置文件中; 相应的,在步骤依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型,之后还包括 依据所述组织机构树,为用户定义的参与者确定相应的组织结构。
3.根据权利要求2所述方法,其特征在于,所述参与者信息还包括组织机构ID号。
4.根据权利要求I所述方法,其特征在于,在所述依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型,之后还包括 根据所述参与者以及其对应的参与者类型,仓Il建相应的任务。
5.一种工作流参与者扩展的装置,其特征在于,包括 定义模块,用于预先定义至少一个参与者抽象类,各个所述抽象类包括获取参与者信息的方法,所述参与者信息包括参与者以及与其对应的参与者类型; 注册模块,用于将各个所述参与者抽象类注册至配置文件中; 工作流设计模块,用于在所述工作流处于启动状态时,确定所述配置文件中的一参与者抽象类,并依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型。
6.根据权利要求5所述装置,其特征在于,所述注册模块还用于将与各个所述参与者抽象类对应的组织机构树注册到配置文件中; 相应的,所述工作流设计模块还用于依据所述组织机构树,为用户定义的参与者确定相应的组织结构。
7.根据权利要求6所述装置,其特征在于,所述参与者信息还包括组织机构ID号。
8.根据权利要求5所述装置,其特征在于,还包括 创建任务模块,用于根据所述工作流设计模块确定的所述参与者以及其对应的参与者类型,创建相应的任务。
全文摘要
本发明实施例提供了一种工作流活动节点参与者扩展方法及装置,该方法可以包括预先定义参与者抽象类,所述参与者抽象类包括至少一个获取参与者信息的方法;将各个所述参与者抽象类注册至配置文件中;在所述工作流处于启动状态时,确定所述配置文件中的一参与者抽象类;依据确定的所述参与者抽象类获得相应的参与者及其对应的参与者类型。采用本发明实施例提供的工作流活动节点参与者扩展方法及装置可以根据需要扩展工作流中的参与者,从而不再制约工作流的发展。
文档编号G06Q10/06GK102915477SQ201210345570
公开日2013年2月6日 申请日期2012年9月17日 优先权日2012年9月17日
发明者杨宁, 田应生, 张敏杰 申请人:北京中电普华信息技术有限公司, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1