jBPM-Side流程设计器架构说明

jBPM-Side流程设计器架构说明

ID:44416487

大小:228.50 KB

页数:5页

时间:2019-10-21

jBPM-Side流程设计器架构说明_第1页
jBPM-Side流程设计器架构说明_第2页
jBPM-Side流程设计器架构说明_第3页
jBPM-Side流程设计器架构说明_第4页
jBPM-Side流程设计器架构说明_第5页
资源描述:

《jBPM-Side流程设计器架构说明》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、代码主要结构所谓流程设计器者,无怪乎读取xml文件,图形展现,操作图形元索,改变xml文件,回写,如此而己。既然如此,设计器的流程结构就非常清晰:首先是xml框架解析xml文件为Model模型组件,然后Model模型组件被展现为Component视图组件;用户对Component视图组件进行操作,这些操作被同步的修改到Model模型组件;最后用户保存时,Model模型组件经过xml框架解析回xml文件,该文件被上传到服务器或本地覆盖原有的xml文件。那么代码结构就很清晰了:xml框架、Model模型组件和Component视图纽件。但是等等,Model与Component(ill何交互呢?这里

2、就需要GEF框架嫁接起两者的联系。同时,一•个流程设计器往往要同时编辑多个流程定义,相比具体的流程定义而言,设计器拥有一些全局的对象,这些全局对象包括系统菜单栏、匸具条、整个设计器布局框架(ProcessDesigner)、设计器入口(ProcessEditor),还有就是负责保存全局属性和发布/订阅定制事件的ThcModcl对象。二、Component视图组件很直接,Component视图纽件拆的是与用户打交道的、与流程定义相关的视图元索。注意这里的一个定语:与流程定义相关的,即不包括系统菜单、工具条这些东东。这些视图元素很简单,包括画图板、各种节点元素和连接线元素。代码彳"于org.jbp

3、mside.view.component和org.jbpmside.view.coinponent.node卜。卞耍类SurfaceComponent>NodeComponent和Connectioncomponento看类名就很淸晰这些类分别代农着什么组件:•SurfaccComponent代表画图板;•NodeComponent代表节点;•ConnectionComponent代表连接线;org.jbpmside.view.component.node下的类就是NodeComponent类的子类,代表具体的单个节点类型了,包括开始节点、结束节点、Fork节点、Join节点等等。Compon

4、ent视图组件使用了degrafa来渲染表现形式。H前缺少一个屈性弹出框组件,职责展现和修改节点/连接线屈性。三、Model模型组件Xml流程定义文件解析为本地Model模型组件,本地建模和JBPM4的PVM建模一致,代码位于org.jbpmside.model卜,重要的类:•ProcessModel代表流程定义;•NodeModel代表节点定义;ConnectionModel代表连接线定义:剩卜的就是具体节点类型的模型类,例如StartNode/EndNode/TaskNode等。H前模型类还非常简单,因为前段时间主耍关注Component视图组件部分,接下来很快会与jPDL规范完全同步,同

5、时ProccssModcl/NodcModcl/ConncctionModcl会进彳亍重构,目标是与jBPM4模型完全一致。放新的模型位Torg.jbpmside.model.commonF,对jpdl4的支持位T'org.jbpmside.model.jpdl4卜,未来需耍将Component与Model的关联迁移至common包卜°。四、GEF框架GEFftE架嫁接ModelljComponent«1、IGraphicalEditor与IEditPartIGraphicalEditor与IEditPiirt是GEF框架里最重要的两个接口:IGraphicalEditor代表整个图形编辑器,

6、IGraphicalEditor里最重要的方法:viewplainfunctiongetgraphicVievver():GraphicVievver;返回当前的图形视图。在当前的设计里,设计器支持多个TabPane,每个流程定义会拥有一个单独的图形视图(即一个TabPane),这里的图形视图即指当前处于激活(编辑)状态的画图板;很显然IGraphicalEditor是-个全局类。IEditPart代表单个的图形编辑元素,很显然,这些元素是和Component组件一致的,IEditPart里最为重要的方法:viewplainfunctiongetmodel():Object;functions

7、etmode1(_mode1:Object):void;Component组件继承T*IEditPart,这样就瞬间将Component纽件号Model关联起来。IEditPart重要的实现类包扌iSGraphicViewerl-jGraphicEditPartoGraphicViewer被SurfaceComponent继承;GraphicEditPart被NodeComponenl和Conne

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。