背景:
小弟工作已有十年有余,期间接触了不少工作流产品,个人比较喜欢的还是JBPM,因为出自名门Jboss所以备受推崇,但是现在JBPM版本已经与自己当年使用的版本(3.X)大相径庭,想升级也不太容易,后来得知JBPM的老大转战到了Activiti,处于对JBPM的喜欢所以研究了一下Activiti,发现Activiti不但保留下JBPM优秀的DNA而且还进行了优化,相比之前JBPM设计更简单更清晰更容易掌握。
三年前Activiti开始进入公司的正式项目中并且表现非常良好,但是它的Web版的定制器无法满足我们的需求,可能是由于当初Activiti刚发布不久这方面的成型的产品比较少,所以没有找到合适的替代产品,那该怎么办呢?经过一番的思想斗争,小弟决定先自己做一个Demo,如果可行则自己研发。
经过研究其他工作流引擎的定制器,小弟发现找到一个能够支持多浏览器的绘图脚本库很关键,所以开始在网上疯狂的寻找,俗话说:黄天不负有心人,最后终于发现一个新大陆——Draw2d,但是接下来一个问题来了,这个脚本库是收费的,怎么办?谁叫咱们是做JAVA出身的呢!对免费的开源的情有独钟,后来在网上找到早期的版本是免费的,下载下来研究一番发现功能基本够用,哈哈哈。。。。搞定!
好了罗嗦的这么多,就是想引出本篇的主人公——Draw2d,至于它有多牛可以访问官网了解一下,不过现在都是收费的而且比早期的版本功能强大很多。
下面进入正题,详细讲解一下Draw2d,讲解之前请注意以下内容都是基于Draw2d早期版本而且都是本人通过研读代码获得(由于收费所以没有文档,只能靠自己),如果与现在版本有出入或者理解错误的地方请指正。
Draw2d类图:
以上是Draw2d中各种组件(如:窗口、对话框、菜单、图形、线的起点和终点、注释等等)类图,这些组件在绘图时经常用到,其中带颜色的类是本设计器使用的组件(后面的章节会着重介绍)。
以上是Draw2d中连接线类图,设计器中的连接线就是Connection扩展而来,一个Connection实例一般由三个部分组成:Color、ConnectionDecorator和ConnectionRouter。
Color:定义连接线的颜色(RGB)
ConnectionRouter:定义连接线是折线还是曲线等
ConnectionDecorator:定义连接线是否有箭头
后面会重点介绍,这里不在赘述。
以上是Draw2d中画布类图,绘图时在画布上添加图形(上面提到的类的实例)即可实现相应图形的绘制。Draw2d中已经内置了WorkFlow类型的画布这为定制器的开发带来了很大的方便。
这幅图是Draw2d中指令类图,Draw2d中使用了Command模式响应事件处理,方便实现自定义工具栏功能按钮,如:设置颜色、设置文本功能等等。
除了以上类图中展示的类,Draw2d中还有很多静态工具方法和工具类(如:XML解析、序列化/反序列化、ArrayList、String等),这里不在过多的展开查看源代码很容易理解,有问题的话可以给我留言。
下一篇着重讲解本定制器如何使用Draw2d进行扩展,敬请期待。。。。。
http://lisonghua2010.iteye.com/admin/blogs/1490165
Activit官方文档地址
http://activiti.org/userguide/index.html
-------------------------------------------------华丽分割线---------------------------------------------------------------------
温馨提示,下面是广告时间(不喜请绕行)
推广一下本人的小店:
http://tianya-zahuopu.taobao.com/
优惠多多,欢迎光临!
相关推荐
标题中的“easyui实现的Activiti工作流引擎web版流程设计器”揭示了本文将要讨论的重点,即如何利用EasyUI框架来构建一个基于Web的流程设计工具,该工具是基于Activiti工作流引擎的。EasyUI是一个轻量级的JavaScript...
将Activiti与EasyUI结合,可以创建一个直观、易用的模型设计器,使得业务人员和开发人员能够更便捷地设计和管理业务流程。 在"基于easyui实现的activiti模型设计器"项目中,我们可以深入探讨以下几个关键知识点: ...
基于Draw2D和EasyUI的流程管理原型提供了一种可视化的方式来设计和实施这些流程,使得非技术人员也能轻松理解和操作。下面将详细介绍这两个技术以及它们在流程管理中的应用。 首先,Draw2D(二维绘图框架)是一个...
【EasyUI + Draw2D BPM Web 工作流实例】是一个基于EasyUI框架与Draw2D组件构建的纯Web工作流管理系统。EasyUI是一个轻量级的JavaScript框架,主要用于简化前端开发,提供丰富的UI组件,如表格、下拉菜单、对话框等...
标题中的“easyui实现Activiti web 工作流在线编辑器”表明这是一个使用EasyUI框架构建的,专门针对Activiti工作流引擎的Web应用程序。EasyUI是一个基于jQuery的UI库,提供了一系列预先设计的组件,如表格、下拉菜单...
该项目是一款基于jfinal、easyUI和activiti框架构建的企业级协同平台设计源码。该平台集成了1705个PNG图片、921个GIF动画、404个JavaScript脚本、333个CSS样式、210个Java源代码、153个HTML页面、101个JAR库文件、48...
这个“activiti-5.14.zip”压缩包包含了Activiti 5.14版本的相关文件,这版Activiti是一个稳定且功能丰富的版本,提供了强大的流程定义和执行能力。 在Activiti中,你可以使用BPMN 2.0标准来设计流程图,这使得流程...
《基于Hibernate Spring Struts Shiro Activiti EasyUI的物流系统详解》 在信息化时代,物流系统的建设对于企业管理、效率提升至关重要。本项目采用了一系列主流的Java企业级开发框架,包括Hibernate、Spring、...
在本项目中,"jquery+easyui+websql.rar"是一个包含了使用jQuery、EasyUI框架以及WebSQL(或LocalStorage)技术来实现前端数据管理的压缩包。以下将详细阐述这些技术及其相互配合的方式。 首先,jQuery是一个广泛...
6. 实战案例:结合实际应用场景,演示jQuery+EasyUI的完整开发流程。 通过阅读《jQuery+EasyUI开发指南宝典》,开发者可以系统学习这两项技术,提升Web开发技能,轻松构建出功能强大且用户体验优秀的Web应用。而...
ProcessDesigner是一款基于EasyUI的Web在线流程设计工具,它提供了便捷的图形化界面,使得非技术人员也能轻松进行流程建模和管理。本文将深入探讨processDesigner的核心特性和应用场景,以及如何利用它实现高效的...
EasyUI 是一个基于 jQuery 的 UI 框架,它提供了丰富的组件和易于使用的API,用于快速构建美观且功能强大的Web应用程序。在这个“基于easyui做的一套管理系统”中,我们可以推测开发者利用 EasyUI 的功能创建了一个...
本文将深入探讨基于EasyUI的TextBox颜色选择器及其源码,帮助开发者理解这一组件的工作原理并实现自定义功能。 EasyUI是一个基于jQuery的轻量级前端框架,它提供了丰富的UI组件,使得开发者可以快速构建出美观、...
本项目基于Easyui和Thinkphp开发,包含296个文件,包括PNG图片、PHP源代码、HTML页面、JavaScript脚本、GIF动画、CSS样式表、TPL模板文件、数据库文件、HTACCESS文件和DAT数据文件。系统实现了基于Easyui和Thinkphp...
《基于EasyUI的仓库管理系统详解》 在当今信息化社会,企业对仓库管理的效率与准确性提出了更高的要求。基于EasyUI的仓库管理系统应运而生,它利用先进的Web技术和易用的用户界面,为企业提供了一种高效、便捷的...
EasyUI 是一个基于 jQuery 的前端框架,它提供了一系列精美的组件和控件,用于快速构建用户界面。这个“easyui 开发包很全”的压缩文件显然包含了完整的EasyUI开发资源,包括各种示例(demo)和相关的开发包,这对于...
《基于EasyUI的仓库管理系统详解》 仓库管理系统是企业日常运营中的重要组成部分,它负责管理库存物品的入库、出库、盘点以及库存状态等信息,有效地提升了企业的物流管理效率。在信息化时代,采用基于Web的仓库...
而asp.net MVC5是微软开发的一个强大的Web应用框架,基于模型-视图-控制器(MVC)设计模式,用于构建可维护、可扩展的Web应用程序。 【描述】中提到,这套源码适用于SQL2008及以上版本的数据库,意味着它具有与SQL ...