一、    代码主要结构 
 所谓流程设计器者,无怪乎读取xml文件,图形展现,操作图形元素,改变xml文件,回写,如此而已。
 
 既然如此,设计器的流程结构就非常清晰:首先是xml框架解析xml文件为Model模型组件,然后Model模型组件被展现为Component视图组件;用户对Component视图组件进行操作,这些操作被同步的修改到Model模型组件;最后用户保存时,Model模型组件经过xml框架解析回xml文件,该文件被上传到服务器或本地覆盖原有的xml文件。
 
 那么代码结构就很清晰了:xml框架、Model模型组件和Component视图组件。但是等等,Model与Component如何交互呢?这里就需要GEF框架嫁接起两者的联系。同时,一个流程设计器往往要同时编辑多个流程定义,相比具体的流程定义而言,设计器拥有一些全局的对象,这些全局对象包括系统菜单栏、工具条、整个设计器布局框架(ProcessDesigner)、设计器入口(ProcessEditor),还有就是负责保存全局属性和发布/订阅定制事件的TheModel对象。
 
 二、    Component视图组件 
 很直接,Component视图组件指的是与用户打交道的、与流程定义相关的视图元素。注意这里的一个定语:与流程定义相关的,即不包括系统菜单、工具条这些东东。这些视图元素很简单,包括画图板、各种节点元素和连接线元素。
 
 代码位于org.jbpmside.view.component和org.jbpmside.view.component.node下。主要类SurfaceComp
  详细解决方案
                jBPM-Side流程设计器架构说明
热度:91   发布时间:2023-12-17 19:39:28.0
                    相关解决方案
                
                - jbpm 怎么实现自定义流程,也可以有选择的自定义
 - jbpm 数据表被剔除且被重新创建
 - jbpm+ssh流程结束时出现java.lang.NoSuchMethodError: org.hibernate.Session.getTransaction,该怎么处理
 - jbpm 3.2 部署流程报错,求解决办法
 - jBPM-jPDL初学遇到的有关问题
 - jbpm 奇怪的有关问题 couldn't signal token 'Token(/)'
 - JBPM node节点如何挂一个常量或者变量
 - jbpm action中的<msg></msg>起什么作用?如何用
 - jbpm 创建流程实例时 org.jbpm.scheduler.exe.Timer is not mapped.java.lang.IndexOutOfBoun,该怎么处理
 - jbpm 奇怪的有关问题 couldn't signal token 'Token(/)'
 - beauty has an ugly side,该如何解决
 - 哪里能找到org.jbpm.pvm.internal.cfg.SpringConfiguration?
 - 请问一个错误:Your script possibly relies on a session side-effect which .
 - ASP中的异常:A page can have only one server-side Form tag
 - 为什么 小弟我的 jbpm 多支点的 会报错
 - jBPM3.2.2源码分析-org.jbpm.taskmgmt*包&&org.jbpm.web
 - jbpm 18个表引见
 - JBPM 的signal和end的区别是什么解决方法
 - JBPM 怎么在前台动态生成流程图
 - jBPM(三): 怎么在Eclipse搭建jBPM环境
 - jbpm 这个干工作流好用吗,现在用啥设计工作流比较好用呢
 - 对Server-Side TAF的疑问?解决方案
 - 对Server-Side TAF的疑义
 - []PPC连接有关问题"Unable to load device side "
 - left side of asnop not an lvalue,该怎么解决
 - left side of asnop not an lvalue,该怎么处理
 - beauty has an ugly side,该怎么处理
 - jbpm 4.4 sql 查询范例
 - # command-line-arguments .\main.go:5:4: no new variables on left side of :=
 - The application has failed to start because its side-by-side configuration is incorrect.