论坛首页 Web前端技术论坛

jBPM Web Designer(jBPM Web 设计器、jBPM 流程设计器、工作流程设计器)

浏览 41301 次
该帖已经被评为良好帖
作者 正文
   发表时间:2010-01-27  

        研究jBPM已有一段时间了,今天终于决定拿点东西出来,但请大家原谅不能分享源码。之所以拿出来,希望通过交流认识到更多技术一线的同志们,结点人缘。本人不才只念完了高中,求职路屡战屡败,只好踏实地弄点东西出来撑下门面,希望有所帮助,找到一份满意的工作。

    

     大多研究JBPM的,对其引擎的扩展开发都不曾苦恼,但提及其可视化设计工具都希望能有一款WEB版设计器。

    

     苦恼过后,便有了开发设计器的冲动。首先通过网上找到的WEB流程设计工具,多半是非流程研究人员的产品,拿来用要经过大量的修改,不太可取,也不容易修改,参考倒是有些价值,在此谢过;另外由于刚学会了JavaScript在页面实现的拖曳功能。鉴于此便开始了行动,现在想想还有些大胆。由于一直没抽出时间来,拖了两个多月,终于写下了这篇文章。

    

     基于javaScript+css+vml的jBPM web designer,由于使用了vml只支持IE浏览器(IE5+),其中没有使用任何javaScript开发框架,但模仿了extJs框架的css界面风格。开发过程中参考了extJsprototypejQuery等javaScript开发框架;参考了jBPM designer eclipse 插件;参考了shine Workflow Designer截图、以及圈子中shappy1978贴出来的截图(当时还回帖希望这位大哥分享源码,结果失望,也就狠下心来独干,造自己的轮子);还参考了webflow、XiorkFlow、EMSFlow(applet)等,XiorkFlow是早期看过的流程设计工具。在此谢过以上提供的参考。

    

     以下以贴图方式介绍jBPM3 web designer。

 

1、流程设计器主界面,采用纯JS且面向对象的编程方式(事件处理机制swing、extjs思想中毒很深)开发,动态生成div等HTML代码,利用外部样式表以实现多风格支持,根据窗口大小自适应宽高,以使编辑区域最大可视化,仿jBPM designer eclipse 插件布局与操作习惯(其中个人觉得属性输入要比eclipse 插件方便些),仿extJs框架的css界面风格。主界面分为三部分,工具栏、编辑区、属性栏,支持鼠标拖动设定大小及最大化、最小化、还原功能。编辑区支持网格显示。目前设计器支持开始、结束、分支、合并、决策、任务、邮件7种节点(可以容易扩展新节点)并可以通过鼠标拖曳操作编辑大小,流程转换可以通过鼠标操作支持直线及折线。节点的连接操作进行验证,如只允许拖入一个开始节点;开始节点只允许单个from连接;结束节点只允许to连接,但支持多个连接;两个节点只能有唯一的同向连接等等。点击编辑区的空白处在属性栏显示流程定义的属性配置,点击节点则在属性栏显示节点的属性配置,点击流程转换或其label同样在属性栏显示其属性配置。在属性栏输入配置信息将自动保存并响应到图形展示上(如输入节点名称,则编辑区中节点显示的文字相应地改变)。整个设计器工作过程相当流畅。所有的配置信息将生成符合JPDL规范的XML流程定义文件。由于最终的产物是XML字符串,这赋予了流程设计器不仅仅能够定义出符合jBPM3的定义文件,稍做修改同样能定义出符合jPBM4,以及其它任何的基本XML的定义文件。

 

2、图形编辑节点及流程转换,利用vml标签获得良好的视觉效果(考虑兼容其它浏览器,可以开发基于svg、canvas或纯js的图形模型)。

 

网格

 

节点选中(节点选中后,可以通过鼠标按下拖动节点,改节点显示位置,也可以通过键w、a、s、d或up、left、dowm、rigth来移动节点,选中的节点能够通过delete键进行删除,连同其所有的form及to转换将一起被删除。当两个节点重叠时,选中节点始终显示于最上面)

 

 

 

 

 

更多内容请看博客http://lipinliang.iteye.com/

   发表时间:2010-01-27  
看上去很不错,先支持下
0 请登录后投票
   发表时间:2010-01-27  
UI不错,呵呵
1 请登录后投票
   发表时间:2010-01-27  
蛮漂亮的。
0 请登录后投票
   发表时间:2010-01-27  
貌似Jbpm已经自带了一个了
0 请登录后投票
   发表时间:2010-01-27  
虽然JBPM3没有自带工具,但是网上早有人放出图形设计工具,同时现在JBPM已经4.X了,本身自带了一个设计器。
不过楼主的精神可嘉,顶一个。
1 请登录后投票
   发表时间:2010-01-27  
基于用户自定义扩展的很多东西没有体现在自带的设计器上。
开始研究JBPM的时候还没有发布JBPM4,但是要用JBPM工作流引擎进行扩展开发了。
0 请登录后投票
   发表时间:2010-01-28  
没有使用任何前端库来做出这样的一个前台,应该说还是很需要勇气的
不过,为什么不用前端框架?以练带战??
0 请登录后投票
   发表时间:2010-01-28  
全部是由你自己做出来的吗?? 不错
现在在职吗?
学历确实是块硬伤...
0 请登录后投票
   发表时间:2010-01-28  
毕竟红尘 写道
没有使用任何前端库来做出这样的一个前台,应该说还是很需要勇气的
不过,为什么不用前端框架?以练带战??

现成的框架很好很全面,但是用起来显得笨重,对于特定的场合也是需要定制UI等很多东西,不好直接拿来用。还有最初的想法是模拟 jbpm jpdl designer eclipse plugin,这样会带来额外的效果,看起来就是jbpm jpdl designer的web版。因此只是参考了extJs、prototype、jQuery等javaScript开发框架。
0 请登录后投票
论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics