工作流平台的设计与实现.doc_第1页
工作流平台的设计与实现.doc_第2页
工作流平台的设计与实现.doc_第3页
工作流平台的设计与实现.doc_第4页
工作流平台的设计与实现.doc_第5页
已阅读5页,还剩64页未读 继续免费阅读

下载本文档

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

文档简介

中图分类号:TP3 论文编号:10006GS0921G87专业硕士学位论文工作流平台的设计与实现作者姓名 肖丽华学科专业 软件工程指导教师 谭火彬 李小华培养院系 软件学院The Design and Implementation of the workflow platformA Dissertation Submitted for the Degree of MasterCandidate:XiaolihuaSupervisor:TanhuobinLixiaohuaSchool of Software Beihang University, Beijing, China硕 士 学 位 论 文工作流平台的设计与实现摘 要根据国资委发展战略,中国的企业要做大做强,尤其是国有集团型企业,大型集团型企业管理结构面临重大的调整,要重组整合优化资源。同样,集团型企业的信息化也需要进行相应的适应性调整。其中,作为办公自动化系统也是一样,较大的企业多有自己的办公系统,也有很多新扩展的分支没有OA,平台和标准的不统一会导致管理的分散。这样就需要针对集团型企业的特点建立办公系统的建设及推广的原则、标准及实施策略。因此,支持流程自动化处理的办公软件工作流平台便应运而生。本课题将详细阐述工作流平台研发的相关技术,设计实现及项目应用。针对多个企业对流程自动化系统需求的调查分析,在微软工作流引擎的基础上开发了工作流平台软件。该软件提供了流程绘制,流程测试,流程监控,流程分类,数据迁移,邮件服务,权限管理等功能。该平台产品目前已经通过严格的测试,并被应用于实际项目中。产品运行良好,极大的提高了工作效率。经过几次搜集反馈和应用中的需求变更,产品也有过几次版本的改良和提升,现在工作流4.0版本的产品已经趋于稳定。希望可以在更多公司和项目中得到推广和使用。作者主要负责此系统中流程设计和流程管理模块的业务需求分析,系统设计与实现,和整个系统的测试工作,以及实施阶段的售后技术支持工作。本文将对工作流平台的流程设计模块,流程管理模块,公共组件模块,权限管理模块进行研究、设计和开发。关键词:流程自动化,工作流平台,流程设计AbstractAccording to the development strategy of the SASAC, Chinas enterprises become bigger and stronger to face a major adjustment, especially state-owned group enterprise, the management structure of the large-scale group enterprise, to reorganize the integration and optimization of resources. Similarly, a group enterprise information technology also requires corresponding adaptation. Which, as an office automation system is the same, large enterprise multi-office systems, there are a lot of new expansion branch no OA, platforms and standards are not unified management will lead to the dispersion. This office building and promotion of the characteristics of the group enterprise to establish the principles, standards and implementation strategies.The topics to be elaborated workflow platform for research and development of related technologies, design and project applications. Demand survey analysis of process automation systems for several companies in the Microsoft workflow engine based on workflow platform software development. The software provides a process to draw, process testing, process monitoring, process classification, data migration, mail services, rights management and other functions.The platform products through rigorous testing, and is used in the actual project. Good run, greatly improved work efficiency. After a few times to collect feedback and application needs change, and also the improvement and upgrading of several versions of workflow 4.0 version of the product has been stabilized. I hope more companies and projects to promote and use.The platform products through rigorous testing, and is used in the actual project. Good run, greatly improved work efficiency. After a few times to collect feedback and application needs change, and also the improvement and upgrading of several versions of workflow 4.0 version of the product has been stabilized. I hope more companies and projects to promote and use.The author is mainly responsible for the process design and business process management module in the system requirements analysis, system design and implementation, and testing of the entire system, and the implementation phase of the after-sale technical support work. This article will process design workflow platform module, process management module, the public component modules, permissions management module for research, design and development.Key words:Process Automation,Workflow Platform,Process Design目 录摘 要5Abstract6第一章 绪论11.1课题背景及意义11.1.1课题背景11.1.2课题意义11.2工作流软件的现状分析21.2.1工作流软件国外研究现状21.2.2工作流软件国内研究现状31.2.3工作流软件现状小结31.3研究内容及技术实现4第二章 工作流平台软件需求分析62.1流程设计工具用例包62.1.1基本元素定义72.1.2状态定义82.1.3活动定义82.1.4相关规则定义92.1.5新建流程用例102.1.6打开流程用例112.1.7定制流程用例122.1.8保存流程用例132.1.9删除流程用例142.1.10另存流程用例142.2流程执行引擎用例包162.2.1任务委托用例162.2.2请求处理用例172.2.3流程加载用例172.2.4执行服务用例182.2.5状态管理用例182.2.6日志管理用例192.3流程监控工具用例包192.3.1状态检测用例192.3.2流程诊断用例202.3.3日志查询用例21第三章 系统总体设计224.1 工作流平台总体功能224.2 系统相关技术234.2.1引擎234.2.2 开发平台244.2.3 面向服务架构SOA254.3 系统架构的技术实现284.4 工作流平台软件硬件30第四章 系统详细设计324.1流程设计模块的设计324.2流程管理模块的设计344.3公共组件模块的设计374.4权限管理模块的设计394.5工作流与业务系统集成设计414.6工作流平台数据库设计43第五章 系统测试与运行475.1 测试的目标475.2测试的方法和流程475.3测试内容475.3.1集成测试475.1.4 典型的测试用例以及结果48第六章 工作流平台应用536.1应用案例536.2用户报告536.2.1项目介绍536.2.2实施情况536.3用户意见55总结与展望56参考文献57致谢59北京航空航天大学硕士学位论文第一章 绪论1.1课题背景及意义1.1.1课题背景十一五建设期间,企业的基础设施的技术已经基本完成,投资重点向软件和服务转移,工业化与信息化的融合被提升到更高的高度,信息化工作已经从支撑企业价值转变为直接参与创造企业价值。企业逐渐从信息化绩效和价值的视角来审视、管理信息化建设和应用,更加注重信息化投资的效果。企业在建设有效益的信息化方面,把效益提高当作一个动态过程。从一开始追求成本降低、人员减少等自动化效益,向实现信息整合、信息资源开发利用为主的信息效益转变,最终实现由信息化推动和支持过程创新带来的变革效益。中国大型企业信息化发展,将不断提高信息化与工业化融合水平,从实现信息技术与管理的融合,向实现信息化战略与企业战略的融合转变,向信息化模式与企业商业模式的融合转变。从技术创新、业务创新、管理创新、战略创新向引领产业变革,转变经济结构,提高国家竞争优势的目标不断迈进。中国石化从02年以来ERP为主线的信息化建设的过程中,坚持“六统一”、“三结合”的建设原则,对重大项目实行集中决策、统一部署和建设实施,使信息化建设逐步从分散走向集中,有力地促进了信息化建设的快速健康发展。中国石化迎合市场需求,适时调整自身的企业战略,企业的重组与兼并,业务流程的不断调整与创新,这些产业变革的同时对信息系统建设提出了严峻的挑战-信息系统对业务流程调整的适应性如何?1.1.2课题意义XX公司自主研发的工作流软件平台,旨在为业务系统提供一套集流程定制、流程控制、流程监控为核心的流程管理软件。最大可能的降低流程改变对业务系统的影响。自2009年流程定制工具作为EPM系列产品中的一个小工具逐步在公司OA、石化审计项目中得到应用,随着项目的应用效果逐步被用户接受,不断有更多的项目(如财务整合系统、采购电子商务系统、合同管理项目、制度化管理等等)提出更深层次的需求。结合公司产品化的工作目标及货架式技术路线,希望通过流程定制系统开发在满足现有公司OA、审计、财务整合、电子商务等项目需求的基础上,为将来可以逐步抽象出独立的局部可复用的工具产品留出扩展空间,为丰富公司的产品级构件库奠定基础;逐步形成货架式技术为公司今后产品项目开发提供方便。1.2工作流软件的现状分析工作流(Workflow)就是工作流程的计算模型,即将工作流程中的工作如何前后组织在一起的逻辑和规则在计算机中以恰当的模型进行表示并对其实施计算。工作流要解决的主要问题是:为实现某个业务目标,在多个参与者之间,利用计算机,按某种预定规则自动传递文档、信息或者任务。1.2.1工作流软件国外研究现状在国外,工作流技术出现的比较早。很多大公司和教育科研机构竞相推出各自的工作流产品。一时间出现了许多大大小小的工作流引擎。但是这种局面带来的后果是不同公司的工作流管理系统各自定义自己的接口,不同的工作流系统之间无法正常的通信,因此早在1993年,国际工作流管理联盟(WfMC)的成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的相互协作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口等方面定制了一系列标准,并给出了工作流的统一定义。目前工作流技术与信息技术以及企业管理紧密结合,已经悄悄渗入MIS系统,ERP系统和CRM系统等企业级关键系统中,并迅速成为这些系统的核心,实现了对企业业务的全局的整体性的管理。工作流产品方面,由于工作流产品存在巨大的市场潜力,各大公司纷纷推出自身的支持工作流技术的产品。工作流的产品的市场每年以两位数的速度增长。在国外的工作流产品中比较著名的有IBM公司的ALMDEN研究中心的Exotica、佐治亚大学计算机系的Meteor,WIDE以及Mentor等研究项目。这些技术各有各的特点,Exotica是基于持久信息的分布式工作流管理系统,Meteor是具有自适应能力的管理系统,WIDE则对分布式主动数据库的技术方面有更好的应用,Mentor是一个基于状态和活动图技术的工作流管理系统。基于这些核心技术之上,根据所实现的业务过程大体上可以将工作流额产品分为管理型工作流、设定型工作流、协作型工作流、生产型工作流。根据底层的实现技术可以将工作流分为以通讯为核心、以文档为核心和以过称为中心的三种。相对于工作流产品市场的繁荣,工作流的相关理论性研究显得有些滞后,但是随着计算机技术的发展和企业对信息化需求的提高,在上世纪90年代工作流技术的理论研究开始得到了众多高等院校和研究机构的重视,国际上有欧共体自助的WIDE工作流开发计划,荷兰埃因霍温科技大学W.M.P.ban der Aalst带领的团队对工作流网的研究;HP公司对事务工作流,工作流资源管理技术等的研究。1.2.2工作流软件国内研究现状国内工作流技术的应用相对要晚得多。从2001年后开始,有关“一站式服务”,“并联审批”这些新的应用逐渐登录国内的OA电子政务市场,透露出国内工作流系统的市场需求。不过,这方面还依然属于刚刚起步状态,特别在电子政务应用中,有很多因素导致其进展的很缓慢。但自从2002年5月份,深圳采用了深圳电子公文交换规范,国家也加强了这方面的规范制定,2003年中,国家的公文交换规范初稿出台。虽然可实用价值还待商讨,但至少表明这方面的应用也会在近两三年内逐渐铺开。今年的Web Service技术的发展,也推动了integration技术的发展。在这方面,国内目前几乎没有可与国外竞争的产品。国外的某些基于BPM的产品也瞅准了国内系统整合这块市场,开始大举进入。早前国内的电子政务市场基本都被国外的产品所主导,但自从“主控式”整合流程应用深入到“一站式服务”、“并联审批”这些系统应用中后。出现了国内国外产品同台竞争的局面。但是,由于国外的很多工作流产品采用是国际性通用标准,在处理国内OA办公系统中的时候,出现了或多或少的尴尬局面。目前这方面应用的国内产品还是较少,但很多公司都意识到这块市场的未来价值,积极研发这方面的产品。不过很遗憾的是,很多公司的产品依然采用自主式的流程描述,而且依然在早先固有的模式中寻找出路,这会导致在未来发展中,离标准越来越远。在国内也有一些机构从事工作流相关理论性的研究,但是由于没有形成统一的联盟和标准组织,产品和成果零散,发展缓慢。吴澄院士和清华大学的范玉顺教授就工作流技术的理论基础、工作流建模与仿真、工作流引擎的执行与效率分析、工作流管理系统的实现等,展开了工作流技术在现代集成制造系统应用上的研究,并实现了基于Web和CORBA的工作流管理系统。而清华大学史美林教授则对工作流的实现技术、工作流的异常处理及恢复等提出了独到的看法,同时也实现了基于互联网的工作流处理系统。1.2.3工作流软件现状小结如果数据库系统像受人尊敬的智者讲述的条理清晰的故事,那么工作流就像一群乳臭未干的小子在大谈各自的“哲理”。之所以这样讲,工作流系统还处于技术发展曲线上的初级阶段。在这个领域我们将面临一个激动人心的阶段。为了描述这一点,可以将工作流和关系数据库系统做一个对比。当在软件开发团队中谈论数据库系统时,大部分人会有一个清晰的概念,在你和他们交流的时候,人们会通过轻微的点头表示认可或理解你所说的。可当使用工作流术语讨论工作流时,他们会摇头表示不同意,因为每个人对工作流术语都有不同的理解。总之,随着工业与信息化的持续融合,流程自动化已经扩展到所有企业应用领域,企业需要一套稳定的工作流平台软件来支撑企业信息系统自动化的可持续发展。1.3研究内容及技术实现 对比了国内国外工作流软件现状,我们的工作流平台软件基础研究内容如下所述:(1)构建能够与其他业务系统集成使用、为业务系统提供流程管理服务、符合石化业务特点的流程设计器。预置常用的流程模板,如:报销流程、请假流程等模板。(2)开发与业务系统集成需要的接口。图1 工作流与业务系统集成图业务系统按照下列规则提供,用于工作流运转所需的业务系统数据。例如流程节点上参与者信息需要业务系统提供用户、角色、岗位或动态返回参与者。接口清单如下: 获取所有用户 获取所有角色 获取所有岗位 扩展参与者组以下接口由工作流工具按照下列规则提供,用于业务系统在合同送审、合同变更时,启动工作流或合同审批、合同分发时推进工作流。接口清单如下: 启动流程 流程推进 停止流程 获取已处理任务 获取待处理任务 获取流程实例执行情况 获取流程数据 获取节点路由信息 获取参与流程人员列表 获取流程模板列表59第二章 工作流平台软件需求分析可以规纳一下,任何工作流系统或子系统无非包括以下三个部分,如下面表1描述表1 工作流功能需求表子系统业务模块备注流程配置流程定义、节点定义、路由定义、流程数据、角色定义、个性化表单工作流的客户端,可采用图形化界面或表单界面实现。流程启动流程启动、节点选择、人员选择与业务模块结合最紧密的部分,走流程的业务均由此启动。流程审批 待办事项、已办事项、办结事项、提交、打回、会签、自由流转、选举、转发、子流程工作流启动后,各个环节的流转全依赖此,是工作流的引擎,最核心的部分。流程维护流程数据维护,流程分类管理,流程监控、流程纠错查看审批中或通过的所有流程,对审批结束的流程可以归类,出错的流程纠错后也可重新发起。权限系统业务权限2.1流程设计工具用例包图2 流程设计工具用例包2.1.1基本元素定义基本元素定义:用户使用此功能定义业务流程中出现的基本元素,例如:报表、组织或组织报表的组态等等,并可以为这些基本元素选择匹配的图形,例如 用圆圈代表报表。参与者:具有流程设计工具基本元素定义权限的用户;事件流:如图3图3 基本元素定义事件流前置条件:用户已登录流程设计系统,并且拥有流程设计工具的基本元素定义的功能权限;触发条件:当用户点击菜单或工具栏内的基本元素定义的功能;后置条件:当用例结束后,系统保存了工作流工具中的基本元素信息,这些信息在工作流执行引擎中也是可以识别的。非功能性需求:输入的元素名称内不能包含特殊字符,如&部门2 或者部门2部门3; 审批流程属性流程名称:有意义的名称;是否生效:默认为生效;生效的审批流程才可控制报表的审批过程;2.1.8保存流程用例保存流程:用户使用此功能完成一份流程档案的保存工作;参与者:具有流程设计工具保存功能权限的用户;事件流:图8 保存流程事件流前置条件:用户已登录流程设计系统,已经新建或打开一份流程档案,并且拥有保存的功能权限;触发条件:当用户点击菜单或工具栏内的保存流程的功能;后置条件:当用例结束后,应给予用户保存成功或失败的反馈,倘若失败显示失败原因。非功能性需求:保存一份流程档案保证在30秒内完成,并给予进度条反馈。2.1.9删除流程用例删除流程:用户使用此功能完成删除一份或多份流程档案的工作。参与者:具有流程设计工具删除功能权限的用户。前置条件:用户已登录流程设计系统,并且拥有流程设计工具删除流程的功能权限;触发条件:当用户点击菜单或工具栏内的删除流程的功能;后置条件:当用例结束后,刷新显示删除后的允许删除的流程档案。非功能性需求:初始查询应在30秒内内完成并配有反馈进度条;排序、过滤保证客户在10秒内看到结果。数据:流程编号:流程的唯一内码;流程名称:有意义的名称,不能包含特殊字符2.1.10另存流程用例另存流程:用户使用此功能完成复制一份与源流程档案完全相同的流程档案,另存时自动产生新的流程编号,并重新填写流程名称;参与者:具有流程设计工具另存功能权限的用户;事件流:图9 另存流程事件流前置条件:用户已登录流程设计系统,并且拥有流程设计工具另存流程的功能权限;触发条件:当用户点击菜单或工具栏内的另存流程的功能;后置条件:当用例结束后,提示另存成功或失败的原因,关闭另存窗口。非功能性需求:输入的流程名称内不能包含特殊字符,如&。数据:流程名称:有意义的名称,不能包含特殊字符;所属企业:只读,当前系统的企业;创建人:取登录用户;创建时间:取得当前系统时间。2.2流程执行引擎用例包图10 流程执行引擎用例包2.2.1任务委托用例任务委托:当某个模型产生工作项时,引擎会把委托人的工作项自动委托给被委托人,该工作项以后将由被委托人来处理;用户可以查询自己的任务列表,并从任务列表链接到待处理的流程环节中去,方便用户快捷的工作,委托任务由流程执行引擎在执行服务时,根据流程状态的变化自动产生。参与者:任务相关的用户。事件流:如图14图11 任务委托事件流触发条件:当用户查询任务列表;后置条件:链接到某地址,通过请求处理用例得到当前流程所处的状态,得到用户活动、状态等环境变量,从而对用户活动进行相应的权限控制;数据:任务列表应保留任务历史信息,并对任务进行分类,已处理、未处理;方便用户查询2.2.2请求处理用例请求处理:流程执行引擎根据业务系统客户端提交的基本信息,来加载匹配的流程档案,如果接收参数里表明用户发起了某项活动,应执行服务,修改流程状态,并返回当前流程的状态信息,方便客户端以此为依据进行相应的权限控制。参与者:业务用户事件流:如图15图12 请求处理事件流前置条件:业务系统客户端对工作流执行引擎提交某项请求;例如用户选择了某张报表展示时,应该将用户、组织、报表等当前环境信息通过请求处理服务提交给工作流执行引擎,并加载匹配的流程,返回当前流程的状态信息,从而进行客户端活动的权限控制;触发条件:符合业务系统客户端与工作流引擎交互的条件时;后置条件:当用例结束后,应根据客户端提交的参数,自动加载匹配的流程档案,并根据参数判断是否触发流程的状态变化。2.2.3流程加载用例流程档案加载:根据环境变量动态加载匹配的流程档案;例如请求处理的参数包含 部门:计划处 报表:可控费用申报表等信息,自动匹配现有的流程档案,如:计划部 可控费用申报-财务部 差旅费审批表。前置条件:请求处理服务正常提出流程加载申请;触发条件:请求处理提出流程加载申请;后置条件:当用例结束后,应根据请求处理服务的参数,判断是否触发流程的状态变化,并返回流程状态等环境信息。2.2.4执行服务用例执行服务:根据业务系统客户端的提交的活动驱动流程档案的状态改变,并生成相应的委托任务。例如:部门:计划处 报表:可控费用申报表执行了送审活动,执行服务将把其状态从未送审修改为已送审,并对流程中的下一个环节 财务部 差旅费审批表自动生成委托任务,相关用户在任务列表中会看到此项任务。事件流:如图17图13 执行服务事件流前置条件:请求处理服务正常提出执行服务申请;触发条件:请求处理提出执行服务申请;后置条件:当用例结束后,应通过请求处理服务对业务系统客户端返回流程状态等环境信息。2.2.5状态管理用例状态管理:执行服务根据接收参数动态调整流程的状态信息,状态管理服务对其进行版本管理,保留流程变化的历史状态,为流程监控工具提供了状态查询接口。前置条件:请求处理服务提出当前状态查询;流程监控工具提出当前或历史状态查询;触发条件:接收到状态查询请求;后置条件:业务系统客户端通过返回的状态情况,对用户活动进行相应的权限控制。2.2.6日志管理用例日志管理:执行服务根据接收参数动态调整流程的状态信息,并生成日志,日志管理服务对其进行管理,保留流程变化的历史日志,为流程监控工具提供了日志查询接口。前置条件:流程监控工具提出当前或历史日志查询;触发条件:接收到日志查询请求。数据:日志信息可以存放在数据库中或以文档形式存在,定期自动执行归档管理。2.3流程监控工具用例包图14 流程监控工具用例包2.3.1状态检测用例状态检测:用户可以使用状态检测功能即时查询关注的流程所处的当前状态,有无异常。图形化的展示方便快捷,如果需要还可以在状态检测的过程中调用流程诊断程序,对常见的问题形成分析报告,便于用户决策。参与者:业务系统用户、系统管理员。事件流:图15 状态检测事件流前置条件:用户具有相应权限;触发条件:当用户点击状态检测按钮;后置条件:根据需要可调用流程诊断功能。2.3.2流程诊断用例流程诊断:用户可以调用流程诊断程序,对关注的流程现有状态进行诊断,对常见的问题形成分析报告,便于用户决策。参与者:业务系统用户、系统管理员。前置条件:用户具有相应权限;触发条件:当用户点击流程诊断按钮。2.3.3日志查询用例日志查询:用户可以使用日志查询功能即时查询关注的业务流程执行过程中产生的日志信息。参与者:业务系统用户、系统管理员;前置条件:用户具有相应权限;触发条件:当用户点击日志查询按钮;北京航空航天大学硕士学位论文第三章 系统总体设计本章在对多企业多项目自动流程需求分析的基础上,提出了工作流平台总体功能,描述了本软件的应用技术架构及关键技术在系统中的应用。3.1 工作流平台总体功能工作流工具分为三大部分,流程设计工具、流程执行引擎、流程监控工具;流程设计工具:采用图形化定制的方案使用户通过简单的拖拽操作即可定义一个个复杂的业务流程,并且以流程档案的方式进行存储,供工作流执行引擎加载识别;流程执行引擎:以后台服务的方式运行,当接收到客户端请求时,动态加载匹配的流程档案,执行定义的流程动作、维持流程状态,并记录所有流程事件,根据委托规则自动生成委托任务,并已任务列表的方式发送给被委托人,反映在在TBM应用中在报表展示阶段通过检测流程任务列表的记录控制报表提交、批复、打回等操作;流程监控工具:可以图形化的查询当前流程执行状态、日志等,对流程中的异常做出诊断;图16 总体设计功能图3.2 系统相关技术4.2.1引擎 WF(windows workflow foundation) 微软工作流组件,一个工作流是一个人类或系统活动的模型,该模型被定义为一组活动的地图。工作流通过拖放活动组件来设计,被编译为.Net 程序集,然后在工作流运行时和.Net CLR 中执行。 Activity:工作流组件中活动组件,一个活动是工作流中的一个步骤,是工作流中执行、重用、复合的基本单元,活动组件下包含事件组件(Event),接收外部事件组件(HandleExternalEvent),调用外部方法组件(CallExternalModthod)等。 本地服务组件:local service,规定业务与工作流组件交互的事件和方法接口,实现业务与工作流的交互,用于工作流活动组件调用。 工作流平台引擎采用微软 WF,WF 使用户可以直观地设计复杂的算法,从而解决业务问题并为业务建模,它为开发和执行基于复杂过程的多种应用程序提供了框架。如果用户具备由各活动(Activity)组成的基于工作流的系统(如Windows Workflow Foundation),则可利用命令性代码和声明性活动地图的强大组合以及绑定它们的声明性规则来实现应用程序。主要好处在于用户可以为解决方案建模(甚至以直观方式建模),将 Windows Workflow 嵌入运行时服务器来解释图表,并使 Windows Workflow 遵循在创建块中定义的链接。进程越复杂,为其设计和实现的流程就越简单。进程动态更改越容易,用户需要编写和维护的代码数量就越少。WF 运行时为工作流程序提供了托管执行环境,还为程序提供了持续时间、可靠性、挂起/恢复、事务以及补偿特征。在某种意义上,活动类似于中间语言 (IL) 操作码或程序语句,但包含特定领域的知识。简而言之,Windows Workflow Foundation 使程序语义具有声明性并且十分准确,使用户能够为接近实际进程的应用程序建模。它是最适合此工作的工具。用户无需使用 IL 编写前端可视应用程序,而是使用 RAD 开发工具和更具人类可读性的语言。Windows Workflow Foundation SDK 提供了广泛的编程语言,专门用于为复杂的业务程序建模,特别是在这些程序可能随着时间而改进的情况下。在这种情况下,主要好处在于用户可以添加特殊活动来进行工作流,并使用内置行为活动来控制该工作流。用户可以专注于任务,其他事情由运行时进行处理。WF 工作流引擎提供了以用户/角色机制的安全机制,实现与系统的无缝集成。4.2.2 开发平台 .NET开发平台.NET 是 Microsoft 的用以创建 XML Web 服务(下一代软件)平台,该平台将信息、设备和人以一种统一的、个性化的方式联系起来。借助于 .NET 平台,可以创建和使用基于 XML 的应用程序、进程和 Web 站点以及服务,它们之间可以按设计、在任何平台或智能设备上共享和组合信息与功能,以向单位和个人提供定制好的解决方案。Microsoft .NET是一个平台,是 Microsoft 的 XML Web 服务平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。这个平台包含广泛的产品系列,它们都是基于 XML 和 Internet 行业标准构建,提供从开发、管理、使用到体验 XML Web 服务的每一方面。.NET系统包括一个相当广泛的产品家族,它们构建于XML语言和Internet产业标准之上,为用户提供Web服务的开发、管理和应用环境。.NET系统由以下5个部分组成。 .NET开发平台由一组用于建立Web服务应用程序和Windows桌面应用程序的软件组件构成,包括.NET框架(Framework)、.NET开发者工具和ASP.NET。 NET服务器是能够提供广泛聚合和集成Web服务的服务器,是搭建.NET平台的后端基础。 .NET基础服务提供了诸如密码认证、日历、文件存储、用户信息等必不可少的功能。 .NET终端设备,提供Internet连接并实现Web服务的终端设备是.NET的前端基础。个人计算机、个人数据助理设备PDA,以及各种嵌入式设备将在这个领域发挥作用。 .NET用户服务,能够满足人们各种需求的用户服务是.NET的最终目标,也是.NET的价值实现。在这5个组成部分中,.NET开发平台中的.NET框架,是.NET软件构造中最具挑战性的部分,其他4个部分紧紧围绕.NET框架来进行组织整合。 SilverLight界面开发技术Silverlight是一个跨浏览器和跨平台的插件,能在微软.NET上交付炫目的多媒体体验,和有丰富交互功能的Web应用。流程定制系统中的流程设计工具,作为与用户交互的关键环节,采用微软最新的SilverLight界面技术,大大提高了用户的交互性。 Silverlight能创建一种具有很高艺术性的应用程序,具有以下的特点:(1) 一种跨浏览器、跨平台的技术。可以在所有流行的浏览器中运行,包括Microsoft Internet Explorer、Mozilla Firefox, Apple Safari, 和Opera,同样可以运行于Microsoft Windows和Apple Mac OS X。(2) 无论在哪运行,都能提供一致的用户体验。(3) 需要下载很小的文件来安装以支持,只需几秒。(4) 它的视频和音频流,视频质量无论从移动设备还是桌面浏览器都是720p HDTV video模式。(5) 用户可在浏览器中直接对其进行控制,可以拖动、翻转、放大的图片。(6) 它读取数据并且更新外观,但不会通过刷新整体页面来打断用户操作。 缓存机制ASP.NET提供了两种基本的缓存机制来提供缓存功能。一种是应用程序缓存,它允许开发者将程序生成的数据或报表业务对象放入缓存中。另外一种缓存机制是页输出缓存,利用它,可以直接获取存放在缓存中的页面,而不需要经过繁杂的对该页面的再次处理。本平台主要采用页面输出缓存,相对于应用程序缓存而言,页输出缓存的应用更为广泛。它可以通过内存将处理后的ASP.NET页面存储起来,当客户端再一次访问该页面时,可以省去页面处理的过程,从而提高页面访问的性能,以及Web服务器的吞吐量。考虑到在应用缓存时数据过期问题所引发的数据不一致,系统将采用NET2.0的缓存依赖SqlCacheDependency(基于SQLServer2005)来解决。4.2.3 面向服务架构SOA SOA介绍SOA是一种架构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。图为面向服务的体系结构的实现模型。在该模型中,各个服务之间通过服务总线互相通信,与服务总线相连的服务接口基于标准定义,与具体的平台和实现无关。系统的具体实现细节被服务接口屏蔽,基于不同平台和技术实现的系统可以对外提供一致的服务接口,所以在面向服务的体系结构中,极端异构环境中的各个信息系统可以在一起协同工作,并且可以通过工作流程的组合形成更大的服务单元。图17 面向服务的体系结构的实现模型SOA是设计和构建具有松散耦合、分布式结构的软件设计解决方案的软件工程方法,这种软件工程方法能够以程序化的可访问的软件服务的形式公开业务功能,以使其它应用程序可以通过已发布的和可以发现的接口来使用服务,SOA描述了三类角色,它们分别是服务提供者(Service Provider)、服务请求者(Service Requester)和服务代理者(Service Broker),这三个角色各自承担了不同的任务。角色之间产生了三个操作:发布(Publish)、查找(Find)、绑定(Bind),它们之间的交互关系如图所示:图18 SOA交互模型服务注册中心(服务代理者):为服务消费者和服务提供者提供一个平台,使两者可以各取所需,同时中心有一个通用的标准,使服务提供者提供的服务符合这个标准,服务消费者使用的服务才可以跨越不同的服务提供者。服务提供者:服务提供者是一个可通过网络寻址的实体,它接受和执行来自使用者的请求。通过在服务器代理者配置和发布服务,将自己的服务和接口契约发布到服务代理,以便服务消费者可以发现和访问该服务。服务消费者(服务使用者或服务请求者):即企业与其它消费服务的组,它发现并调用其它的软件服务来提供商业解决方案。发布:为了使服务可访问,需要发布服务描述以使服务消费者可以发现和用它。发现:服务消费者通过查询服务代理来定位满足其标准的服务。绑定和调用:在检索服务描述之后,服务消费者继续根据服务描述信息调用服务。 Web Services关键技术SOA并不是一种现成的技术,而是一种架构和组织IT基础结构及业务功能的方法,也是一种在分布式计算环境中设计、开发、部署和管理离散逻辑单元(服务)的一种体系架构模型。本课题利用Web Services技术作为SOA的具体实现,将对编码数据资源的访问都以Web服务的形式暴露出来,编码系统以外通过访问Web服务来完成对系统数据的操作。Web Services用户可以采用UDDI协议发现服务器应用程序(Web Services供应商)发布的Web Services,

温馨提示

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

评论

0/150

提交评论