logo资料库

流程虚拟机(PVM)PPT演示.pdf

第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
资料共14页,剩余部分请下载后查看
jBPM4的PVM 荣浩 2009.7 什么是PVM(流程虚拟机) 2009-7-6 1
形容词 • 对流程图建模并执行的 • 内嵌的 内嵌的 • 可扩展支持多流程语言的 PVM总览 PVM对外服务 事件 异步 消息 运行 实例 时间 服务 引擎过程调度(Execution) (ProcessDefinition、Activity、Transition) 流程定义模型 运行期环境(IOC、Environment) 2009-7-6 2
PVM的流程定义模型 ObservableElement CompositeElement -events Event * -event 0 1 0..1 -eventReferences * EventListener ProcessDefinition * * Activity -activities -activities -source -destination -outgoingTransitions * -incomingTransitions * Transition PVM的运行过程调度 AtomicOperation Activity1 execution Wait2 Activity3 2009-7-6 3
AtomicOperation ExecuteActivity MoveToParentActivity MoveToParentActivity Signal TransitionEndActivity Just event TransitionTake signal Parent Activity execute TransitionStartActivity MoveToChildActivity 等等,节点的异步执行 2009-7-6 4
PVM的Job执行 Message createAsyncMessage AtomicOperation send Message Session save JOBS notify ID LOCK_OWNER LOCK_TIME … JobExecutor Dispatcher Thread Blocking Queue Job Executor Thread 那么,事件呢 2009-7-6 5
PVM的事件处理 End Take Start Activity1 Activity1 Activity2 y fire ExecuteEventListene r eventListenerIndex++ performAtomicOperation AtomicOperation PVM的事件处理 • 在 jbpm4 中则采用观察者模式来触发事件的。所有用户自己定义的动作,全 部要实现 EventListener 接口,这些动作作为监听者(就是事件 Event 的观 察者 Observer )注册到相应的流程定义对象上( ProcessElement 或者 Node ),而事件 Event 则作为被观察的对象(实际上就是 Observerable ), 实际上在 jbpm4 中专门定义出了一个对象 ObservableElementImpl ,流程定 义中的 NodeImpl 、 TransitionImpl 、 ProcessDefinitionImpl 均继承自此对 象,因此这些元素本身就可以作为 Observerable 而被观察者来监控。 2009-7-6 6
数据库里都有啥 运行库和历史库 2009-7-6 7
PVM的历史数据处理 execution fireHistoryEvent historySession process historyEvent save historyInstance Process Process InstanceStart Process Process InstanceEnd activityStart activityEnd historyActivityInstance historyProcessInstance 如何管理数据库连接、查找组件… 2009-7-6 8
分享到:
收藏