`
cleaneyes
  • 浏览: 342518 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

你用过哪些工作流产品?

阅读更多

最初接触工作流是从jBPM开始的,从对工作流没有什么概念,到将其应用到一个小项目中,研究了两三个月。

开源的工作流缺乏文档,更重要的是缺乏结合业务的示例。试用jBPM的日子可谓痛并快乐着,配置成功花费了好几天的时间。因网上给出的配置范例都是使用Hibernate,而我用的是ibatis,jBPM与ibatis使用不同的数据源。结果一个jBPM与Spring的结合,再加上ibatis和事务控制,把我弄得焦头烂额,但终究大功告功,可谓大大松了一口气,可以进行实战了。

jBPM源码中给出的例子虽然在教你怎么用它的API,但都是些玩具,没有一个结合业务逻辑的例子。网上流转的那个请假的例子,算是唯一可以学习的榜样。但还是过于简单,离实际应用有很大的差距。最后我做了一个在线订单系统把jBPM用上了,没用去实现那些有中国特色的工作流功能(回退,会签,自由流等)功能。

 

当时我很想知道商用的工作流产品是个什么样子,到底实现了哪些功能。恰巧现在的项目用到了西安协同的工作流,这也算是国内工作流软件的一个老牌子了。使用jBPM的经验,让我自然的将两者进行对比。说功能,当然是商用产品功能产品强。对回退/自由流/会签/取回/同步工作组/异步工作组这些较复杂功能的支持,加上与组织架构的结合,使商用工作流产品显得强悍很多。

而做为开源Java工作流的老大jBPM,在工作流设计上显得要优雅很多,从api的设计,总体架构来看,jBPM是大师的作品,而西安协同的工作流就像是软件作坊出来的。从工作流引擎的原理上看,jBPM更加灵活。

 

jBPM的设计与一般工作流产品最大的不同在于,jBPM没有服务端,它与你的其他代码一样,运行在你的web服务器里。而一般工作流产品都有服务端,引擎运行在服务端,你必须架设工作流服务器,客户端通过RMI的方式与服务端连接。RMI方式有短暂的延时,所以你完成一个工作项后,并不能马上返回下一个工作项的实例。

 

移植性来说,jBPM工作流更方便。因为他的移植只需移植他的流程定义文档,而不用管数据库。流程定义文档就是用源码的一部分,受版本控制, 流程定义要更新到数据库时,只需调用jBPM的一个API,你可以用ant实现自动发布。而西安协同的工作流在流程定义时,就将一些数据写入了数据库,移植时需要用其专用工具导成jar文档,再导入。

 

有人认为,有服务器端可以承受更大的负载,性能更好,必要时还可以使用集群。当有多个客户端时,都由服务器端统一控制,所以不用担心数据竞争访问的问题。而jBPM这种,若为了统一管理使用同一工作流数据库,但客户端各自管理工作流引擎,会有数据竞争访问的问题?

 

你使用过哪些工作流产品,觉得哪种更好呢?

3
0
分享到:
评论
4 楼 cleaneyes 2010-03-22  
谢谢pengzhou兄的回复和指正,可惜还无缘使用其他厂商的工作流产品,希望以后有机会可以再请教。
3 楼 pengzhou 2010-03-16  
    并非商业工作流产品都是需要独立的服务器的,你可以看看国内其他的产品,比如华创动力的MatrixFlow,普元的BPS等等,都可以采用独立服务器形势,或者嵌入到客户工程中的形势,而且往往推荐嵌入到客户工程中,这样也可以控制事务,产品的api和架构也都设计得非常经典,手工作坊的感觉仅仅是西安协同给你的感觉而已,毕竟早期是大学里研究生的作品,而不是从初期就作为商业产品进行严格的设计
    另外 短暂的延时延时是流程引擎采用异步驱动的效果,而不是rmi造成的,rmi是为了独立服务器提供远程接口调用提供的,和延时没有关系
2 楼 cleaneyes 2008-10-23  
谢谢两位的回复!
很久没上来了。我们现在做的这个项目也是客户要求要用工作流的,一些没用过工作流的同事,想不通用工作流有什么好处。项目中,工作流的很多功能都没有用上,发挥的作用不大。
在前一家公司还有使用Ultimus BPM(全球领先的BPM产品),设计思路与西安协同属于同类型,有专门的服务端。直接支持自由流,流程结点可以任意跳转,采用变量值来控制流转,而且内部直接支持用Web Service与外部程序接口,配合第三方的页面开发工具,开发速度很快,流程考核与分析的功能也很强。
1 楼 gzspark 2008-09-28  
惭愧,这方面经验不多,最早做OA时用过IBM的NOTES,但只能说懂点点。深入的只用过开源的shark,应该说感觉挺好用的,除了JaWe不太好集成到自己的界面上来,shark本身在应用和二次开发中都没啥问题。完全遵循XPDL规范的WFMC标准工作流。
项目是给一个省移动做的,做完了,好象也没啥反馈,估计又象其它系统一样晾着了,中国的系统建设就是这会事,发起时候与评奖用一下,平时鬼都不碰它!
不知道别的同学用shark的多不多。

相关推荐

    工作流引擎平台解决方案

    工作流引擎平台解决方案是企业业务流程自动化的基础平台产品核心产品,旨在帮助企业实现业务流程自动化和流程再造。该解决方案由三个阶段组成:模型建立阶段、模型实例化阶段和模型执行阶段。 在模型建立阶段,利用...

    慧正工作流 V7版 产品介绍

    这是慧正工作流产品V7版的介绍册,工作流系统包括工作流流程设计,流程管理及流程应用。慧正工作流是工业级的流程部件,可以进行二次开发或直接部署,支持多数据库、多语言,是工作流开发很方便的工具

    u8工作流产品使用手册

    工作流产品是一种管理企业内部各业务流程的系统,它通过预定义的规则和程序来指导工作流程的执行。U8工作流产品是这类系统的具体实例,它作为一种企业级应用软件,在提高企业工作效率和管理流程方面发挥着重要作用。...

    Windchill工作流数据库字典

    Windchill作为PTC公司的产品生命周期管理系统(PLM),其工作流模块是整个系统的重要组成部分之一。工作流能够帮助用户实现对业务流程的自动化控制,从而提高工作效率并确保业务流程的准确性。在Windchill的工作流模块...

    工作流产品研究报告.pdf

    工作流产品研究报告深入探讨了国内工作流产品的发展趋势,通过详细的对比分析,为读者提供了全面的理解和参考。工作流管理系统,作为协调企业内部流程的重要工具,其效能和灵活性直接影响到企业的运营效率和成本控制...

    工作流技术综述 讲工作流的论文

    开始推出工作流产品,标志着工作流市场的初步形成。 - 这些早期的工作流管理系统集成了图像扫描、复合文档、结构化路由、实例跟踪、关键字索引以及光盘存储等多种功能,为特定业务流程提供了全程支持。 - 随着...

    国内工作流产品厂商研究分析小记

    将目前国内工作流产品厂商进行了简单的分析、整理 以前的资料,还有参考价值

    maximo工作流设计器指南

    Maximo作为一款功能强大的资产管理软件,由MRO Software(后被IBM收购)开发,其工作流设计器为用户提供了灵活的工具,用以定义和优化业务流程,包括审批流程、维护请求、故障报告等。 二、工作流设计器的功能与...

    Oracle工作流介绍

    1. **定义工作流**:使用Oracle工作流设计器创建请假申请流程图,包括提交申请、部门经理审批、人力资源审批等步骤。 2. **配置条件与逻辑**:为每个审批步骤设置相应的条件和逻辑,如根据请假天数决定是否需要更高...

    符合WFMC标准,可视化JAVA版本工作流产品简介

    Smart WorkFlow是一款基于JAVA技术并遵循WFMC(Workflow Management Coalition)标准的可视化工作流产品。WFMC标准确保了Smart WorkFlow具有高度的可移植性和互操作性,使其能够适应各种业务环境,尤其适合与第三方...

    科学工作流综述

    ### 科学工作流概述与发展趋势 #### 一、科学工作流的概念与功能 科学工作流的概念源于科学研究的电子化进程,随着数据共享和计算资源共享的需求日益增加,科研机构需要一个能够自动化并优化科研过程的解决方案。...

    工作流管理技术研究与产品现状及发展趋势.PDF

    工作流管理技术研究与产品现状及发展趋势.PDF 工作流管理技术研究与产品现状及发展趋势.PDF 工作流管理技术研究与产品现状及发展趋势.PDF

    Java四大主流开源工作流引擎分析Shark,osworkflow,jbpm,jflow

    osworkflow在开发工作流管理系统时经常被推荐,尤其与WebWork2结合使用。尽管WebWork2已被Struts2取代,但有人提出osworkflow可能与Struts2实现完美整合,这为开发者提供了更多可能性。 最后,jflow是由CCflow发展...

    工作流管理技术

    C5-产品-00907.pdf可能探讨了用户友好的工作流产品设计。 4. **集成能力**:工作流系统需要与企业的其他信息系统(如ERP、CRM等)无缝集成,确保数据的一致性和流程的连贯性。C1-先进制造-00516.pdf可能涉及到工作...

    Oracle EBS AGIS 工作流详细设置流程

    Oracle EBS AGIS (Application Gateway for Intercompany Systems) 工作流的详细设置流程对于确保AGIS能够正常启动和执行出站传输至关重要。AGIS在Oracle EBS中扮演着核心角色,它允许不同公司间的业务数据交换。...

Global site tag (gtag.js) - Google Analytics