内容简介 - 序

随着在现代企业管理中对于信息化、流程化的深度挖掘,具有业务流程管理(Business Process Management,简称BPM)的技术和思想已经成为致力于全面掌控企业级应用系统人士“日常生活,居家旅行”的必备素质。

本书分3篇。

第一篇,概念篇——介绍工作流管理技术(也即BPM技术)的概念、起源和发展历程。开源工作流选型,以及jBPM——这个迄今为止最成功的Java开源工作流项目的“前世今生”。

第二篇,应用掌握篇——可以帮助您快速上手jBPM4、使用jBPM4开发企业流程应用,本篇包括:安装和配置jBPM4、使用jBPM4图形化流程设计器(GPD)设计流程、把流程部署到服务器上去、使用jBPM Service API控制流程、掌握jBPM流程定义语言(jPDL)、使用流程变量(variables)、使用流程脚本、为简单的业务配置jBPM。

第三篇,定制深入篇——将帮助您基于jBPM4这个强大的应用程序框架(Framework)打造属于您自己独特业务的“企业流程管理平台”,本篇包括:jBPM4扩展研发先决条件、深入jPDL和jBPM Service API、升级jBPM3到jBPM4、流程虚拟机(Process Virtual Machine, PVM)原理、jBPM4架构思想、随需而配jBPM4、使用异步工作执行器(Job Executor)、深入jBPM邮件支持、系统日志、历史流程处理原理、jBPM4与Spring framework集成、jBPM4与JBoss application server集成、中国特色工作流的jBPM实现。

另外,本书在附录中列出了常用工作流术语的解释说明,这可以帮助刚接触工作流技术读者快速获得有效的参考。

本书结构条理清晰,实践例程与理论思想紧密结合,详实易懂,由浅入深,具有很强的参考性和实用性。

本书适合所有掌握JavaEE(Java企业级版本)开发技术的人员——无论是技术开发者、项目实施者、系统架构师,还是流程分析师、业务方案顾问,本书都适合您。

本书特色 - 前言

作者从2005年即开始在国内最大的企业应用软件集团之一负责工作流引擎内核及其周边系统的创造性研发工作,并因此获得了2006年度北京市中关村科技园经济技术创新标兵等荣誉。

随着作者对工作流管理系统研究开发和实践应用的深入,不仅从自主研发的工作流管理系统中获得了大量“深入骨髓”的第一手体验,而且由于工作原因从多家国内、国外的工作流产品中吸取、借鉴了众多的第一线应用实战经验,这不仅涵盖了多种商业工作流产品也包括众多开源工作流产品。

因为工作的机会,作者曾作为RedHat JBoss产品应用架构师有幸深入的“解剖”了jBPM系列产品并且为国内多个jBPM应用项目提供咨询、培训等服务。作者发现在许多优秀的工作流产品中已经实现了的设计、计划实现的创意以及许多让人忍不住“击节叫好”的思想,都已经被jBPM系列产品做到了。当前,在Red Hat JBoss项目组工程师、架构师们的不懈努力下,jBPM已经发布了第4个大版本。最新的jBPM4进一步的克服了jBPM3的固有缺陷(这在书中会多次提到),并且更加“变本加厉”的增强和优化了jBPM——这个世界上首屈一指的开源工作流产品的功能。

因此,作者“忍不住”、也“不得不”将jBPM4这个优秀工作流产品的应用、开发技巧以及自己对工作流技术的经验、体会编写成书。从某种程度上来说,本书也是作者多年“工作流职业生涯”的一个里程碑和总结。

  • 对于想快速入门的企业流程开发人员来说:
    • 本书将使您快速了解什么是工作流、BPM和jBPM,以及它们的发展历程。当然,重要的是使您明白它们能为企业信息化做什么,开发人员该如何抉择?
    • 本书从下载、安装、配置jBPM4到流程设计、程序开发、单元测试、应用部署、调试运行,直至管理、监控、优化、扩展,使您掌握利用jBPM4开发企业流程的全生命周期过程。
    • 本书全面系统的为您介绍jBPM4的Service API、活动和支持行为,通过手把手的实例把jBPM4企业流程架构的思维植入您的脑中。
  • 对于已经在使用jBPM(包括jBPM3)开发的、并渴望把jBPM4“玩弄于鼓掌之间”的研发者来说:
    • 抛弃不尽如人意的、稍显罗嗦的jBPM3,来尽情拥抱架构更为优雅、更为易用、更适于扩展的jBPM4吧!为什么不呢?
    • 本书的第三篇“定制深入”为您精选了近年来众多企业在“实际”使用jBPM过程中遇到的最棘手、最纠结的问题,这包括业内人士所谓的“中国特色工作流”的经典问题,根据作者的经验,这些问题导致了大量jBPM项目选型、实施的流产乃至失败……本书将以jBPM4设计者的理论思想为前提,提出解决思路、方法乃至实战例程。
    • 本书不失为一条企业级应用架构师的进阶之路,因为jBPM4不仅仅是一个平台(Platform),更是一个框架(Framework),它的代码、它的设计无处不蕴含着世界顶级企业应用架构大师的精华思想。同样的,因为作者对jBPM设计理念的认同、优雅架构的努力追求,所以将力求在“定制深入”部分的介绍中为您起到抛砖引玉的效果。
    • 本书亦可作为jBPM4的工具手册在您的计算机旁伴随您进行企业流程研发之旅。

需要强调的是,本书中作者在介绍jBPM4的新功能时,会经常性的提到jBPM3与jBPM4的差异,以帮助广大jBPM3的“铁杆用户”消除思维定式,快速把握新版本的变化、从根本思想上“升级”到jBPM4。同时也能让第一次使用jBPM4的用户体会到jBPM系列产品发展的“沧桑历程”,知其然(新功能)亦知其所以然(为什么要变更或加强以前的功能)。

在这里,必须要感谢电子工业出版社的编辑同志们,感谢审阅、评论本书的业内专家PCCW Solutions,senior consultant,Cyril;盛大在线公司,架构师,胡长城;搜狐福州分公司,Java架构师,林良益;中通软联信息科技有限公司,创始人兼首席架构师,马越;GrapeCity集团技术管理组,高级架构师,王瑜;北京天大天科科技发展有限公司,首席架构师,吴俊;百度公司,软件工程师,徐会生;TIBCO中国研发中心,开发部门经理,赵亮等同志,本书能够面世与你们的辛勤工作和专业建议密不可分。

如果您对本书的内容有任何问题或反馈,欢迎通过电子邮件直接联系我:
jbpm4huqi@gmail.com

《jBPM4工作流应用开发指南》书评

许久不曾买书,这本《jBPM4工作流应用开发指南》是我迄今为止最期待的一本书。 本书循序渐进的介绍jBPM。从工作流的基础知识开始,到最后的中国特色工作流的jBPM实现,让人不睹不快。可以说,它是一本很好的jBPM参考手册,能够帮助到更多的人来学习和掌握jBPM。

陈勇

就职于北京拓尔思信息技术股份有限公司,java开发工程师

clip_image002

 

本人从六七年前就开始接触工作流系统的设计与开发,一共参与过三套工作流系统的设计与开发过程,应用涵盖了OA系统,行政审批系统,ERP系统。在这么多年的工作流系统的设计与开发过程中,感触颇多,其中有如下两点是体会最深的:

1.从最开始只关注于一个个具体业务流程在自己设计的工作流系统中具体怎么实现,后来渐渐关注工作流系统对企业整个业务流程重组(BPR)的巨大推动效应和对企业应用集成(EIP)的强有力支持,这个过程我用了五六年。《jBPM4工作流应用开发指南》的作者在第一章就对这点进行了深入的阐述,让读者在十来分钟的时间内快速完成了这个认识的转变,使后续的工作流系统的设计与开发者站在更高的起点去设计与开发适合于自己项目的工作流管理系统。

2.在中国进行工作流系统的开发尤其不易,特别是政府与国企使用的工作流系统。用户提出的许多“非常有理”的特色功能往往会让工作流系统的设计与开发者焦头烂额,难以在工作流系统的规范性与用户要求的“灵活性”之间加以取舍。很显然《jBPM4工作流应用开发指南》的作者实战的经验非常丰富,明确在本书中提出了在jBPM中对中国特色工作流的实现进行了详细的说明。

所以《jBPM4工作流应用开发指南》这本书在理论认识,设计思想与具体分析,细节实现这两个顶点上有比较好的平衡,充分体现了作者在工作流管理系统设计与开发上的功力。

Cyril

就职于PCCW Solutions,senior consultant

clip_image002

 

终于盼来胡奇的新作 《jBPM4工作流应用开发指南》出版上市。在作者刚刚着手开始写书的时候,我们俩就针对大纲内容有过探讨,当时定的基调就是“实用”。

“实用”的本质就是“实战经验的总结和抽象”。特别对于工作流应用来讲,看似就是几个节点的连接和组合,但是实际却是变化多样,不同的行业领域或应用场景之间的差异性太大,而需求又特别繁杂。这也是为什么很少有一款工作流产品能够适应所有行业的。有的工作流产品主要面向政务办公中的公文处理流程;有的则面向电信业务的高性能处理流程;有的则面向应用系统过程集成的处理流程;有的则是面向制造业中高度自动化控制流程……

在这种情况下,工作流产品要想在“简单易用”和“灵活扩展”之间找到平衡就非常难。但Tom先生(jBPM的创造者之一)却完成了这个壮举,缔造了精美小巧的jBPM。在jBPM中,除了过程调度这一核心模块无法扩展以外,几乎流程相关的所有点都可以扩展:活动类型、活动执行方式、事件行为、Spring整合、存储等等部分。所以开发者可以很容易基于jBPM构建出自己特色的流程框架,以满足特殊业务领域模式。本书中,胡奇用了几个章节的内容,为读者诠释了如何基于jBPM构建属于自己的工作流平台。

提到jBPM4,就不能不提到PVM(Process Virtual Machine, 流程虚拟机)。PVM是新一代流程引擎架构设计理念,而这是由Tom先生在jBPM4中首创的,现在这种PVM设计理念在越来越多的开源和商业工作流或BPM产品中体现出来,比如Orchestra BPM、Oralce BPM Suite 11g、Activiti BPM等。在书中,胡奇为大家详细诠释了PVM的原理和jBPM4的实现,值得参考阅读。

jBPM本身是一款开源的工作流和BPM组件,但如何真正结合实际应用需求和场景,把jBPM运用好却是个很大的挑战。在现实中,因为开发人员的实施经验不足,jBPM专业开发人员稀少,指导参考资源匮乏,对项目实施质量和进度影响颇多,甚至部分项目失败。而在本书中,胡奇不仅对jBPM做了深入透彻的介绍,并分享了自己多年的jBPM成功实施经验,为大家工作流应用项目实施提供了宝贵经验借鉴,很值得参考学习。

胡长城

就职于盛大在线公司,负责盛大开放平台的整体架构,近十年的工作流研发实施咨询经验

clip_image002

 

翻开这本书的目录,从对工作流理论发展的理解到jBPM4的设计思想,从Step By Step的图示化安装指南到特定的“中国式企业应用”场景案例 ;从简单的基于web页面设计器的流程定制,到与Spring、JMS的复杂整合。对读者而言,该书做到了一步一步带入门,而后逐渐展开视野、深入机理,使人“知jBPM然,也知其所以然”。

作者的对工作流模型,尤其是BPM的理解,功力十分深厚。他以适合于中国学生理解的思维方式,为读者解读了jBPM设计,展现了jBPM4的API的全景视图。更难得的是,书中的“中国特色工作流的jBPM实现”这一章节非常精准的直击目前中国企业信息化过程在工作流系统上经常遇见老大难问题,让人读后拍手称快。

不是所有的书籍都能从工作流的基础概念讲述到开发中遇到的现实问题的,这本书做到了。它既适合刚刚接触流程引擎的初学者入门,又适合于对jBPM3/4有一定使用基础,需要深入学习的在职从业人员。它是本人所读到的国内相关书籍中对jBPM4描述最为全面、最为深入的作品之一。

林良益

就职于搜狐福州分公司Java架构师,负责网络搜索与SNS底层框架设计
开源项目 《IKAnalyzer中文分词器》、《IKExpression表达式解析器》 作者

clip_image003

 

jBPM作为历史最悠久,功能最强大的开源工作流引擎一直拥有者国内外广泛的使用群体。2005年我在美国时因为第一次在大型企业应用中使用了jBPM与SEAM技术还得到了jBPM团队所在的JBoss公司2006年度世界创新奖。2007年回国与本书作者成为同事后我们一起为国内大量客户进行了有关工作流引擎的咨询工作。那时候书作者就开始不断总结客户所面对的问题与需求,并一直想把jBPM真正结合本土业务特色发扬光大。如今本书终于问世,过去一直缠绕着众多国内程序员的一些如回退、会签、自由流等“中国特色”的问题都通过jBPM4有了明快的解决之道。多年来jBPM工作组与书作者共同的厚积薄发恰如其时地为国内程序员在实际工作中快速应用开源技术又提供了一个宝贵的武器。

马越

就职于,中通软联信息科技有限公司,创始人兼首席架构师
http://www.jbosschina.org 社区创始人;2006年 Red hat/JBoss 世界创新大奖获得者
美国10年大型商业软件构架经验;第一个将 Seam 及 jBPM 框架引入大型企业应用的开拓者

clip_image003

 

熟悉企业应用开发的人都知道, 工作流是企业应用开发中的一个核心概念. 从办公自动化领域的公文审批到跨企业的异构系统集成, 背后都可以见到工作流的身影. jBPM作为一套开源工作流产品, 已在各个行业得到了广泛深入的应用, 其工业标准的品质也已成为开源世界中的范例之一。

本书作者具有坚实的工作流理论基础, 同时又具备丰富的基于jBPM的系统设计和开发经验. 更难得可贵的是, 作者能够很好的将理论知识与软件开发实践结合起来。通过对理论的讲述切入实践, 然后通过对实践的讲解进一步巩固理论, 进而引发读者思考如何根据理论进一步扩展实践。与此同时, 本书还就国内工作流应用的特点, 结合jBPM产品给出了自己解决方案。 这些来自开发一线的实践积累和经验总结, 对于读者来说无疑具有宝贵的价值。

另一方面, 针对某一软件产品的介绍性书籍往往容易被写成一本介绍如何使用该产品的操作指南, 冷冰冰的操作步骤描述, 再加上直接从外文资料上截取下来的翻译内容, 让人阅读起来觉得了无生趣. 而本书作者可以说在提高阅读体验方面花了很大心力。语言朴实, 描述准确, 包括设计演示场景和示例的时候, 也是尽量考虑到读者的知识背景和阅读体验. 介绍理论的时候不显得枯燥, 描述操作的时候不觉得繁琐, 无论是初次涉及到工作流概念的新手, 还是有一定工作流经验的设计师, 都能从本书中有所收获。

王瑜

就职于GrapeCity集团技术管理组,高级架构师

clip_image002

 

首先十分感谢作者给我这个机会在他的作品即将问世之前作一些感想,也正好让我能在忙碌中抽空回顾一下这么多年在技术平台方面走过的路以及在workflow方面的点点滴滴。因为本书是介绍jBPM的专业书籍,所以我谈不上给些什么评论。只是从对作者的印象和对书中内容引发一些思考和回味分享给大家。

首先就要从我跟作者如何相识的初次合作谈起了。记得那应该是2005年,我们在经历了2年多搭建面向ERP项目的研发平台初具规模。正在10多个大型项目中服务。当时从底层技术框架、代码生成工具、组织权限等等诸多技术问题都得到充分的考虑和解决。当然肯定少不了对workflow业务的解决。当时我们选用的WfMC的XPDL语法,从引擎、设计器、监控器、模拟器、组织模型全套都实现了。最初因某些项目原因采用的.net,后迁移到java平台下,并且以hibernate作存储,也是采用的微内核和状态机的设计思路。提供了一整套的API(类似jBPM等主流工作流引擎提供的方式)。但在几个大项目实际使用中发现这种纯粹API二次开发的方式,基于封闭工作流系统无法高效地支撑业务快速开发及流程仿真重组。

对业务系统快速实施有价值的是整合了组织定义、流程定义、业务表单定义、业务数据权限定义工具等等全集成的定制系统,不用通过编写代码业务需求人员通过已经的拖拽即可完成各种层级集团应用的定义。并适当设置一定的业务脚本即可完成业务系统的定义。所以我们在2005年6月启动了这件事情,基于已有的组织权限,工作流基础上加入业务表单定义及整合的设计定义功能。然后在公司内部到处挖人,我习惯于以技术geek的方式在公司内部到处引诱人,都是先通过非正式的方式从技术角度找到有想法感兴趣的人,然后再用各种手段搞到这个人加入。

记得那个时候遇到一个意气风发满怀抱负的年轻小伙子给我留下了深刻的印象。他刚刚做完一个电信的项目,爱好非常广泛,js很好,也会flash,想法特别多,手特别快。所以我就通过各种手段搞到这个家伙加入我们,那就是年轻时的作者。很快他先搞定了业务表单定义的技术攻关,可能当时我们是最早使用XmlHttpRequest的(AJAX的核心),然后基于workflow如何接收表单传递过来的数据,然后接手了整个workflow的优化及实现各种变态的中国特色的工作流需求。我们在10月左右发布了一个完整的版本,支持了上面讲到的那些功能。现在回头看看大家都很神奇,10个人不到3个月就搞定了这么复杂的东东,也许换到今天开源技术如此成熟可能都未必能做到。之后这个家伙就一定要坚持在专业方向坚持workflow为方向不断成为专家。

再一晃就是多年以后的事情了,我也从搭建ERP研发平台到互联网SNS大型数据平台又转回到专属行业ERP产品平台。不论管理大型团队多少年,始终秉承着对技术的痴迷,从未放弃对任何技术细节的关注,而也越来越推崇中庸推崇妥协。

这期间我们有过断断续续的联系,也曾经为一些点子一起疯狂一起兴奋。不过终究没有找到合适的机会再次合作。收到作者的邀请时,十分地受宠若惊,当时手头的事情也特别多。而且类似的书我也见的特别过,不外乎就是英翻中,所以就根本没放在心上。直到后来拿到作品仔细阅读了一番,渐渐地能体会和重现这个家伙几年的历程。一直在专业(workflow)的道路上滋滋以求。

当然文中难免大量资料的复制,但是能花大量心血组织起来如此详实全面的介绍已实属不易。而且加上了这家伙从当年我们一起做流程系统时的经验和他在jBPM系列产品应用实施上多年的咨询经历.

最近我也在平台中的多处集成了jBPM用于解决传统审批流,跨业务域集成BPM,以及ETL流等等,当然不会孤立使用workfow,肯定是结合ESB,MDA,规则引擎等等一起使用。一直想给大家从概念到workflow的历史,再到如何运用jBPM解决各种问题等等有一个全面的讲解,正好拿到额这本书,省了我很大的气力了。

这几年IT业内浮躁风气、快餐文化盛行,用过Spring、Struts、jBPM就敢说自己是架构师。而很少有人能够踏踏实实潜心研究各种技术的根源,为什么要这么设计,如何扩展更为有效。从我们做平台的人角度来看简单会用没什么,关键是能理解精髓并扩展或改造才是本事。

像作者这样致力于在国内传播workflow的模型,让更多的人少走弯路,快速上手。并不断将多年研究的心得和成果同大家分享的人太少了,国内太少这种人了。也许这本书可以为不少人提供了解jBPM的素食套餐。尤其本书中第20章《中国特色工作流的 jBPM实现》十分具有实战意义。特别值得国内使用jBPM做应用的人们参考的最佳实践。

笔触于此,抬眼已很晚了,一气呵成就先写这么多。让我们一起读完全书后再回来一起思考和回味下面这两个问题吧:

有想法、专注、愿意分享的年轻人,我们应该有怎样的IT人生?

业内规范的演化进步,我们又会遭遇怎样的IT进程?

吴俊

就职于北京天大天科科技发展有限公司,首席架构师

clip_image003

 

很高兴向大家推荐《jBPM4工作流应用开发指南》这本书,jBPM是目前国内公司使用最多的开源工作流引擎,不过虽然越来越多公司选择将jBPM加入自己的项目或产品中,却发现总是被同样的问题绊住手脚。这本书为尚未接触过工作流领域的同仁们开启了大门,它以浅显易懂的文字,循序渐进的介绍了流程领域的应用知识,并提供了实例辅助大家的学习,最后还特别针对国内的特殊流程需求提出了对应的解决方案,帮助大家快速越过这些障碍。

徐会生

就职于百度公司,软件工程师
http://www.family168.com/ 站长

clip_image002[2]

 

对于企业级IT应用系统而言重要的内容是业务活动流程,人员组织架构,业务数据标准定义。工作流软件帮助企业应用开发者方便地处理实现以上三个部分的内容,可以使用图形化流程编排的方式定义业务流程,定义企业内部组织结构,人员角色和角色关联的工作任务,在流程中连接企业内部的其他系统,让标准的业务数据流在企业内部的各个系统中流转,完成企业运作的各项工作。

类比编程实现函数的数据处理流程, 使用工作流软件工具编排实现业务处理流程是企业应用开发者必须具备的一项技能。随着企业应用系统复杂度的不断提升,只提三尺编程之剑,是无法纵横于软件江湖的。每一个在企业应用领域的技术工作者需要更先进更强大的技术来武装自己。工作流是企业应用中非常重要的技术,学习了解这门技术,包括概念,功能,发展过程,基本原理,技术标准,产品工具的使用,开发技能和经验共享等,就是一项紧迫的任务了。

学习需要深入本质,举一反三。我们不需要学习所有主流工作流软件, 选择一个规模适度(不要像IBM软件套件那么让人生畏 )、应用广泛、代码开源的产品来切入,这是个明智的选择。本书适合于想学习工作流技术,并且将使用JBPM来做应用开发的读者来阅读学习。对于从事工作流产品开发者来说也可以从第1、12、13、20章读到一些自己感兴趣的内容。如果说JBPM是开发企业工作流系统的利器,那么只有开发者熟练掌握了这个工具才真正有用。本书就是个很好的选择,来帮助你了解学习和掌握这门技术和相关工具。不只局限于对工具使用的介绍,本书将会告诉你这项技术的方方面面,开启一扇步入工作流领域大门,引导你获悉内功本质,熟练操作招式,在之后的企业应用开发过程中把这项技术用的好,用的准。

赵亮

就职于TIBCO中国研发中心,开发部门经理

clip_image002[2]

 

China-Pub
http://www.china-pub.com/197114

百度百科
http://baike.baidu.com/view/4484248.htm

51CTO
http://book.51cto.com/art/201009/228697.htm

JavaEye
http://www.javaeye.com/topic/771360

开源中国社区
http://www.oschina.net/bbs/thread/11535