出版时间:2010-10 出版社:电子工业出版社 作者:胡奇 页数:342
Tag标签:无
前言
本书作者从2005年即开始在国内最大的企业应用软件集团之一负责工作流引擎内核及其周边系统的创造性研发工作,并因此获得了2006年度北京市中关村科技园经济技术创新标兵等荣誉。 随着对工作流管理系统研究开发和实践应用的深入,不仅从自主研发的工作流管理系统中获得了大量“深入骨髓”的第一手体验,而且由于工作原因从多个国内、国外的工作流产品中吸取、借鉴了众多的第一线应用实战经验,这不仅涵盖了多种商业工作流产品,也包括众多开源工作流产品。 因为工作的机会,作者曾作为RedHatJBoss产品应用架构师有幸深入地“解剖”了jBPM系列产品并且为国内多个jBPM应用项目提供咨询、培训等服务。作者发现在许多优秀的工作流产品中已经实现了的设计、计划实现的创意以及许多让人忍不住“击节叫好”的思想,都已经被jBPM系列产品做到了!当前,在RedHatJBoss项目组工程师、架构师们的不懈努力下,jBPM已经发布了第4个大版本,最新的jBPM4进一步克服了jBPM3的固有缺陷(这在书中会多次提到),并且更加“变本加厉”地增强和优化了jBPM——这个世界上首屈一指的开源工作流产品的功能。 因此,作者“忍不住”、也“不得不”将jBPM4这个优秀工作流产品的应用、开发技巧以及自己对工作流技术的经验、体会编写成书。从某种程度上来说,本书也是作者多年“工作流职业生涯”的一个里程碑和总结。
内容概要
随着在现代企业管理中对于信息化、流程化的深度挖掘,具有业务流程管理的技术和思想已经成为致力于全面掌控企业级应用系统人士“日常生活、居家旅行”的必备素质。 本书分两篇。第一篇介绍工作流管理技术的概念、起源和发展历程,开源工作流选型,以及jBPM——这个迄今为止最成功的Java开源工作流项目的“前世今生”。此外,本篇还可以帮助读者快速上手jBPM4、使用jBPM4开发企业流程应用,包括安装和配置jBPM4、使用jBPM图形化流程设计器(GPD)设计流程、把流程部署到服务器上去、使用jBPM4 Service API控制流程、掌握jBPM流程定义语言、流程变量、流程脚本。第二篇主要涉及基于jBPM4这个强大的应用程序框架打造属于自己独特业务的“企业流程管理平台”,包括jBPM4扩展研发先决条件、深入jPDL和jBPM Service API、升级jBPM3到jBPM4、流程虚拟机原理、jBPM4的设计思想、随需而配jBPM4、异步工作执行器、深入jBPM4电子邮件支持、系统日志、jBPM4与Spring框架集成、jBPM4与JBoss应用服务器集成、中国特色工作流的jBPM实现。 本书结构条理清晰,实践例程与理论思想紧密结合,翔实易懂,由浅入深,具有很强的参考性和实用性。 本书适合所有掌握JavaEE(Java企业级版本)开发技术的人员——无论您是技术开发者、项目实施者、系统架构师,还是流程分析师、业务方案顾问,本书都适合您。
作者简介
毕业于清华大学计算机软件专业。专注于开源、企业应用、互联网技术架构研发,以及开发团队管理和开发过程改进工作。曾就职于北京用友软件、美国TlBCO软件公司中国研发中心等国内外顶级信息技术企业。在工作流(Workflow)、业务流程管理(BPM)、企业应用集成(EAI)领域有着5年的研发和应用经验,并因此获得北京市中关村科技园经济技术创新标兵等荣誉。同时对于开源工作流系统、开源企业级报表等开源解决方案的应用有着丰富的咨询和培训经验。
对iBPM等开源项目在实际生产系统中的应用,以及如何适应“具有中国特色”业务需求这样的问题有着非常独到的见解
书籍目录
第一篇 jBPM工作流开发基础 第1章 工作流基础 1.1 工作流概念 1.1.1 工作流管理思想之于企业现代化管理 1.1.2 工作流技术在企业中的应用 1.1.3 如何从一个开发者的角度看工作流技术 1.2 工作流管理系统的发展历程 1.2.1 工作流管理系统参考模型 1.2.2 BPM 1.3 开源工作流选型 1.4 jBPM 1.4.1 jBPM前世今生 1.4.2 关于jBPM4您需要知道的 1.5 小结 第2章 安装和配置jBPM4 2.1 jBPM4安装先决条件 2.2 快速开始吧 2.3 安装脚本详解 2.3.1 关于配置文件 2.3.2 关于依赖库 2.4 安装到JBoss 2.5 安装到Tomcat 2.6 基于Web的Signavio流程设计器 2.6.1 jBPM Web流程设计器简介 2.6.2 独立安装Signavio 2.6.3 配置Signavio 2.7 用户自定义jBPM Web应用程序 2.8 安装jBPM数据库 2.8.1 新数据库安装 2.8.2 升级旧的数据库 2.9 安装图形化流程设计器(GPD) 2.9.1 获取Eclipse 2.9.2 在Eclipse中安装GPD插件 2.9.3 配置jBPM运行环境 2.9.4 添加jPDL4 Schema校验 2.9.5 导入和使用范例 2.10 例程:jBPM HelloWorld 2.11 小结 第3章 使用jBPM图形化流程设计器(GPD)设计流程 3.1 创建一个新流程 3.2 编辑流程定义源 3.3 例程:设计一个“复杂的”业务流程 3.4 小结 第4章 把流程部署到服务器上去 4.1 部署流程定义和资源文件 4.2 部署流程Java类的3个方法 4.3 例程:部署业务流程定义 4.4 小结 第5章 使用jBPM4 Service API控制流程 5.1 流程定义、流程实例和执行的概念 5.2 流程引擎API 5.3 利用API部署流程 5.4 通过API删除已部署的流程 5.5 使用API发起新的流程实例 5.5.1 发起流程实例的常规方法 5.5.2 指定业务键发起流程实例 5.5.3 指定变量发起流程实例 5.6 唤醒一个等待状态的执行 5.7 任务服务API 5.8 历史服务API 5.9 管理服务API 5.10 查询服务API 5.11 例程:利用jBPM Service API完成流程实例 5.12 小结 第6章 掌握jBPM流程定义语言 6.1 process(流程) 6.2 流转控制活动 6.2.1 start(开始活动) 6.2.2 state(状态活动) 6.2.3 decision(判断活动) 6.2.4 fork-join(分支聚合活动) 6.2.5 end(结束活动) 6.2.6 task(人工任务活动) 6.2.7 sub-process(子流程活动) 6.2.8 自定义活动 6.3 自动活动 6.3.1 java(Java程序活动) 6.3.2 script(脚本活动) 6.3.3 hql(Hibernate查询语言活动) 6.3.4 sql(结构化查询语言活动) 6.3.5 mail(邮件活动) 6.4 事件 6.4.1 事件监听 6.4.2 事件传播 6.4.3 处理异常事件 6.5 异步执行 6.5.1 异步活动 6.5.2 异步分支聚合 6.6 用户代码 6.6.1 用户代码的定义 6.6.2 用户代码的类加载 6.7 小结 第7章 流程变量 7.1 变量作用域 7.2 变量类型 7.3 变量的自动更新和序列化 7.4 例程:用变量去控制一个流程的运行 7.5 小结 第8章 流程脚本 8.1 Java统一表达式语言 8.1.1 语法特点 8.1.2 值和方法表达式 8.1.3 隐式对象 8.1.4 运算符和保留字 8.1.5 一些经典EL表达式的例子 8.2 例程:用脚本去控制一个流程的运行 8.3 小结第二篇 定制属于自己的流程——深入jBPM4扩展研发 第9章 jBPM4扩展研发先决条件 9.1 深入应用jBPM4所需要知道的 9.1.1 如果您的业务基于复杂的规则,在jBPM中加入Drools吧 9.1.2 抉择,是否使用BPEL 9.2 Maven仓库和Java依赖库 9.3 小结 第10章 深入jPDL和jBPM Service API 10.1 timer(定时器)能为您做什么 10.1.1 持续时间表达式 10.1.2 工作日历 10.1.3 定时转移 10.1.4 定时事件 10.1.5 工作日历定时 10.1.6 定时重复 10.2 使用group活动编组流程 10.3 如何在活动中调用EJB方法 10.4 使用jms活动 10.4.1 模拟JMS服务 10.4.2 JMS文本消息 10.4.3 JMS Object消息 10.4.4 JMS Map消息 10.5 历史会话监听链 10.6 自定义Web任务表单 10.6.1 基本思路 10.6.2 表单格式 10.7 流程实例的自动迁移 10.7.1 简单的流程实例迁移 10.7.2 终止流程实例运行的迁移 10.7.3 应用活动映射的迁移 10.7.4 自定义迁移处理器 10.8 小结 第11章 升级jBPM3到jBPM4 11.1 你所要知道的升级局限性 11.2 流程定义转换工具 11.2.1 命令行执行 11.2.2 Java编码执行 11.3 jBPM3到jBPM4的语义变更及翻译 11.4 小结 第12章 流程虚拟机原理 12.1 PVM的架构 12.2 PVM的实现 12.3 小结 第13章 jBPM4的设计思想 13.1 API设计 13.1.1 活动API 13.1.2 事件监听API 13.2 执行环境设计 13.3 命令设计 13.4 服务设计 13.5 历史流程处理原理 13.6 数据持久化设计 13.6.1 jBPM4流程定义资源和实例运行时数据表 13.6.2 jBPM4流程历史数据表 13.6.3 jBPM4身份认证数据表 13.6.4 jBPM4引擎属性数据表 13.7 例程:扩展jBPM4的API满足客户化的需求 13.8 小结 第14章 随需而配jBPM4 14.1 配置文件设计概要 14.2 配置工作日历 14.3 配置身份认证组件(组织适配器) 14.4 小结 第15章 异步工作执行器 15.1 设计原理 15.2 配置使用 15.3 小结 第16章 深入jBPM4电子邮件支持 16.1 电子邮件的产生 16.2 电子邮件服务器 16.3 电子邮件扩展 16.4 小结 第17章 系统日志 17.1 配置日志 17.2 日志输出级别 17.3 Java Logging API日志 17.4 利用持久化层日志进行调试 17.5 小结 第18章 jBPM4与Spring框架集成 18.1 集成的目标 18.2 为集成配置jBPM4 18.3 为集成配置Spring 18.4 使用 18.5 测试 18.6 小结 第19章 jBPM4与JBoss应用服务器集成 19.1 流程定义打包部署 19.2 在JBoss企业级编程模型中使用jBPM4 19.3 小结 第20章 中国特色工作流的jBPM实现 20.1 退回 20.2 取回 20.3 会签 20.4 委派 20.5 自由流 20.6 小结附录A jBPM术语
章节摘录
工作流引擎还提供众多API供流程的“增值”系统使用,例如流程监控系统可以使用工作流引擎提供的API去监视流程的执行过程、挂起和恢复流程实例的运行;流程数据分析系统可以使用工作流引擎提供的API分析出工作完成的效率、业务流程的瓶颈等结果,以便重组流程、优化业务。综上所述,引入工作流技术对于技术开发来说,有如下好处:降低开发风险——通过使用诸如活动、流转、状态、行为这样的术语,使得业务分析师和开发人员使用同一种语言交谈成为可能。优秀的流程设计建模工具,甚至能使开发人员不必将用户需求转化成详细设计文档。 流程实现的集中统一——应对业务流程经常变化的情况,使用工作流技术的最大好处是使业务流程的实现代码,不再散落在各式各样的业务系统中。加速开发——开发者不用再关注流程的参与者、活动节点的衔接、流转控制……因为这些工作很多被工作流框架接管了。因而开发者开发起来更快、代码出错更少、系统更加容易维护。提升对迭代开发的支持——如果系统中业务流程部分被硬编码,就不容易更改,需求分析师就会花费很大的精力在开发前的业务分析中,并且希望一次成功。但可悲的是,在任何软件项目开发中,这都很少能实现。 ……
媒体关注与评论
iBPM作为历史最悠久、功能最强大的开源工作流引擎一直拥有着国内外广泛的使用群体。2005年我在美国时因为第一次在大型企业应用中使用了jBPM与Seam技术,还得到了jBPM团队所在的JBoss公司2006年度世界创新奖。2007年回国与本书作者成为同事后,我们一起为国内大量客户进行了有关工作流引擎的咨询工作。那时候本书作者就开始不断总结客户所面对的问题与需求,并一直想把jBPM真正结合本土业务特色发扬光大。如今本书终于问世,过去一直缠绕着众多国内程序员的一些如回退、会签、自由流等“中国特色”的问题都通过jBPM4有了明快的解决之道。多年来jBPM工作组与本书作者共同的厚积薄发恰如其时地为国内程序员在实际工作中快速应用开源技术又提供了一个宝贵的武器。 ——马越
编辑推荐
《jBPM4工作流应用开发指南》封面上的动物是一只豹。豹(学名:Panthera pardus)是属于猫科豹属下的一种动物,在豹属的四种大型猫科动物(其余三种为狮、虎及美洲豹)中体积最小。肩高约0.9米,体长约1米,体重50千克,仅尾长就60厘米。豹的颜色鲜艳,有许多斑点和金黄色的毛皮,故又名金钱豹或花豹。 豹可以说是敏捷的猎手,身材矫健,动作灵活,奔跑速度快。既会游泳,又会爬树。性情机敏。嗅觉、听觉、视觉都很好,智力超常,隐蔽性强,这些是老虎和狮子所及不上的,它亦是少数可适应不同环境的猫科动物。长长的尾巴在奔跑时可以帮助豹保持平衡。 希望通过《jBPM4工作流应用开发指南》的介绍,iBPM能像豹一样快速、敏捷、灵活地帮助您构建基于流程的企业应用系统。
图书封面
图书标签Tags
无
评论、评分、阅读与下载