jBPM-Side设计器架构说明

jBPM-Side设计器架构说明

ID:40557326

大小:85.50 KB

页数:4页

时间:2019-08-04

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

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

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

2、ponent视图组件。但是等等,Model与Component如何交互呢?这里就需要GEF框架嫁接起两者的联系。同时,一个流程设计器往往要同时编辑多个流程定义,相比具体的流程定义而言,设计器拥有一些全局的对象,这些全局对象包括系统菜单栏、工具条、整个设计器布局框架(ProcessDesigner)、设计器入口(ProcessEditor),还有就是负责保存全局属性和发布/订阅定制事件的TheModel对象。二、Component视图组件很直接,Component视图组件指的是与用户打交道的、与流程定义相关的视图元素。注意这里的一个定语:与流程定义相关

3、的,即不包括系统菜单、工具条这些东东。这些视图元素很简单,包括画图板、各种节点元素和连接线元素。代码位于org.jbpmside.view.component和org.jbpmside.view.component.node下。主要类SurfaceComponent、NodeComponent和ConnectionComponent。看类名就很清晰这些类分别代表着什么组件:·SurfaceComponent代表画图板;·NodeComponent代表节点;·ConnectionComponent代表连接线;org.jbpmside.view.comp

4、onent.node下的类就是NodeComponent类的子类,代表具体的单个节点类型了,包括开始节点、结束节点、Fork节点、Join节点等等。Component视图组件使用了degrafa来渲染表现形式。目前缺少一个属性弹出框组件,职责展现和修改节点/连接线属性。三、Model模型组件Xml流程定义文件解析为本地Model模型组件,本地建模和jBPM4的PVM建模一致,代码位于org.jbpmside.model下,重要的类:·ProcessModel代表流程定义;·NodeModel代表节点定义;·ConnectionModel代表连接线定义

5、;剩下的就是具体节点类型的模型类,例如StartNode/EndNode/TaskNode等。目前模型类还非常简单,因为前段时间主要关注Component视图组件部分,接下来很快会与jPDL规范完全同步,同时ProcessModel/NodeModel/ConnectionModel会进行重构,目标是与jBPM4模型完全一致。 最新的模型位于org.jbpmside.model.common下,对jpdl4的支持位于org.jbpmside.model.jpdl4下,未来需要将Component与Model的关联迁移至common包下。二、GEF框架

6、GEF框架嫁接Model与Component。1、IGraphicalEditor与IEditPartIGraphicalEditor与IEditPart是GEF框架里最重要的两个接口:·IGraphicalEditor代表整个图形编辑器,IGraphicalEditor里最重要的方法:functiongetgraphicViewer():GraphicViewer;返回当前的图形视图。在当前的设计里,设计器支持多个TabPane,每个流程定义会拥有一个单独的图形视图(即一个TabPane),这里的图形视图即指当前处于激活(编辑)状态的画图板;很显然

7、IGraphicalEditor是一个全局类。·IEditPart代表单个的图形编辑元素,很显然,这些元素是和Component组件一致的,IEditPart里最为重要的方法:functiongetmodel():Object;functionsetmodel(_model:Object):void;Component组件继承于IEditPart,这样就瞬间将Component组件与Model关联起来。IEditPart重要的实现类包括GraphicViewer与GraphicEditPart。GraphicViewer被SurfaceCompone

8、nt继承;GraphicEditPart被NodeComponent和ConnectionComponent

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

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

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