阅读更多

5顶
0踩

企业架构

原创新闻 开源工作流引擎 Snaker 1.0 发布

2013-12-04 16:37 by 见习记者 Dead_knight 评论(9) 有17012人浏览
Snaker是一个本着轻量、简单、灵巧理念而设计的工作流引擎,其特点主要如下。

1. 轻量

  • 可以不依赖主流的ioc、orm框架独立运行(使用JDBC+Dbutils)
  • 整个jar占用170K
2. 简单

  • 流程组件简单。这方面纠结很久,像jbpm包括(State/Hql/Sql/Jms/Custom/Java/Script等)真正用到的有几个呢?很多组件仅仅是附属品,但是会增加学习成本


  • 表设计简单(目前只有7张表):实际上,如果各种数据库对表分区支持较好,可去除历史记录的3张表。见:http://git.oschina.net/yuqs/snaker/wikis/DataBase
  • 上手简单:只需要根据实际的项目环境配置snaker.properties/snaker.xml两个文件即可
3. 灵巧

  • 扩展性:暴露较多的可扩展接口,甚至是核心的流程组件(只需在snaker.xml中增加bean的配置即可)。
  • 数据持久层面支持jdbc+dbutils、mybatis、hibernate、springjdbc。目前支持的数据库有oracle、mysql、sqlserver
当然,基于以上三点设计肯定会损失流程引擎的一些特性。所以Snaker目前主要针对中小型项目需要增加工作流特性的系统。

如果你的项目中部分业务需要使用工作流而觉得JBPM、ACTIVITI开发成本太高时,可考虑Snaker!

目前流程设计器的图形元素使用JBPM-JPDL的元素(个人觉得图标比较美观),如下图:



更多信息:http://dead-knight.iteye.com/blog/1976727

具体请参考:

  • 大小: 12.1 KB
  • 大小: 33 KB
5
0
评论 共 9 条 请登录后发表评论
9 楼 Dead_knight 2013-12-23 20:36
zhuchao_ko 写道
工作流就是流转 别跟什么业务 权限挂钩 越搞越大 越大越臃肿

是的,很多人用过商业的平台,里面也包括流程引擎,感觉工作流就应该提供这些权限,实际上这些商业平台误导了大家对流程引擎的理解。
8 楼 zhuchao_ko 2013-12-23 16:05
工作流就是流转 别跟什么业务 权限挂钩 越搞越大 越大越臃肿
7 楼 zhuchao_ko 2013-12-23 16:04
aruanruan 写道
用户和权限是否有所考虑?

这个跟工作流无关 你可以在别的地方自己写
6 楼 Dead_knight 2013-12-09 20:38
aruanruan 写道
用户和权限是否有所考虑?

请参考流程示例:
http://git.oschina.net/yuqs/snaker-demo
使用shiro做认证和授权。

流程引擎与用户、权限解耦。如果对任务设置了参与者,则该参与者可以传递用户、部门、角色都可以。只要在获取待办任务时,传递该用户id、所在部门id等就可以获取到待办任务。
5 楼 aruanruan 2013-12-09 18:33
用户和权限是否有所考虑?
4 楼 Dead_knight 2013-12-05 08:53
jnoee 写道
楼主展示的数据库设计用的工具是什么?
看上去很精简漂亮啊。

SQLyog的架构设计器
3 楼 jnoee 2013-12-05 08:51
楼主展示的数据库设计用的工具是什么?
看上去很精简漂亮啊。
2 楼 Dead_knight 2013-12-04 19:49
truekbcl 写道
说实在的,我搞不明白,为什么工作流要与sql相关。

个人理解,只是目前工作流主要应用于业务系统,而业务系统又普遍使用数据库,并且需要工作流具有存储历史记录的功能,其实使用sql存储到数据库只是一种方法,也可以记录到其它存储中。
1 楼 truekbcl 2013-12-04 18:53
说实在的,我搞不明白,为什么工作流要与sql相关。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • OLAP(三):Impala介绍 、 (和hive/spark对比)、COMPUTE STATS

    这可以在运行Impala服务器或群集中的其他节点的同一节点上运行。 Impala State存储守护进程的名称为存储的状态。 Impalad将其运行状况报告给Impala State存储守护程序,即存储的状态。在由于任何原因导致节点故障的...

  • 消息中间件选型分析:从 Kafka 与 RabbitMQ 对比

    广播消费 消息一般有两种传递模式:点对点(P2P,Point-to-Point)模式和发布/订阅(Pub/Sub)模式。对于点对点的模式而言,消息被消费以后,队列中不会再存储,所以消息消费者不可能消费到已经被消费的消息。虽然...

  • 出版、音频、音箱,全都要!

    前不久的5月,蜻蜓FM与中文在线战略签约,取得中文在线旗下17K小说网与四月天小说网的数字版权作品授权。这次和人民文学出版社之间的合作,一方面在内容制作层面上与出版社有了更多接触,人文社的玩法也给其他传统...

  • Apache ServiceComb 社区4月动态精选

    你好,四月我说 你是人间的四月天;笑响点亮了四面风;轻灵在春的光艳中交舞着变你是四月早天里的云烟;黄昏吹着风的软,星子在无意中闪;细雨点洒在花前......你是一树一树的...

  • 2019华为软件精英挑战杯参赛总结

    从初赛(3月30日)结束后到今天也过了近三分之一个四月天了,现在区域复赛正在如火如荼的进行中… “还有2天就复赛了,好紧张!!” “你初赛就被淘汰了,复赛和你有什么关系?” “(ಥ_ಥ)” 是的,这篇博文是菜鸟...

  • 深入理解计算机系统:进程

    Sleep #include // 返回:seconds left to sleep unsigned int sleep(unsigned int secs); // 让调用函数休眠,直到收到一个信号 // 返回:-1 int pause(void); Loading and Running Programs execve函数在当前进程...

  • Hbase - 迁移数据--导出,导入

    https://www.jianshu.com/p/045026a13bf8  有没有这样一样情况,把一个集群中的某个表导到另一个群集中,或者hbase的表结构发生了更改,但是数据还要,比如预分区没做,导致某台RegionServer很吃紧,Hbase的导出...

  • 复工大势下,远程办公的科技企业只能“坐以待毙”吗?

    充满成就感的看板 在这次敏捷项目的开发中, 我们尽可能的使用了看板,而且创造性的把需求和 Bug 放在了一起,每一项任务做完了,直接拖动看板,同时在群里吼一下。通知相关的同事进行下一步操作。 而且我们的看板...

  • Impala优化,并发性能问题,压测

    在进行impala性能测试的过程中,从测试结果发现impala的并发性能非常差。1.1 环境信息测试的环境配置如下:服务器内存:250G;CPU : 2个CPU,每cpu 6个物理核,逻辑核数24;带宽:万兆网口节点个数:3数据:TPC-DS...

  • Redis原理、持久化,高可用分布式,主从复制,性能, 淘汰策略

    Redis本质上是一个Key-Value类型的内存数据库,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。 因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次...

  • Linux账号管理与ACL权限设置

    1.1 使用者标识符: UID 与 GID .../etc/passwd 文件结构 /etc/shadow 文件结构 1.3 有效与初始用户组:groups,newgrp /etc/group 文件结构 有效群组(effective group)与初始群组(initial group) ...newgrp: 有效群...

  • node-v0.10.31-sunos-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • node-v0.10.44-linux-x86.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 30KW三相PFC充电桩充电模块项目开发设计方案CCS源码AD原理图bom测试报告

    30KW三相PFC充电桩项目开发设计方案CCS源码AD原理图bom测试报告

  • node-v0.10.32-x64.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW).zip

    JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)JAVA五子棋手机网络对战游戏的设计与实现(源代码+LW)

  • 人工智能+深度学习+卷积神经网络精细解读+整理版

    【项目资源】:汇聚了云计算、区块链、网络安全、前端设计、后端架构、UI/UX设计、游戏开发、移动应用开发、虚拟现实(VR)、增强现实(AR)、3D建模与渲染、云计算服务、网络安全工具等各类技术项目的素材和模板。包括AWS、Azure、Docker、Kubernetes、React、Vue、Angular、Node.js、Django、Flask、Unity、Unreal Engine、Blender、Sketch、Figma、Wireshark、Nmap等项目的素材和模板。【项目质量】:所有素材和模板都经过精心筛选和整理,确保满足专业标准。在发布前,我们已经对功能进行了全面测试,确保其稳定性和可用性。【适用人群】:适合对技术充满热情的初学者、希望提升专业技能的中级开发者、以及寻求创新解决方案的高级工程师。无论是个人项目、团队合作、课程设计还是商业应用,都能在这里找到合适的资源。【附加价值】:这些项目资源不仅具有很高的学习价值,而且能够直接应用于实际项目中,提高开发效率。对于有志于深入研究或拓展新领域的人来说,它们提供了丰富的灵感和基础框架,帮助你快速构建出令人惊艳的作品。

  • node-v0.12.16-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • node-v0.10.14-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • Hnase课程-概念资料

    Hnase课程-概念资料

Global site tag (gtag.js) - Google Analytics