中国联通山西分公司系统设计书工作流引擎样本.doc
《中国联通山西分公司系统设计书工作流引擎样本.doc》由会员分享,可在线阅读,更多相关《中国联通山西分公司系统设计书工作流引擎样本.doc(52页珍藏版)》请在咨信网上搜索。
1、TW_OO_DESIGN_DOC_1210-01AConfidential(秘密)OA工作流引擎设计说明书Version 5.0Written By TalkWebTALKWEB湖南拓维信息系统股份 , All Rights Reserved目录1引言41.1编写目标41.2缩略语41.3参考资料42软件结构42.1关键实现技术42.2引擎处理结构53引擎包含到数据名称规范53.1文件系统划分53.1.1文件区命名规范53.2数据库中表、字段命名规范84引擎异常处理机制84.1以前错误机制缺点84.2对错误机制改善方法95引擎服务类具体说明105.1类列表105.2引擎全部类关系结构图105.
2、3类具体设计115.3.1功效类别层中类具体说明115.3.2步骤实例层中类具体说明165.3.3步骤逻辑处理层中类具体说明216具体类实现机制297数据库字典307.1ER图307.2数据字典301.主步骤实例表(T_WorkFlow_FlowMain)302.主步骤字段表(T_WorkFlow_MainField)313.主步骤附件列表(T_WorkFlow_MainAtt)324.步骤日志表(T_Flow_LogMsg)325.未结束步骤步骤日志信息表(T_Flow_LogStatus)326.未结束日志字段表(T_Flow_LogField)337.未结束日志附件列表(T_Flow_L
3、ogAtt)338.已结束步骤步骤日志信息表(T_Flow_EndLogStatus)349.已结束日志字段表(T_Flow_EndLogField)3410.已结束日志附件列表(T_Flow_EndLogAtt)3511.待办信息表(T_WorkFlow_Notify)3512.在办信息表(T_WorkFlow_ZaiBan)3513.用户公文邮件表(T_WorkFlow_UserMail)3614.公文邮件字段表(T_WorkFlow_MailField)3615.公文邮件附件列表(T_WorkFlow_MailAtt)3716.需要修改表、视图说明378附注388.1步骤状态类型388.
4、2处理标识388.3消息格式说明388.4和文件传输服务接口418.5对传阅修改说明418.6和其它外挂功效接口411 引言1.1 编写目标 本文档是完全参考中国联通总企业办公自动化系统工作流模块具体设计说明结合山西联通MSS系统建设现在来编写,而且在原有4.0版本基础上对工作流引擎基础结构及基础实现做了较大改善,软件开发人员在此基础上编写程序代码。1.2 缩略语WFEWorkFlow Engine工作流引擎1.3 参考资料步骤定义设计书工作流处理系统设计说明书(v4.0)中国联通总部OA系统设计变更提议2 软件结构2.1 关键实现技术 采取.Net框架,用C#编写; SQL SERVER数据
5、库存放数据; 文件系统存放步骤中所带工作附件(用到自定义文件传输服务); 2.2 引擎处理结构说明:1. WEB上消息直接送到MSMQ Agent服务器上,由Agent上一个消息分发服务依据消息缓急程度,将消息送到工作流引擎服务器上,不一样队列中;(Agent服务器上分发服务另外设计开发)2. 引擎服务器上开设多个队列,针对每个MSMQ,引擎服务全部开了专门线程对应处理;3. 引擎服务在做处理时候,关键是和数据层文件服务器和数据库服务器交互;4. 引擎服务在程序出现异常时候也有对应异常处理机制(具体机制后面会有具体说明)3 引擎包含到数据名称规范3.1 文件系统划分文件系统分为五个区盘符:Fi
6、leStoreTemp临时区盘符: FileStore OAMail公务邮件区盘符: FileStore backup备份区盘符: FileStore Doc文档归档区盘符: FileStore Mode模板区(存放Word模板)备注:以上命名必需和引擎服务配置文件保持一致3.1.1 文件区命名规范临时区、备份区、公文邮件区命名:企业命名以企业ID命名,部门以部门ID命名,时间以yyyyMM方法命名,步骤实例ID已经由工作引擎定义好了。附件命名以文件实际名称命名。备份区备份序号采取数字递增方法命名。文档归档区命名:采取企业ID,部门ID命名企业文件夹和部门文件夹,时间以yyyyMM方法命名,全
7、部文件夹及文件不能采取汉字方法命名,附件命名采取Guid方法命名,扩展名称保持原有扩展名。 临时区UnicomgdTemp步骤实例ID时间(年月)部门ID企业ID文件实际名称+原扩展名 文档归档区UnicomgdDoc时间(年月)部门ID企业IDGUID+原扩展名步骤实例ID说明:步骤结束后附件将归档到此处 备份区Unicomgdbackup步骤实例ID时间(年月)部门ID企业ID步骤处理序号文件实际名称+原扩展名步骤处理序号= T + 递增数字=用户ID+yyyyMMddhhmmssmi说明:一个步骤实例每个走一个步骤就会在备份去存放一个备份,只到步骤实例结束后才由工作流引擎删除 公务邮件区
8、UnicomgdOAMail企业名称ID步骤实例ID传 阅主抄送文件实际名称+原扩展名文件实际名称+原扩展名年月阅 办文件实际名称+原扩展名说明:公务邮件区为用户个人存放传阅文件、阅办文件和主送、抄送文件,在同一个步骤中,在传阅、阅办和主送、抄送时是多个人共享一份文件。3.2 数据库中表、字段命名规范1. 数据库表是以T_开头;2. 数据库视图是以V_开头;3. 数据库函数是以SF_开头;4. 数据库存放过程是以SP_开头;5. 每个表中字段,要以意思明确为标准;4 引擎异常处理机制4.1 以前错误机制缺点引擎对于犯错消息,重新处理时间间隔太短。而对数据库压力很大时,频繁数据库操作可能造成数据
9、库死锁,超时等错误,对于这些错误系统自动恢复需要时间较长,二者矛盾造成了过多工作流请求出现回滚。4.2 对错误机制改善方法对于可能出现异常错误,我们采取多级错误队列处理方法,对于不一样错误队列分情况用不一样重试时间,确保每一个错误全部能够经过足够长时间进行尝试,从而尽可能避免因为数据库或其它系统资源繁忙造成引擎处理不过来而回滚。具体错误处理机制图以下: 说明:1. 消息首先被送到正常队列中,等候处理;2. 当正常处理失败时,先送入异常处理队列1中,等候5分钟后处理该消息;3. 当在异常处理队列1中处理失败时,先送入异常处理队列2中,等候10分钟后处理该消息;4. 当在异常处理队列2中处理失败时
10、,先送入异常处理队列3中,等候15分钟后处理该消息;5. 处理时间间隔能够依据实际系统性能需要做对应调整;6. 错误队列也能够经过配置文件来配置;7. 对于数次处理也失败消息,保留到日志或数据库中,用另外监控程序做监控,等候修改后处理.5 引擎服务类具体说明5.1 类列表类名类说明WorkEnginerCls.cs工作流处理类(即单个线程),负责工作流处理SocketCls.cs文件处理类,负责向文件服务器发送指令,等候返回结果ConstCls.cs定义了整个工程全部需要用到常量和方法DBDealCls.cs数据库交互类,负责对数据库进行操作MSMQCls.cs负责对消息队列进行操作SmsCl
11、s.cs对短信处理类WorkFlowDefineCls.cs步骤实例基础信息定义类WorkFlowCntrCls.cs步骤实例基础信息控制类StatusCls.cs步骤中每个状态基础信息类DisposalCls.cs步骤中每个处理基础信息类UserCls.cs用户基础信息类5.2 引擎全部类关系结构图 DBDealCls.csConstCls.csMSMQCls.csSMSCls.csSocketCls.cs功效类别层WorkFlowDefineCls.csStatusCls.csDisposalCls.csUserCls.cs步骤实例层WorkEnginerCls.cs逻辑实现层层WorkF
12、lowCntrCls.cs5.3 类具体设计5.3.1 功效类别层中类具体说明5.3.1.1 ConstCls类类名ConstCls 父类名责任描述 定义静态方法 定义全局常量(各个线程独自占有)协同类全局常量类型值UrlCompartchar#ConfigCompartchar=C_Userchar;cntFileCompartchar*C_Chr1char(char)1C_Chr2char(char)2C_Chr3char(char)3C_Chr4char(char)4C_Rep1string#$!%C_Rep2String#$%!C_Rep3String$#!%C_Rep4string!
13、#$%cntFileEndstringncntFileQuitstringQUITcntMSMQstringprivate$cntCFilesstringCOPYcntDFilesstringMOVEcntMFilesstringMOVEC_PassDirstring传阅C_MotifDirstring主抄送C_TypeZhustring主办C_TypeXieString协办C_TypeYueString阅办C_CompartStringC_DubCompartStringC_UdeptString方法说明方法名1ResolveStr ()类型public static stringDescr
14、iption字符串解析方法InputSrcStr,string型,需要解析字符串;Flag,char型,字符串分割符OutputStrArr 解析后产生字符串数组方法名2WriteLog ()类型public static voidDescription当操作失败时,写犯错日志Inputstring LogMsg, 犯错信息 string FilePath 日志文件所在路径Output5.3.1.2 SocketCls类类名FileCntrCls父类名责任描述 提供指示文件服务器操作附件方法协同类ConstCls CnnSocket方法说明方法名1DealFileSys ()类型Public
15、boolDescription发送命令到文件服务器InputSocket Skt,连接服务器SOCKET,string CmdFile 要操作文件命令行Output成功则返回TRUE,不然返回FALSE方法名2SendFileMsg ()类型public stringDescription和文件服务器建立连接,而且将指定操作送到文件服务器上,并等候服务器操作后返回结果。Inputstring AllDealFileStr 全部要发送命令组成一个字符串格式是:命令1;命令2;。/nOutput成功则返回TRUE,不然返回FALSE5.3.1.3 DBDealCls类类名DBDealCls父类名责
16、任描述 提供连接数据库方法 查询方法 事务实施方法 断开数据库方法协同类FileDealCls方法说明方法名1DBDealCls ()类型public voidDescription类结构函数,建立数据库连接,实例化文件类。调用到了Open_Cnn发生 错误时抛犯错误,让上一级处理Inputstring CnnStr 连接数据库字符串Output方法名2Open_Cnn ()类型public voidDescription建立数据库连接InputOutput方法名3Close_Cnn ()类型private voidDescription关闭数据库连接,释放连接实例InputOutput方法名
17、4Query ()类型public DataTableDescription依据传入查询语句,得到一个统计集,并返回InputSqlStr, string型,查询语句Output类型 DataTable方法名5ExecuteTran ()类型public boolDescription有事务处理方法InputSqlArr 字符串数组(包含要操作全部SQL语句),OutputTRUE表示事务实施成功,FALSE表示实施失败方法名6ExecuteTran ()类型public boolDescription有事务处理方法InputSqlArr 字符串数组(包含要操作全部SQL语句), 包含文件系统
18、操作类型和所包含附件OutputTRUE表示事务实施成功,FALSE表示实施失败方法名7RollBackFile ()类型public boolDescription到犯错时需要恢复文件系统机制InputArrayList AttachMentDeal 包含文件系统操作类型和所包含附件OutputTRUE表示实施成功,FALSE表示实施失败5.3.1.4 MSMQCls类类名MSMQCls父类名责任描述 创建消息队列方法 发送消息到队列方法 从指定队列中读取消息 删除指定名称消息队列方法协同类ConstCls方法说明方法名1CreateMSMQ ()类型public boolDescripti
19、on在指定机器上创建指定名称消息队列InputMSMQPath string 消息队列名称OutputTRUE 表创建成功,FALSE 表创建失败方法名2SendMsg ()类型public boolDescription将指定消息发送到指定队列中InputMsmqPath string 消息队列路径,System.Messaging.Message ObjMsg 要发送消息对象OutputTRUE 表发送成功,FALSE 表发送失败方法名3OnReceiveCompleted ()类型public voidDescription事件绑定具体方法InputSource 触发事件源 Receiv
20、eCompletedEventArgs asyncResult 异步OutputObject 返回读到消息方法名4DelMsmq ()类型public boolDescription删除指定消息队列InputMsmqPath string 消息队列路径OutputTRUE 表删除成功,FALSE 表删除失败5.3.2 步骤实例层中类具体说明5.3.2.1 WorkFlowDefineCls类 类名WorkFlowDefineCls父类名责任描述 步骤实例基础信息类协同类ConstCls属性类型说明FlowIDstring步骤实例IDTitleString步骤实例标题ActionString动作
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国联通 山西 分公司 系统 设计 工作流 引擎 样本
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。