JTangFlowJ应用服务器程序员手册.doc
《JTangFlowJ应用服务器程序员手册.doc》由会员分享,可在线阅读,更多相关《JTangFlowJ应用服务器程序员手册.doc(69页珍藏版)》请在三一办公上搜索。
1、 JTangFlow-S V3.0程序员手册浙江大学中间件工程技术中心修订记录日期修订版本描述作者2007-05-161.00初稿完成阮凌波、吴斌、黄颂博目录1. 概述31.1 文档概览31.2 文档受众31.3 相关文档32. 系统简介32.1 系统基本概念32.2 系统体系结构42.3 系统组成部分52.3.1 流程定义工具52.3.2 工作流引擎52.4 系统功能82.4.1 业务流程建模功能82.4.2 流程执行和监控功能92.5 系统运行环境92.6 系统性能92.7 系统特色102.7.1 规范化和标准化102.7.2 完整的系统部件102.7.3 灵活的流程定义102.7.4 丰
2、富的应用编程接口102.7.5 方便的第三方组织数据的重用方案102.7.6 跨语言的工作流二次开发113. 基于JTangFlow的接口开发工作流任务管理器113.1 工作流任务管理器功能框架113.2 登录模块设计123.3 任务列表模块的开发(主要介绍AllWorkItem.jsp)123.4 任务执行模块的开发133.4.1 任务执行模块功能框架133.4.2 启动新流程的功能开发143.4.3 执行任务的功能开发(主要介绍DoWorkItem.jsp)153.4.4 动态设置任务的功能开发173.4.5 任务转发对象的选取的功能开发(未做)183.4.6 任务转发的功能开发(未做)1
3、93.5 用户应用页面开发193.5.1 获取应用数据193.5.2 用户页面内容203.5.3 回传数据203.6 流程监控模块的开发(缺)203.7 消息发送的功能开发(缺)203.7.1 获取当前系统消息列表的功能开发204. 附录204.1 工作流接口WAPI大全204.1.1 全局接口204.1.1.1 GlobalAPI(EJB接口)204.1.1.2 JTangFlowFactory(EJB接口)244.1.1.3 Transfer(EJB接口)284.1.2 实例接口294.1.2.1 PackageInstance(EJB接口)294.1.2.2 ProcessInstanc
4、e(EJB接口)314.1.2.3 ActInstance(EJB接口)354.1.2.4 WorkItem(EJB接口)374.1.2.5 DataInstance(EJB接口)424.1.2.6 ParticipantInstance434.1.3 定义接口454.1.3.1 FlowPackage(EJB接口)454.1.3.2 Process(EJB接口)474.1.3.3 Activity(EJB接口)504.1.3.4 Transition(java类)534.1.3.5 Participant(java类)544.1.3.6 Data(java类)554.1.3.7 Applic
5、ation包561. 概述1.1 文档概览第一章,概述,从总体上介绍了文档的组织结构。第二章,系统简介,介绍了JTangFlow-S的整体结构,重点说明了引擎部分第三章,讲述了如何基于JTangFlow-S提供的接口进行二次开发,主要包括任务管理器和监控器的开发。第四章,附录部分对JTangFlow-S提供的二次开发接口进行了具体说明。1.2 文档受众本文档面向基于JTangFlow-S系统进行二次开发的程序员,文档中包含的主题主要集中在如何使用系统提供的接口开发任务管理器和监控器,同时,也包含了一些JTangFlow-S系统的基本架构和工作流的一些基本概念,对于测试和使用工作流系统也有一定的
6、参考价值。1.3 相关文档JTangFlow用户使用手册.doc:工作流定义器使用帮助文档2. 系统简介2.1 系统基本概念l 工作流(Workflow)业务流程的全部或部分自动化,在此过程中,文档、信息或者任务按照一定的过程规则流转,实现组织成员间的协调工作以期达到业务的整体目标。l 工作流管理系统(WfMS: Workflow Management System)一种能定义、创建和管理工作流执行的系统。主要包含三种功能:在流程建立建模的建模功能,即完成工作流过程和相关活动的定义和描述;在流程执行阶段的控制功能,即执行工作流过程,完成活动调度、任务分发和流程流转;在流程运行阶段的人机交互功能
7、,即在各种活动执行过程中实现用户与应用工具之间的数据交互。 l 业务流程(Business Process)在功能确定的组织结构中,能够实现业务目标和策略的相互连接的过程和活动集。例如,投保过程、项目开发过程。l 流程定义(Process Definition)业务流程的形式化描述,来支持系统建模和运行过程的自动化。过程可分解为一系列子过程和活动,其定义主要包括描述过程起始、终止的活动关系网络,以及一些关于个体行为的信息,例如组织成员,与过程相关的应用和数据等。l 活动(Activity)实现过程逻辑步骤的一项工作任务的描述,一般分手工操作和自动处理两类。活动是过程执行中可被工作流引擎调度的最
8、小工作单元,它要求有人或机器的参与。l 流程实例/活动实例(Process Instances/Activity Instances)实际运行中的一个过程或活动。每个实例代表一个能独立控制执行,具有内部状态的线程,可被外界通过标识存取。下图工作流基本概念及其关系。图 21工作流概念及关系图2.2 系统体系结构JTangFlow工作流管理系统是在WFMC的工作流参考模型的基础上进行开发的,下图为系统的整体结构图。系统可以分为系统建模工具、工作流运行平台两个部分。系统建模工具是提供给应用系统开发者,让其定义流程,定义组织结构和登记所开发的页面应用的工具,包括流程定义工具,组织结构定义工具和应用管理
9、工具。这些工具都是运行于客户端的Windows程序。流程运行平台用以在系统运行时,支持流程的执行,主要作用有保证流程正常流转,分派任务,提供接口让用户获取任务等。流程运行平台又可以分为工作流接口,工作流引擎、工作流任务管理器和工作流监控工具。图 22 JTangFlow-S整体体系结构图2.3 系统组成部分2.3.1 流程定义工具流程定义工具主要是一个图形化的流程定义工具,提供所见即所得的流程定制平台,其中包括流程定制部分、人员管理部分。具体请见JTangFlow用户使用手册.doc。2.3.2 工作流引擎工作流引擎是在后台运行的一个Java程序,主要负责流程的正常流转。主要的作用有启动和结束
10、活动,检查流程是否超期等。这个程序直接操作数据库,和工作流接口以及应用系统没有直接的联系,而系统开发者和使用者也都不需要做和其相关的工作。引擎结构图如下:图 23 JTangFlow-S引擎体系结构图从下往上依次为:工作流持久化层:用于保存流程运行的定义信息和运行时信息,备份历史数据,保证在引擎正常关闭或者异常后能继续未完成工作。中间件服务器:JTangFlow-S引擎运行在如JTang、JBoss之类的中间件平台之上,主要使用了Web和EJB技术。后台引擎:JTangFlow-S引擎的核心部分,主要包括流程控制子模块、应用调用子模块、事件处理子模块。工作流接口:工作流的接口是直接提供给应用开
11、发者,用于在工作流管理系统的基础上开发应用系统。通过这些接口应用程序可以直接对工作流系统进行操作,使用工作流系统中的功能。这里主要的接口是工作流应用编程接口,提供了用户任务管理,应用调用,流程跟踪和监控,设置活动和流程数据和属性,代理人设置等几方面功能。组织结构接口和通知提示接口是辅助接口,用以获得组织结构信息和系统发给用户的消息和提示。任务管理器:系统自带了具备基本功能的任务管理器,能够支持用户登陆、获取任务、执行任务、转发任务、发送消息等主要功能。监控器:监控工是钱塘工作流管理系统重要组成部分,主要提供对系统连接状态的管理、流程定义的管理以及流程实例的监控三大模块功能。其中,系统连接状态的
12、管理主要包括浏览当前系统的连接信息以及对连接的操作;流程定义的管理目前主要提供的是对流程定义信息的浏览;流程实例的监控主要包括流程实例详情的流程、流程状态的修改、流程相关数据的修改、流程实例的相关任务的管理、流程实例相关活动的管理等。2.4 系统功能2.4.1 业务流程建模功能用户通过使用钱塘工作流建模工具,经过简易方便的拖拉,以“所见即所的方式建立和发布业务流程。流程建模工具支持如下功能:o 支持顺序、选择、并发和循环等典型流程结构;o 支持子流程功能;o 支持基于角色和约束的任务分配策略;o 支持对任务进行期限设置;o 支持运行时指定任务的执行者和设定任务期限;o 支持复杂的表达式功能;o
13、 支持流程级别和任务级别的自定义属性的设置;o 支持复杂的人员、组织和角色的关系模型;o 支持WEB应用、EJB应用、web服务等多种应用类型; 2.4.2 流程执行和监控功能钱塘工作流执行引擎负责解析流程定义、生成用户任务和流程路由选择。用户通过与工作流任务管理器的交互获取任务列表、执行和提交任务。流程管理员通过工作流监控跟踪和管理系统部署的流程和当前运行的流程状态。流程执行和监控支持如下特殊功能:o 支持任务转发功能;o 支持用户代理功能;o 支持任务超期提醒功能;o 支持消息传递功能;o 支持用户动态选择路由功能;o 支持任务的批处理功能;o 支持任务的异常处理功能;o 支持流程历史数据
14、的自动备份功能; 2.5 系统运行环境1. 产品各组件的运行环境l 工作流引擎可运行在Windows、Linux、Unix等操作系统之上。l 工作流建模工具(包括流程定义工具、人员组织角色管理工具和应用管理工具)运行在Windows平台之上。l 工作流任务管理器和工作流监控器可运行在Windows的IE、Linux的Netscape和Mozilla浏览器之上。2. 产品支持的数据库JTangFlow支持SQL Server、Oracle、MySQL等主流数据库产品。3. 系统支持的应用服务器JTangFlow支持WebLogic、JBOSS、JTang等应用服务器产品。2.6 系统性能JTan
15、gFlow在如下系统环境中的性能输入如下表所示:【硬件环境】 普通PC机CPU: P4 2.4G;内存:DDR512M;【软件环境】 操作系统:Window XP;数据库:SQL Server;用服务器:JTang应用服务器;【性能测试软件】LoadRunner;测试内容并发用户数总响应时间(s)平均响应时间(ms)在无历史数据的前提下,启动流程实例,创建流程的起始活动实例并完成任务分发502346010048480200101505500255510在1000个流程实例的历史数据的前提下,启动流程实例,创建流程的起始活动实例并完成任务分发502346010049490200103515500
16、2595182.7 系统特色JTangFlow工作流管理系统具有如下几个特点:2.7.1 规范化和标准化JTangFlow符合国际工作流联盟提出的工作流和工作流管理系统模型,以及标准的5个应用程序编程接口WAPIs。2.7.2 完整的系统部件JTangFlow提供了基本完整的工作流产品部件,各类图形化的工作流系统工具(包括流程建模工具,人员组织建模工具,应用管理工具等),以及标准的基于EJB开发的WAPIs应用接口,所有这些部件能方便用户快速有效的建立规范化的业务流程应用系统。2.7.3 灵活的流程定义JTangFlow支持多种流程模式,如顺序、并发、选择、循环、多实例活动等等。定义不再单纯是
17、定义阶段的事情,在流程运行阶段,同样可以动态的定义流程的信息,这样的定义使得用户在定义流程的时候更加动态化,完成更加丰富和复杂的业务流程。2.7.4 丰富的应用编程接口JTangFlow的主要设计目标就是提供一个让用户进行二次开发的平台,以供系统开发者很好的将JTangFlow集成或者嵌入到现有系统中。 由于实际情况的不同,开发者所要开发的应用系统不论是框架结构还是具体的功能方面都可能有各种不同的要求。工作流系统提供了丰富的编程接口,使得开发者可以用这些接口开发出符合实际要求的,不同的结构和用户界面的实用系统。2.7.5 方便的第三方组织数据的重用方案为了重用已有系统的人员组织数据,钱塘工作流
18、管理平台提供了第三方人员的注册和管理,既保证了工作流应用系统方便的重用第三方组织数据,又避免了不必要的重复开发和管理。2.7.6 跨语言的工作流二次开发为了支持多种程序语言对工作流系统的访问和集成,方便工作流应用系统的二次开发,钱塘工作流管理平台在提供了java编程接口和DLL编程接口,方便不同的编程用户开发适合自身特点和需求的工作流客户端工具,包括任务管理器、监视器。3. 基于JTangFlow的接口开发工作流任务管理器3.1 工作流任务管理器功能框架工作流任务管理器的功能包括用户登陆、任务管理、流程控制、系统消息、个人设置等几个模块,下图是一个典型的工作流任务管理器的功能框架图。本章将介绍
19、如何通过工作流接口实现基于WEB的工作流任务管理器。3.2 登录模块设计【名称】:登录处理【输入】:用户登录名logname和用户密码pwd【相关页面】:静态登录页面index.htm, 动态登录页面log.jsp, 其中log.jsp包括顶部的top.jsp,左侧的navi.jsp,右侧的AllWorkItem.jsp,【实现方法】:1) 通过org.jtang.flow.engine包中的GlobalAPI.java类中的UserLogin方法来验证登录的合法性2) 如果合法,用用户登录名logname来设置session的userID属性;3) 如果不合法,弹出对话框提示用户名或密码错误
20、;【功能】:验证用户登录的合法性。【说明】:系统主界面要包括所有的功能选项。【例子】:/globalAPI是一个GlobalAPI EJB的远程接口String logname = new String(request.getParameter(logname).getBytes(iso8859-1);String pwd = (String)request.getParameter(pwd);boolean result = globalAPI.userLogin(logname,pwd); if (result) session.setAttribute(userID,logname);e
21、lse/else:用户名或密码错误时,弹出对话框提示“错误用户名或密码”/如果合法:显示出任务管理器页面3.3 任务列表模块的开发(主要介绍AllWorkItem.jsp)【名称】:任务列表【输入】:点击navi.jsp页面中的任务浏览,或登录任务管理器及其他情况【相关页面】:在log.jsp页面中的右侧部分显示AllWorkItem.jsp页面;【实现方法】:1) 用session中的方法getAttribute获得用户的userID;2) 用org.jtang.flow.engine.GlobalAPI EJB的远程接口中的方法getAllNewWorkitems4User获得用户user
22、ID的所有新任务;3) 用org.jtang.flow.engine.GlobalAPI EJB的远程接口中的方法getAllExecutingWorkitems4User获得用户userID的所有在办任务;4) 用org.jtang.flow.engine.GlobalAPI EJB的远程接口中的方法getAllPreFinishedWorkitems4User获得用户userID的动态设置任务;5) 用org.jtang.flow.engine.GlobalAPI EJB的远程接口中的方法getAllFinishedWorkitems4User获得用户userID的所有结束任务;6) 用W
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JTangFlowJ 应用 服务器 程序员 手册

链接地址:https://www.31ppt.com/p-2393440.html