(计算机应用技术专业论文)基于接口设计的工作流研究与实现.pdf_第1页
(计算机应用技术专业论文)基于接口设计的工作流研究与实现.pdf_第2页
(计算机应用技术专业论文)基于接口设计的工作流研究与实现.pdf_第3页
(计算机应用技术专业论文)基于接口设计的工作流研究与实现.pdf_第4页
(计算机应用技术专业论文)基于接口设计的工作流研究与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机应用技术专业论文)基于接口设计的工作流研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于接口设计的工作流研究与实现 摘要 随着网络和i n t e r n e t 的快速发展,人类的交往方式也逐渐多样化,办公手 段也不断多样化。企业办公的方式也逐渐趋向于无纸化,o a 系统逐渐在企业中 得到普及,这无疑是企业管理和运营制度的一次变革。企业规模的扩大,对业务 流程的管理也提出了更高的要求。为了完善企业的管理,对企业资源进行有序和 有效的管理,减少人为因素造成的资源浪费,工作流管理系统正是迎合了企业的 需求而蓬勃发展起来的。 工作流在企业中常称作电子流,可以用于管理企业的业务报帐、市场出差管 理、项目申报、财务审批等。采用工作流管理系统来管理企业业务,使企业的常 规业务管理得到固化,从而为管理者审视管理制度,不断优化管理模式提供了有 效的参考和改进手段。灵活的工作流流程管理,可以更加容易的满足企业管理者 的多样化需求。 为了设计好的工作流管理系统,软件开发商开发出各种各样的工作流模板。 本文主要是针对于中小企业工作流管理系统的设计,采用c # 接口设计方式来描 述工作流的主要组成部分。接口设计往往出现在代码设计的前期,在具体的工作 流管理系统中提取工作流模型,它只负责流程的模型设计。软件公司通过对接口 模型的不断完善,而逐渐形成自己的一套完善的工作流管理系统框架。 论文从分布式体系入手,结合工作流主体要素的接口设计,对工作管理系统 的特点和发展趋势进行分析,阐述工作流管理系统结构的框架结构,对工作流过 程中主要操作进行了实现。关于工作流接口设计实现,采用了工作流数据库结构 设计,采用x m l 文档作为配置文件,对工作流从启动到终止的主要状态作实现描 述。 最后,对全文进行了总结并就工作流接口设计理论和应用方面的进一步研究 工作做了展望。 关键词:接口设计,工作流,工作流引擎,有向图,x m l ,经营体 t h ea p piic a tio n sr e s e a r c ha n dim pie m e n t a tio no f w o r k flo wb a s e do nln t e r f a c e a b s t r a c t w i t ht h ef a s td e v e l o p m e n to ft h ei n t e r n e t ,t h ew a y so fc o m m u n i c a t i o n b e t w e e nh u m a n b e i n g sa r ed i v e r s i f y i n ga n do f f i c ei n s t r u m e n t sa l s od i v e r s i f y i n g t h eo f f i c ew o r ki ne n t e r p r i s e sa l s og r a d u a l l yt e n d st ob ep a p e r l e s sa n dt h eo a s y s t e mg r a d u a l l yh a s g a i n e di t sp o p u l a r i z a t i o ni nt h ee n t e r p r i s e sw h i c hi s d o u b t l e s st h et r a n s f o r m a t i o no ft h eb u s i n e s s m a n a g i n g a n d o p e r a t i n g s y s t e m t h ee n t e r p r i s e se x p a n s i o ni ns c a l ea l s os e t sah i g h e rs t a n d a r dt ot h e s e r v i c ef l o wm a n a g e m e n t i no r d e rt oc o n s u m m a t et h ee n t e r p r i s e s m a n a g e m e n t t o m a n a g ee n t e r p r i s er e s o u r c e so r d e r l ya n de f f e c t i v e l ya n de l i m i n a t et h e w a s t i n go ft h er e s o u r c e so w i n gt ot h eh u m a nf a c t o r s ,t h ew o r kf l o wm a n a g i n g s y s t e mi sb o o m i n gr e s u l t i n gf r o mp r e c i s e l yf o r t h ee n t e r p r i s e sd e m a n d t h ew o r kf l o wi nt h ee n t e r p r i s ew h i c hi so f t e nc a l l e dt h ee l e c t r o n i cs t r e a m m a yb eu s e di nm a n a g i n gt h ee n t e r p r i s e sa c c o u n t i n g ,t h eb u s i n e s s 呻 m a n a g e m e n t ,t h ep r o j e c td e c l a r a t i o n ,t h ee x a m i n a t i o no ff i n a n c ea n ds oo n m a n a g i n gt h ee n t e r p r i s e sd a i l yb u s i n e s sb yt h ew o r kf l o wm a n a g i n gs y s t e m e n a b l e st h ee n t e r p r i s e st os o l i d i f yi t sc o n v e n t i o n a lb u s i n e s sm a n a g e m e n ta n d p r o v i d e se f f e c t i v er e f e r e n c e sa n dm e a n so fi m p r o v e m e n tf o rt h em a n a g e r sw h o c a ne x a m i n et h em a n a g e m e n ts y s t e ma n di m p r o v et h em a n a g e m e n tm o d e s f l e x i b l ew o r kf l o wm a n a g e m e n tw i l ls a t i s f ym u l t i p l ed e m a n d so ft h em a n a g e r s b e t t e r i no r d e rt o d e s i g nag o o dw o r kf l o wm a n a g i n gs y s t e m ,t h es o f t w a r e d e v e l o p e r sh a v ed e v e l o p e dv a r i o u sw o r kf l o wt e m p l a t e s t h i sp a p e rm a i n l y a i m e da t d e s i g n i n gw o r kf l o wm a n a g e m e n ts y s t e mf o rt h e s m a l la n d m e d i u m - s i z e de n t e r p r i s e s a d o p t i n g c 挣i n t e r f a c e d e s i g nt o d e s c r i b et h e c o m p o s i t i o no ft h ew o r kf l o w t h ei n t e r f a c ed e s i g nw h i c hu s u a l l yc o m e so u ta t t h ee a r l yp e r i o do fc o d ed e s i g ne x t r a c t st h ew o r kf l o wm o d e li nt h ec o n c r e t e h t w o r kf l o wm a n a g e m e n ts y s t e m i ti so n l yr e s p o n s i b l ef o rd e s i g n i n gt h em o d e l o ft h ef l o w t h es o f t w a r ec o m p a n i e sg r a d u a l l yd e v e l o pi t so w dc o m p l e t e s y s t e mo ft h ew o r kf l o wm a n a g e m e n tt h r o u g ht h eu n c e a s i n gi m p r o v e m e n to f t h ei n t e r f a c em o d e l i nt h i sd i s s e r t a t i o nf i r s t l ya n a l y z e st h ed i s t r i b u t e da r c h i t e c t u r ea n dt h e d e s i g no ft h ei n t e r f a c eo fw o r kf l o wf a c t o r s ,a n da n a l y z e st h ec h a r a c t e r i s t i ca n d t h et r e n do ft h ew o r kf l o wm a n a g i n gs y s t e m t h i sd i s s e r t a t i o nd e s c r i b e st h e m e t h o do ft h er e a l i z a t i o no ft h ew o r k f l o wi n t e r f a c e i nt h er e a l i z a t i o n ,t h i s d i s s e r t a t i o na d o p t st h ed e s i g no ft h ed a t a b a s ea n dm a k e st h ex m l f i l e sa st h e c o n f i g u r a t i o nf i l e s ,d e s c r i b e st h ew h o l ef l o wf r o mt h es t a r t u pt ot h ee n d i nt h ee n dg i v e st h ec o n c l u s i o na n de x p l o r e st h ef u r t h e rd e v e l o p m e n t so f t h ef i e l do fw o r kf l o wi n t e r f a c ed e s i g n k e yw o r d s :ln t e r f a c ed e s ig n ,w o r k fio w ,w o r k f io we n gir l e ,dir e o t e dg r a p h , x m l ,o p e r a t o rp a r t 独创声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其 他人已经发表或撰写过的研究成果,也不包含未获得 ( 注! 垫遗查墓丝委要签型岂婴笪:奎拦互窒2 或其他教育机构的学位或证书使 用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 乙日 学位论文作者繇玉q 签字日期- 脚年歹月 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。 本人授权学校可以将学位论文的全部或部分内容编入有关数据库进行检索,可以 采用影印、缩印或扫描等复制手段保存、汇编学位论文。同时授权中国科学技术 信息研究所将本学位论文收录到中国学位论文全文数据库,并通过网络向社 会公众提供信息服务。( 保密的学位论文在解密后适用本授权书) 导师签字: 签字日期:w 年月岫 私 五 旧 五 月 呈厂6 名 军 戤 咿 誊 作 ,: 文 期 沦 日 位 字 学 签 基于接口设计的工作流研究与实现 第一章绪论弟一早瑁形 本章给出课题来源,研究背景及意义,研究目标与论文内容安排。 1 1 论文的研究价值和意义 近年来,国内外的企业不断的发展壮大,由原来的小作坊逐渐变成了跨地区 甚至跨国企业,原有的管理模式,也要随着不断的变化,网络的普及,更是给企 业管理方面提供了得天独厚的便利条件。作为企业管理,其中最重要的一环就企 业的业务流程管理,不管是业务定单的审核管理,还是企业内部部门之间协同工 - 作,完善的企业管理以及规范化企业流程管理是必不可少的一个任务。而工作流 管理系统更是在很大程度上迎合了企业的口味,为他们提供了规范业务流程的一 种手段和可操作性的方法。 工作流技术发端于2 0 世纪7 0 年代中期办公自动化领域的研究工作,但工作 流思想的出现还应该更早,1 9 6 8 年f r i t zn o r d s i e c k 就已经清楚地表达了利用 信息技术实现工作流程自动化的想法。2 0 世纪7 0 年代与工作流的研究工作包括: 宾夕法尼亚大学沃顿学院的m i c h a e ld z i s m a n 开发的原型系统s c o o p ,施乐帕 洛阿尔托研究中心的c l a r e n c ea e l l i s 和g a r yj n u t t 等人开发的o f f i c e t a l k 系列试验系统,还有a n a t o lh o l t 和p a u lc a s h m a n 开发的a r p a n e t 上的“监控 软件故障报告 程序。s c o o p 、o f f i c e t a l k 和a n a t o lh o l t 开发的系统都采用 p e t r i 网的某种变体进行流程建模。其中s c o o p 和o f f i c e t a l k 系统,不但标志 着工作流技术的开始,而且也是最早的办公自动化系统。 随着工作流管理系统的不断改进,工作流样式也不断的变化。但是作为工作 流的核心仍然是工作流模型的设计。工作流模型的强弱直接关联着工作流管理系 统的性能。不同的工作流模型适合的企业规模也不同。目前有许多适用不同应用 领域的工作流产品,像i b m 公司的f l o w m a r k 系统,a c t i o nt e c h n o l o g i e s 公司 的a c t i o n f l o w 工作流管理系统等。因为工作流的种类繁多,难以用标准的框架 工具描述。所以虽然工作流管理联盟对工作流模型的概念、各主要组成部分功能 及相互之间的接口做了一些规定,但这些标准仅停留在技术实现层次上,对工作 基于接口设计的工作流研究与实现 流过程模型的语义重视不够。在工作流概念层次上至今仍没有统一的意见,所开 发的产品依赖的模型大多是专用的。这些工作流模型对于中小型企业来说,并非 是很好的选择。 本文用有向图来描述企业的业务逻辑,流程模板的方式来描述工作流的流 程,更加的灵活和可控。首先划分业务过程,将实际应用中的工作流用有向图表 示。其次从上到下分解过程,直到原子活动为止。为了便于计算机存储和处理, 用逻辑规则描述活动的完成条件和先决条件。每一个活动都有相应的业务规则, 内容包括起始事件、活动、结束事件。 随着网络的普及,工作流采用b s 结构模式也是适应了发展的需要。本论文 是基于o o t 的工作流过程模型设计,通过接口类的设计,用接口类来描述工作流 的业务逻辑以及相关的操作,在此基础上,可以不断的扩展和完善。而具体的工 作流管理系统则是在具体的需求分析后,应具体企业的需要把接口类逐个实例 化。而从软件开发角度来考虑,可以避免不必要的重复性研发,可以把接口模型 设计作为一个基础框架,把工作流管理系统的业务逻辑和流程逻辑分开,有效的 提高中小型企业工作管理系统的开发效率。 企业的管理单纯靠工作流管理系统是不能完全满足用户需求的,需要多种功 能模块配合来完成。论文所设计的工作流管理系统是独立于外部系统的功能模 块,并作为插件配合其他模块来协同工作。这样有利于减少开发成本,而使系统 工程师更专注于流程的设计与开发。 1 2 论文的研究内容和结构 课题实现的具体目标: 论文对工作流要素的接口以及工作流流程的主要操作进行介绍,并通过接口 实现,介绍了工作流管理系统模型设计的实现方法。文章中把工作流的设计作为 一个独立的功能模块来实现,把逻辑实现与逻辑设计分离开来,同时把工作流管 理模块作为企业管理系统的一个插件来管理,从复杂的系统设计中独立出来,更 加专注于工作流的设计与完善。 本论文的内容安排如下: 第一章:绪论 2 基于接口设计的工作漉研究与实现 本章给出课题来源,研究背景及意义,研究目标与论文内容安排。 第二章:工作流管理系统概述 本章给出了工作流管理系统的简单概述,介绍了工作流管理系统的主要功 能,并对接口设计进行描述。通过开发流程图对工作流接口设计与实现设计关系 做一个对比和展示。通过参考和查阅相关文献资料,对工作流管理系统基础结构 做描述。 第三章:接口设计相关知识 本章就c # 接口以及接口的继承做了详细的描述。同时对x m l 相关知识进行 了介绍。 本章对开发环境进行描述,详细介绍了开发平台必须的环境配置,并就b s 结构的特点进行了阐述,通过对b s 和c s 结构的比较,分别介绍b s 结构优点 以及缺点。论文参考的系统也是基于b s 结构。 第四章:工作流接口设计主体要素 本章介绍了工作流模型的主体要素,并就其中主要的四个组成部分进行接口 设计,通过对要素的接口描述来讲解接口设计的特点和形式,工作流管理系统中 主要因素包含了人、物、流程以及管理四个方面,各方面彼此之间相互关联,共 同完成流程的描述。本章就实际开发中部分代码为例子做简单介绍。 第五章:工作流流程模板介绍 本章介绍了工作流程模板的存储和实现方式,对有向图的数据存储结构和 舭数据库存储作简要介绍。 第六章:工作流管理系统设计与实现 本章结合海尔家居系统平台,对工作流管理系统的实现做出介绍,并附带部 分实现实例。通过对平台系统设计的介绍,对工作流管理系统的各种基本操作做 了实现介绍。从工作流的启动、消息的转发、消息终止、节点处理、多重分支等 方面介绍了流程实现方法及数据库操作。通过查阅部分文献资料,对实际开发过 程中的设计做对比,分别对常见实现方法和开发实际使用方法做出描述。 第七章:工作流接口实现 本章对工作流接口的实现做了事例介绍,对工作流主体要素中部分接口函数 做了事例介绍。 3 基于接口设计的工作流研究与实现 第八章:完善问题及发展思考 本文虽然对工作流接口的实现做了描述,但仍然存在一些问题需要进一步研 究。工作流接口设计是独立于其他的功能而实现的,在与其他功能模块割接的时 候存在性能问题。对开发过程中遇到的一些问题做完善性思考,提出个人解决办 法,有待完善。 本章同时对工作流接口设计的发展做总结和展望。 4 基于接口设计的工作流研究与实现 第二章工作流管理系统 本章给出了工作流管理系统的简单概述,简单介绍了工作流管理系统的主要 功能,并对接口设计进行描述。通过开发流程图对工作流接口设计与实现设计关 系做一个对比和展示。 2 1 工作流管理系统 工作流基本概念 工作流就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一 起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。 工作流管理系统( w o r k f l o wm a n a g e m e n ts y s t e m ,w f m s ) 的主要功能是通过 计算机技术的支持去定义、执行和管理工作流,协调工作流执行过程中工作之间 以及群体成员之间的信息交互。工作流需要依靠工作流管理系统来实现。工作流 管理系统是以格式化的流程描述作为输入的软件组件,它维护流程的运行状态, 并在人和应用之间分派活动,推进工作流实例的执行,并监控工作流的运行状态。 工作流管理系统有如下特点: 1 可控性,在工作流管理系统中,流程的管理是最核心的部分。通过对流程 进度的监视,可以有效的监视流程进展情况,并可以通过报警提示机制,及时的 提醒有关操作人员进行相关处理。为能有效管理和提高工作效率,可以配置限时 操作,如在业务流程的某个环节中,超过了业务时间阙值,系统可以自动提醒工 作人员应该进行操作或进行默认操作( 超时通过) 。 2 可配性,工作流管理系统的流程可以灵活配置。通过对流程模板的设置, 可以灵活定义工作流程。流程模板与实际流程管理是分离的,在启动工作流时可 以选择流程模板。同时,对于工作流的监视与控制机制也是可以配置的,如对超 时默认操作类型以及时间限制闸口等,都通过配置文件进行配置,有效提高了系 统的灵活性。 3 可扩展性,由于对业务流程进行了抽象化,从而使工作流管理系统可以独 立于具体的管理系统,专注于流程的管理与完善。工作流管理系统的开发,多采 用建模的方法进行设计,这有利于开发人员不断对系统进行完善。而企业具体应 s 基于接口设计的工作流研究与实现 用时,系统可以作为企业系统的一个插件,并对具体的业务抽象体进行具体化, 实现了工作系统的可扩展性【1 】o 业务的抽象: 由于工作管理系统是独立于具体业务的,所以,必须对业务的各种要素进行 抽象。如在业务审批流程中,每一个部门都会被抽象为一个节点,并为其分配一 个节点编号,这就是这个部门的唯一标识,并贯穿于整个流程中。系统只注重节 点的管理以及流程的进展,而对于具体的部门信息则由节点编号来代替,并到具 体实现的时候进行详细信息的关联。 工作流应用领域介绍: 工作流在大多数的实际应用中的情况可以这样来简单地描述:在网络、服务 器和多台计算机客户端的硬件平台上,业务过程按照预先设定的规则并借助应用 程序和人对相关数据的处理来完成。例如,在日常办公中,当撰写好某份报告之 后,可能需要将其提交给领导进行审阅或批示;审批意见可能需要汇集并提交给 另外一个人,以便对报告进行进一步的修改。这样,可能会形成同一篇文档在多 个人之间的顺序或同时传递。对于这样的情况,我们可以使用工作流技术来控制 和管理文档在各个计算机之间自动传递,而非手工传递,这就可以称之为工作流。 工作流属于计算机支持的协同工作( c o m p u t e rs u p p o r t e dc o o p e r a t i v e w o r k ,c s c w ) 的一部分。后者是普遍地研究一个群体如何在计算机的帮助下实现 协同工作的。日常工作中,有相当一部分的工作必须由多个人协同来完成,伴随 着办公自动化的普及,用计算机来模拟工作流程成为一种重要的需求。随着企业 的不断发展,规模的不断扩张,规范业务流程,严格规范公司业务的管理制度, 固化业务操作顺序也是必要的。工作流正式为了这样的需求,在企业中得到了广 泛的应用。工作流简单流程事例如图2 - i : 图2 - 1 某产品销售的工作流示意图 6 基于接口设计的工作流研究与实现 工作流管理系统的主要功能是通过计算机技术的支持去定义、执行和管理工 作流,协调工作流执行过程中工作之间以及群体成员之间的信息交互。工作流需 要依靠工作流管理系统来实现。工作流属于计算机支持的协同工作的一部分。后 者是普遍地研究一个群体如何在计算机的帮助下实现协同工作的。 工作流管理一般应该具备以下功丹- - 匕i - , : 使用角度: ( 1 ) 表单的电子填报; ( 2 ) 表单和事件在不同节点之间的自动流转; ( 3 ) 根据不同业务要求,使用不同的流程; ( 4 ) 流程的动态化,比如典型的根据报销金额的不同,相应转入不同人员审 批; ( 5 ) 灵活的签批功能,包括转发、抄送、批注等等; 从设计角度: ( 1 ) 灵活的表单设计功能,一般应该可以自由地放置标签、文本字段、选择 框、图片等等,好一些的产品还可以增加明细内容( 比如,一个销售订单,包括 订货方、日期等主表单中的内容,也要包括订货的明细项目,即明细行) 。 ( 2 ) 灵活的流程设计功能:可以根据职务、岗位、角色等,灵活设计各种流 转方式。 从管理角度: ( 1 ) 对于流程的监控、定时提醒等功能; ( 2 ) 人员的审批权限控制; ( 3 ) 代办( 授权) 功她b b 这是一个容易忽略、但非常重要的功能,如果一个 人出差,可以将他的审批权限授权给其他人。 以上主要是从知识、文档的基本管理角度来考虑。然而,知识管理有更深 刻的含义,就是不仅要电子化地管理企业的知识,而且要通过知识管理系统,推 动企业知识的积累。因此,知识管理还应该具备另外的一些重要功能: ( 1 ) 阅读统计:统计不同文档被阅读的次数,统计最受欢迎的文档等等; ( 2 ) 知识贡献统计:统计各部门、员工贡献的文档的篇数等; ( 3 ) 知识地图:将不同内容的文档根据不同主题组织起来,提供快速掌握相 7 基于接口设计的工作流研究与实现 关领域内容的指南; ( 4 ) 与其他功能的关联:与企业的客户信息、项目信息、业务流程等建立紧 密的关系,可以方便地查找相关的内容。 一个好的工作流管理系统要有以下的特点【2 】: ( 1 ) 灵活性对于工作流管理要灵活,业务流程的定义,执行,管理,终止 都应当满足客户的不同需要。 ( 2 ) 可扩展性随着业务的发展,工作流程的变动及补充是必要的。 ( 3 ) 可移植性可以在各种工作流相关的企业中得到使用,也就是软件开发 后,可以满足各种行业的工作流程的需要。 工作流发展趋势 工作流技术的发展日趋成熟,网络的普及,工作流的发展趋势也更加趋向于 网络化,主要特点如下: 分布式的系统、组件化的设计、基于事件、基于w e b 、动态建模、可配置。 2 2 工作流管理系统结构接口设计 工作流管理系统的应用领域比较广泛。现实社会中的行业种类繁多,相应的 业务范围、业务流程、业务需求以及业务的操作规范都是有很大的差别。工作流 管理系统的核心就是以流程为管理对象,以适应不同的业务需求。 在工作流管理系统设计过程中,因客户的不同和业务需求的差异,必定导致 业务流程的差异以及工作流管理系统的差异。这些差异,如果用常规的开发方式, 可能会带来不必要的重复性开发,造成人力资源的损耗,并增加项目的投资风险 和人力可控性的风险。为了尽量避免不必要的重复性开发,我们在软件系统的开 发周期中,增加了软件接口设计环节,把具体的差异性开发放在接口设计的后继 开发中,如图2 - 2 。 8 基于接口设计的工作流研究与实现 2 3 工作流引擎 图2 - 2 工作流管理系统开发接口设计结构 什么是工作流引军 工作流引擎是工作流管理系统的中枢,实现工作流模型解释识别并转换成自 定义模型,为工作流实体提供运行的执行环境,包括实例的创建、激活、挂起、 终止并定义流程和数据信息导航推进实例,同时可以对工作流的全程进展过程进 行监控和预警,保证管理流程的正常性、健壮性和可控性。因此,工作流引擎的 设计的好坏直接关系到工作流的执行效率,间接影响到企业的效率。 工作流引擎的发展趋势 工作流引擎的发展与完善,受到工作流技术发展的引导,同时也受到工作流 管理系统应用领域特定需求以及新技术的特点的影响而不断的发展和完善。目前 比较常见的趋势有以下几个方面【3 1 。 1 支持更加复杂的工作流程。虽然这是主要的工作流建模的任务,但在模 型更加复杂的情况下,引擎也需要负担起更好的解释和执行的重任。目 前多数的产品,只能支持少数几种常见的流程模式。 2 与流行技术的结合。工作流技术是当前庞大的计算机技术体系中的一部 o 基于接口设计的工作流研究与实现 分,为了实现更具体的应用需求,往往需要和其他的技术相结合。 3 工作流引擎的相互关联。但是目前为止,实现了接口或者提供类似功能 的工作流引擎却非常的少。虽然这是一个工作流引擎的发展趋势,但却 并没有得到更普遍性的应用,多数情况还处于知识理论研究阶段,可操 作性比较差。 4 工作流高级技术,对于处理企业的业务,是一个复杂而且多变的过程, 出现异常情况甚至是企业制度的变革,这都是难以框定范围的事情,这 就要求工作流引擎有应对这些问题以及提供解决方案的能力。为能保证 流程无错地持续进行,工作流引擎可以提供更多的监控功能以及应对操 作功能。 5 工作流引擎提供适当的智能功能。在工作的管理系统中,除工作人员外, 系统可以提供一个虚拟的操作用户,作为默认的操作用户。当工作流运 行过程中出现异常或因为特定原因没有按时进展下去的时候,可以由工 作流引擎提供的默认用户,代替操作人员进行操作。比如可以提供“超 时通过”或“超时驳回操作,为了工作流的完整性,该操作的操作人 员可以记录为该“虚拟用户 。 工作流引擎现状介绍 市场上关于工作流管理系统的设计与开发商众多,每个开发商都有自己的一 套标准。虽然工作流管理联盟对工作流管理系统的实现提供了一套标准,却由于 标准提出的滞后性,而没有能够成为市场上规范化的标准。从而工作流引擎的标 准也更加的不确定,导致工作流引擎标准的多样性。 工作流引擎模型,目前流行的工作流引擎中符合w f m c 的比较多,其中以w f m c 提出的x p d l 描述的工作流引擎最为著名。这方面的产品以s a pb u s i n e s s w o r k f l o w 、a c t i o n w o r km e t o r 、i b mw e bs p h e r e 等软件为典型代表。而不符合 w f m c 的多数是一些开源产品以及学术界突出的实验性产品。 工作流引擎框架主要分为基于关系数据库、基于l o t u sd o m i n o 、基于消息中 间件、基于m i c r o s o f t n e t 平台、基于c o r b a 、基于j 2 e e 等多个方面。 虽然产品众多,但工作流引擎的标准不一致性,导致了工作流引擎的不全面 性,不可能完全适应企业的需求,而且不同的引擎之间的差异,让企业无法选择 1 0 基于接口设计的工作流研究与实现 哪一种工作流引擎更加适合自己的发展。每一种工作流引擎都存在自己的不足, 而且很多的工作流引擎的模型还处于理论研究阶段,实用性较差【4 】。 2 4 工作流实例生命周期 工作流实例的生命周期定义为工作流实例从启动到终止的整个过程。工作流 实例的整个生命周期包括启动、暂停、等待处理、启动子流程、等待子流程回应、 中断、恢复启动、超时自动中转、超时驳回、超时提醒、正常终止等事件。 工作流从最原始的业务考察,到根据业务流程制定流程模板,不应该属于流 程实例的生命周期。在生命周期开始之前,系统支持人员可根据企业的管理业务 流程需要,制定业务流程模板,这些前期操作都不能算做是工作流的实例生命周 , 期内。工作流实例的生命周期应该从系统使用人员发起一个工作流( 电子流) 开 始,到流程不再继续为止。可能是正常终止,也可能是业务人员强制终止,也可 能是超时系统自动将工作流挂起。但是,当工作流实例处于暂停状态的时候,不 能是一个生命周期的结束,因为工作流实例还可以通过系统超时触发或激活工作 流。 1 1 基于接口设计的工作流研究与实现 第三章接口设计相关知识 本章就c # 接口以及接口的继承做了详细的描述。同时对x m l 相关知识进行 了介绍。 本章对开发环境进行描述,详细介绍了开发平台必须的环境配置,并就b s 结构的特点进行了阐述,通过对8 s 和c s 结构的比较,分别介绍b s 结构优点 以及缺点。论文参考的系统也是基于b s 结构。 3 1c # 接口设计原理和意义 软件开发过程中,存在重复性开发的问题。对于工作流管理系统,不同企业 的差异往往在于业务逻辑不同。重复性开发,必然带来人力和财力的浪费。而接 口设计正是可以很好的解决这一问题。我们把接口设计作为一个独立的过程在软 件开发体系中脱离出来。接口设计的核心是对工作流的逻辑描述,以便可以形成 一个独立、抽象、框架型的设计过程。一个成型的工作流接口设计框架,可以大 大的提高工作流管理软件的开发周期,减少系统的风险系数。 和类一样,接口也定义了一系列属性、方法和事件。但与类不同的是,接口 并不提供实现。接口表示一种约定,实现接口的类必须严格按其定义来实现接口 的每个方面。有了接口,就可以将功能定义为一些紧密相关成员的小组。可以在 不危害现有代码的情况下,开发接口的增强型实现,从而使兼容性问题最小化。 也可以在任何时候通过开发附加接口和实现来添加新的功能。虽然接口实现可以 进化,但接口本身一旦被发布就不能再更改。对己发布的接口进行更改会破坏现 有的代码。若把接口视为约定,很明显约定双方都各有其承担的义务。接1 :3 的发 布者同意不再更改该接口,接口的实现者则同意严格按设计来实现接口。 接口设计一般出现在软件开发的概要设计阶段,概要设计要根据需求划分模 块,而模块之间的联系就是通过定义接口实现的。例如有模块a ,b 。a ,b 互相 不知道对方实现的细节,当a 要用到b 中的功能时,就要使用模块b 提供的外部 接口,接口可以理解为一些功能函数的原型,包括函数名,参数列表和返回值。 同样,a 内可以定义内部接口,供a 模块内部的函数调用。当各个模块中的接口 1 2 基于接口设计的工作流研究与实现 完全设计好并通过评审,各个模块就可以进行独立的详细设计及编码了。因为工 作管理系统应用的行业比较多,且彼此之间的差别更多的在于业务和系统的应 用。我们把接口设计独立出来,随时用于完善工作流管理系统的业务逻辑,在具 体的软件开发过程中,把每个接口根据业务需要具体实现,减少对工作流逻辑的 开发时间。 萌接口定义 接口是一种特殊的数据结构,在面向对象的程序设计中,它实现了一个类的 功能定义。接口的定义在继承类中实现,并通过继承可以扩展具体接口的功能函 数定义。通过这组数据结构,客户代码可以调用组件对象的功能。 接口可以包含一个和多个成员,这些成员可以是方法、属性、索引指示器和 事件,但不能是常量、域、操作符、构造函数和析构函数,而且不能包含任何静 态成员。接口定义创建新的定义空间,并且接口定义直接包含的接口成员定义将 新成员引入该定义空间。接口的成员是从基接口继承的成员和由接口本身定义 的成员。接口定义可以定义零个或多个成员。接口的成员必须是方法、属性、事 件或索引器。接口不能包含常数、字段、运算符、实例构造函数、析构函数或类 型,也不能包含任何种类的静态成员。 接口成员默认访问方式是p u b l i c 。接口成员定义不能包含任何修饰符,比如 成员定义前不能加a b s t r a c t ,p u b l i c ,p r o t e c t e d ,i n t e r n a l ,p r i v a t e ,v i r t u a l , o v e r r i d e 或s t a t i c 修饰符。 接口的成员之间不能重名。继承而来的成员不用再定义,但接口可以定义与 继承而来的成员同名的成员,这时我们说接口成员覆盖了继承而来的成员,这不 会导致错误,但编译器会给出一个警告。关闭警告提示的方式是在成员定义前加 上一个n e w 关键字。但如果没有覆盖父接口中的成员,使用n e w 关键字会导致编 译器发出警告。方法的名称必须与同一接口中定义的所有属性和事件的名称不 同。此外,方法的签名必须与同一接口中定义的所有其他方法的签名不同网。 甜接口实现 为了实现接口,类可以定义显式接口成员执行体( e x p l i c i ti n t e r f a c e m e m b e ri m p l e m e n t a t i o n s ) 。显式接口成员执行体可以是一个方法、一个属性、 一个事件或者是一个索引指示器的定义,该定义与成员对应的全权名应保持一 基于接口设计的工作流研究与实现 致。 不能在方法调用、属性访问以及索引指示器访问中通过全权名访问显式接口 成员执行体。事实上,显式接口成员执行体只能通过接口的实例,仅仅引用接口 的成员名称来访问。 显式接口成员执行体不能使用任何访问限制符,也不能加上a b s t r a c t , v i r t u a l ,o v e r r id e 或s t a ti c 修饰符。 显式接口成员执行体和其他成员有着不同的访问方式。因为不能在方法调 用、属性访问以及索引指示器访问中通过全权名访问,显式接口成员执行体在某 种意义上是私有的。但它们又可以通过接口的实例访问,也具有一定的公有性质。 只有类在定义时,把接口名写在了基类列表中,而且类中定义的全权名、类 型和返回类型都与显式接口成员执行体完全一致时,显式接口成员执行体才是有 效的。 使用显式接口成员执行体通常有两个目的: 1 、因为显式接口成员执行体不能通过类的实例进行访问,这就可以从公有 接口中把接口的实现部分单独分离开。如果一个类只在内部使用该接口,而类的 使用者不会直接使用到该接口,这种显式接口成员执行体就可以起到作用。 2 、显式接口成员执行体避免了接口成员之间因为同名而发生混淆。如果一 个类希望对名称和返回类型相同的接口成员采用不同的实现方式,这就必须要使 用到显式接口成员执行体。如果没有显式接口成员执行体,那么对于名称和返回 类型不同的接口成员,类也无法进行实现。 继承接口实现 接口具有不变性,但这并不意味着接口不再发展。类似于类的继承性,接口 也可以继承和发展。接口继承和类继承不同,首先,类继承不仅是说明继承, 而且也是实现继承;而接口继承只是说明继承。也就是说,派生类可以继承基类 的方法实现,而派生的接口只继承了父接口的成员方法说明,而没有继承父接口 的实现。其次,c # 中类继承只允许单继承,但是接口继承允许多继承,一个子接 口可以有多个父接口,接口可以从零或多个接口中继承。从多个接口中继承时, 用”:”后跟被继承的接口名字,多个接口名之间用”,”分割。被继承的接口应该是 可以访问得到的,比如从p r i v a t e 类型或i n t e r n a l 类型的接口中继承就是不允 1 4 基于接口设计的工作流研究与实现 许的。接口不允许直接或间接地从自身继承。和类的继承相似,接口的继承也形 成接口之间的层次结构。 重新实现接口 派生类可以对基类中已经定义的成员方法进行重载。继承了接口实现的类可 以对接口进行重实现。这个接口要求是在类定义的基类列表中出现过的。对接口 的重实现也必须严格地遵守首次实现接口的规则,派生的接口映射不会对为接口 的重实现所建立的接口映射产生任何影响。 在接口的重实现时,继承而来的公有成员定义和继承而来的显式接口成员的 定义参与到接口映射的过程。 映射接口 类必须为在基类表中列出的所有接口的成员提供具体的实现。在类中定位接 口成员的实现称之为接口映射( i n t e r f a c em a p p i n g ) 。 映射,数学上表示一一对应的函数关系。接口映射的含义也是一样,接口通: 过类来实现,那么对于在接口中定义的每一个成员,都应该对应着类的一个成员 来为它提供具体的实现。 类的成员及其所映射的接口成员之间必须满足下列条件: 如果a 和b 都是成员方法,那么a 和b 的名称、类型、形参表( 包括参 数个数和每一个参数的类型) 都应该是一致的。 如果a 和b 都是属性,那么a 和b 的名称、类型应当一致,而且a 和b 的访问器也是类似的。但如果a 不是显式接口成员执行体,a 允许增加自己的访 问器。 如果a 和b 都是时间,那么a 和b 的名称、类型应当一致。 如果a 和b 都是索引指示器,那么a 和b 的类型、形参表( 包括参数个 数和每一个参数的类型) 应当一致,而且a 和b 的访问器也是类似的。但如果a 不是显式接口成员执行体,a 允许增加自己的访问器【8 】。 3 2b s 结构的特点及结构布局 对于开发周期而言,b s 结构相对要简单和方便。随着公司规模的不断壮大, 1 5 基于接口设计的工作流研究与实现 跨地区和城市的产业和集团成为大中型企业的经营模式。c s 结构的系统,开发 周期相对过长,特别是在实际验收和测试的过程中,不便于及时和客户进行交互, 测试过程也相对复杂。目前b s 结构的使用已经成熟,更加为软件公司普遍采用, 主要特点如下【5 】: ( 1 )c s 验收的时间相对集中,分批上线不如b s 灵活。由于b s 结构使用 的比较灵活,更加能及时反映用户的需求。在大中型企业中,责任制度 相对明确,规章制度也比较规范,正因如此,造成软件系统的各功能模 块相对独立。如在海尔家居系统平台中,费用模块和项目管理模块及 s b u 模块就相对关联较少。为减少软件人员投入,可分功能模块进行开 发并进行测试。在新的功能模块开发过程中,已完成的功能模块就可投 入使用,分期测试验收,减少投资风险。 ( 2 )维护简单是b s 结构的另外一个重要特点。由于b s 机构系统的核心体 系结构是放在服务器上,对客户端的要求相对简单。一般情况不需要在 开发独立的客户端。由于系统用户的计算机水平普遍偏低,且相对分散, 客户端的维护困难比较多。 ( 3 )系统升级便捷。b s 结构的升级只要对服务器代码进行升级,舍弃了客 户端的升级,在操作上,更加及时和迅速。 ( 4 )成本降低,选择更多。现在的趋势是凡使用b s 架构的应用管理软件, 只需安装在l i n u x 服务器上即可,而且安全性高。所以服务器操作系统 的选择是很多的,不管选用哪种操作系统都可以让大部分人使用,这就 使得免费的l i n u x 操作系统快速发展起来,l i n u x 除了操作系统是免费

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论