Oracle BPM(原Aqualogic)系统设计:动态化实现 -- RoyZhang
为了实现BPM系统按需应变的理念,Aqualogic BPM系统在设计的时候,也要灵活变通。
而一个系统中,最重要的就是角色和活动,那么,怎样设计才能做到动态加载角色和活动呢?
各位看官莫急,Aqualogic BPM既然是以J2EE为基础架构的平台,一定可以按我们想要的状况实现动态设计。
先看角色的动态设计,如下图1:
大家可以看到,在我们的系统中,所有流程的所有的角色都使用了BVWorkFlow。注意,这样并不是说整个系统的角色反而从多个变成了一个,而是这个角色使用了参数(括号里面),这个参数可以自己定义,并且可以在运行时改变。
这样,当系统需要的时候,无需重新设计流程,即可实现角色动态配置。
了解了角色的动态指定,大家一定对动态活动有了萌芽的想法。
请看图2:
而一个系统中,最重要的就是角色和活动,那么,怎样设计才能做到动态加载角色和活动呢?
各位看官莫急,Aqualogic BPM既然是以J2EE为基础架构的平台,一定可以按我们想要的状况实现动态设计。
先看角色的动态设计,如下图1:
大家可以看到,在我们的系统中,所有流程的所有的角色都使用了BVWorkFlow。注意,这样并不是说整个系统的角色反而从多个变成了一个,而是这个角色使用了参数(括号里面),这个参数可以自己定义,并且可以在运行时改变。
这样,当系统需要的时候,无需重新设计流程,即可实现角色动态配置。
了解了角色的动态指定,大家一定对动态活动有了萌芽的想法。
请看图2:
get activity content这个活动可以自动从配置,或者数据库表中读到当前需要调用的自动活动。
所有的动态活动都以代码的形式存储在系统里,根据运行时的需要,动态调用相应的活动,进行相关处理。
看到这里,诸位是否觉得豁然开朗。原来动态配置如此容易,只要转化一下固定的思维模式,动态化设计信手拈来!