




免费预览已结束,剩余28页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
让 中 国 移 动 bi 腾 飞,* 亚信科技(中国)有限公司 2010年02月,jbpm培训,让 中 国 移 动 bi 腾 飞,相关内容,什么是工作流? 简单地说,工作流就是一系列相互衔接、自动进行的业务活动或任务。我们可以将整个业务过程看作是一条河,其中流过的就是工作流。 工作流要解决的问题 为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务,让 中 国 移 动 bi 腾 飞,工作流好处,业务角度 业务流程标准化 实现应用逻辑和过程逻辑分离 改进和优化业务流程,提高业务工作效率; 实现更好的业务过程控制,提高服务质量; 提高业务流程的灵活性; 业务纽带,协作共享。 技术角度 降低开发风险; 统一集中实现; 快速应用开发。,让 中 国 移 动 bi 腾 飞,工作流举例,银行取款过程的工作流描述 1、客户填写取款单 2、银行出纳接收取款单和客户存折 3、检查客户信息: 1)余额不足,要求重写取款单,返回步骤1 2)余额足够,继续进行 4、客户输入密码: 1)密码正确,继续进行 2)密码错误,重新输入;3次错误,退出执行 5、出纳取出相应现金,并在存折上记录 6、将现金和存折交给客户,让 中 国 移 动 bi 腾 飞,图例,让 中 国 移 动 bi 腾 飞,jbpm简介,2003年月,建立项目 2004年加入jboss jpdl流程描述语言 支持bpel语言 使用hibernate做为流程数据持久化,支持任何一种数据库 可以部署在任何j2ee的应用里,让 中 国 移 动 bi 腾 飞,jbpm工具箱(1),让 中 国 移 动 bi 腾 飞,jbpm图形化流程设计器: 图形设计器是一个eclipse插件;它同时支持业务分析员和技术开发人员,这样就可以在业务流程建模和实际执行之间平滑转换 jbpm流程引擎: 是一个java库;处理流程定义和运行时的流程实例执行。可以用在任何java环境(web 应用程序,swing应用程序,ejb等等)。 jbpm调度程序: 监视和运行已经计划到时执行流程的定时器的组件。,jbpm工具箱(2),jbpm数据库兼容包: 包括所有支持数据库的相关信息,jdbc驱动程序和数据库初始化脚本。 jbpm bpel扩展: 独立的扩展包用来支持bpel(business process execution language 商业流程执行语言),让 中 国 移 动 bi 腾 飞,jbpm开发流程,1选定数据库,对数据库进行初始化;jbpm平台本身需要数据库的支持, 所以在使用jbpm之前要先初始化相应的数据库,包括创建表和插入初始 化数据等。 2使用jbpm定义流程,生成processdefinition.xml;并加入自定义的处理代码。 3利用junit framework写单元测试。 4部署jbpm。,让 中 国 移 动 bi 腾 飞,jbpm4.1 数据库表(1),jbpm4.1 数据库表(2),请假流程实例,请假流程jpdl文件,jbpm4.1 jpdl(1),process流程处理 顶级元素(element)是流程处理定义。 控制流程activities活动 start启动 说明一个流程的实例从哪里开始。 在一个流程里必须有一个开始节点。开始节点必须有一个向外的流向,这个流向会在流程启动的时候执行。 state状态节点 一个等待状态节点。流程处理的流向会在外部触发器调用提供的api之前一直等待。 decision决定节点 在多个选择中选择一条路径。也可以当做是一个决定。 一个决定活动拥有很多个向外的转移。当一个流向到达一个决定活动时,会自动执行并决定交给哪个向外的转移。 ,jbpm4.1 jpdl(2),concurrency并发 使用fork和join活动,可以并行处理任务。 end结束 结束流向 task任务 任务分配者 一个简单的任务会被分配给一个指定的用户 任务候选人 任务可能被分配给一组用户。 其中的一个用户应该接受这个任务并完成它。 任务分配处理器 一个assignmenthandler可以通过编程方式来计算 一个任务的分配人和候选人。 任务泳道 一个流程中的多任务可以分配给一个单独的泳道。流程实例将记得换选人和用户,在泳道中执行的第一个任务。 任务序列在同一个泳道中将被分配给这些用户和候选人 任务变量,jbpm4.1 jpdl(3),任务变量是任务表单的一个很重要的部分。任务表单显示来自任务和流程 实例的数据。然后从用户一侧录入的数据会转换成设置的任务变量。 在任务中支持e-mail 可以为分配人提供一个提醒, 当一个任务添加到他们的列表时,以及在 特定的时间间隔进行提醒。 sub-process子流程 创建一个子流程实例然后等待直到它完成。当子流程实例完成,子流程 中的流向就会继续。 原子活动 java任务 流程处理的流向会执行 这个活动配置的方法。 script脚本 hql查询 使用hql活动,我们可以在database中执行hql query,并将返回的结 果报仇呢到流程处理的变量中。 sql查询 sql活动和hql活动十分相似,sql查询使用sql语句直接查询,jbpm4.1 jpdl(4),event事件 事件指定流程中的特定点,那里注册了一系列的时间监听器。当一个流程通过这一点时,事件监听器就会被提醒。,jbpm4.1 服务(1),processengine流程引擎 在jbpm内部通过各种服务相互作用。服务接口可以从processengine中获得, 它是从configuration构建的。流程引擎是线程安全的,它可以保存在静态变量中,甚至jndi中或者其他重要位置。在应用中,所有线程和请求都可以使用同一个流程引擎对象。 processengine processengine = configuration.getprocessengine(); repositoryservice = processengine.get(repositoryservice.class); executionservice = processengine.getexecutionservice(); historyservice = processengine.gethistoryservice(); managementservice = processengine.getmanagementservice(); taskservice = processengine.gettaskservice(); identityservice = processengine.getidentityservice();,jbpm4.1 服务(2),repositoryservice包含了用来管理发布资源的方法 部署流程 repositoryservice.createdeployment() .addresourcefromclasspath(“org/jbpm/examples/eventlistener/process.jpdl.xml“) .deploy() 卸载已发布的流程 repositoryservice.deletedeploymentcascade(deploymentid); executionservice 流程实例服务类 启动一个新的流程实例 processinstance processinstance = executionservice.startprocessinstancebykey(“eventlistener“);,jbpm4.1 服务(3),执行等待的流向 当使用一个state活动时,执行(或流程实例)会在到达state的时候进行等待,直到一个signal(也叫外部触发器)出现。 signalexecution方法可以被用作这种情况。执行通过一个执行id(字符串)来引用。 executionservice.signalexecutionbyid(executionid) ; 流程查询 executionservice.createprocessinstancequery() .processinstanceid(processinstanceid).list(); executionservice. findprocessinstancebyid(processinstanceid);,jbpm4.1 服务(4),taskservice任务服务 taskservice的主要目的是提供对任务列表的访问途径 获得任务列表 根据执行人查询 list tasklist = taskservice.findpersonaltasks(“johndoe”) ; 使用查询条件 taskservice.createtaskquery() .orderdesc(taskquery.property_createdate) .assignee(userid).list(); 完成任务 taskspletetask(taskid); 任务添加注释 taskservice.addtaskcomment(taskid, “hi“); 任务变量 map variables=taskservice.getvariables(taskid, variablenames); taskservice.setvariables(taskid, variables);,jbpm4.1 服务(5),historyservice历史服务 在流程实例执行的过程中,会不断触发事件。从那些事件中,运行和完成流程的历史信息会被收集到历史表中。 historyservice提供了对那些信息的访问功能。 list historyprocessinstances = historyservice .createhistoryprocessinstancequery() .processdefinitionid(“icl-1“) .orderasc(historyprocessinstancequery.property_starttime) .list(); managementservice 管理服务 管理服务通常用来管理job 。 job job = managementservice.createjobquery() .processinstanceid(processinstanceid) .uniqueresult(); managementservice.executejob(job.getid();,jbpm4.1与项目集成(1),jbpm4.1与spring 集成 通过spring暴露服务 现在,就可以使用spring来获取或注入这些jbpm4所提供的服务了。,jbpm4.1与项目集成(2),集成spring的事务实现,jbpm4.1与项目集成(3),jbpm4.1与项目集成(4),jbpm4.1与hibernate 集成,使用jbpm4.1开发遇到的问题(1),任务提醒功能 jbpm4.1虽然支持任务reminder功能,但duedate和repeat不能设置为变量,只能在编写jpdl时写固定值。而且reminder只能通过jbpm与jmail的集成来发送邮件,没有提供接口可以直接和unitouch集成方式。 ,使用jbpm4.1开发遇到的问题(2),目前解决方法 在业务层进行任务提醒的实现。同时通过webservice调用unitouch服务。 jbpm4.1只支持应用中存在一个事务的情况 如果一个应用中存在多个事务jbpm4.1报找不到事务错误。原因是jbpm4.1通过bean类型来获取事务bean.如果存在多个就返回null。,使用jbpm4.1开发遇到的问题(3),目前解决方法 修改jbpm4.1代码通过beanid得到具体的事务bean。,对目前jbpm4.1使用的想法,把jbpm4.1从task组件中提出来,作为一个和业务没关系的单独层,以提供给其他需要使用jbpm4.1的业务使用。 对jbpm4.1进行相应改造,使jbpm支持reminder和信息推送的集成,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 62453-1:2025 EN Field device tool (FDT) interface specification - Part 1: Overview and guidance
- 【正版授权】 ISO 80000-9:2019/AMD1:2025 EN Amendment 1 - Quantities and units - Part 9: Physical chemistry and molecular physics
- 新版部编人教版一年级下册道德与法治全册教案
- 重庆课件研发
- 暑假新课预习提升练:第三单元检测卷《分数除法》(含解析)-2024-2025学年人教版六年级数学下学期
- 重庆市课件大赛
- 外研版(一起)五年级英语上册Module 1~10单元达标测试卷(共10套含答案)
- 突破与量有关的化学(离子)方程式的书写(含解析)-2026届高中化学一轮复习讲义
- 重工作业课件
- 老年人防毒知识培训课件
- 2025年江西南昌市西湖城市建设投资发展集团有限公司招聘笔试参考题库附带答案详解
- 职业教育产教融合型数字化教材开发研究
- 文学传播学概论课件
- 第3单元主题活动三《创意玩具DIY》(课件)三年级上册综合实践活动
- 商务英语词汇大全
- 麻醉质量控制专家共识
- 反走私课件完整版本
- 2024-2025学年小学劳动一年级上册人教版《劳动教育》教学设计合集
- You Raise Me Up二部合唱简谱
- 五年级开学第一课
- 雅思初级教程-unit-1-Great-places-to-be
评论
0/150
提交评论