论文部分内容阅读
工作流是一类能够完全或者部分自动执行的经营过程,它根据一系列过程规则,文档、信息或任务能够在不同的执行者之间进行传递与执行;工作流管理系统是一个软件系统,它完成工作流的定义和管理,并按照在计算机中预先定义好的工作流逻辑推进工作流实例的执行。然而,随着Internet的普及应用,传统的工作流技术越来越难以适应现代流程管理的需要,如何处理现代大型企业的共享资源所面对的异构、分布和松散耦合的特点已成为需要解决的重点问题;如何及时、灵活地对业务需求的变化做出反应,也成为衡量一个工作流系统性能是否满足要求的指标。
随着SOA技术的提出,“软件即服务”的理念也逐渐引起了人们的广泛关注,SOA基于标准、松散耦合、共享服务和粗粒度化等特点,可以很好地解决传统工作流所不能解决的问题。因此,把SOA架构引入到工作流管理系统中必将使工作流技术进入一个新的发展阶段。
本文通过研究SOA与工作流结合的应用场景以及面向服务的技术架构,参考WFMC的工作流参考模型和Petri网建模理论,抽象了一种基于SOA的工作流信息模型,并在综合BPM、EA和OO的基础上,充分利用UML强大可视化表达能力,提出了一种面向服务的软件分析与设计方法(SOAD),并用它来对基于SOA的工作流管理系统进行分析和设计;该系统针对SOA的特点,重新构造了工作流管理系统的架构,并以Web Services取代传统的工作流引擎,实现了一个完全面向服务的工作流管理系统。与传统的工作流管理系统相比,该工作流管理系统有以下几个特点:
1.采用“粗粒度”的Web服务作为工作流执行体,实现了描述文件与执行体的分离;
2.在工作流结点上实现了服务于数据管理的自治,并实现了以面向服务为基础的工作流过程控制模型的流转控制;
3.将具体的业务操作服务与过程流转服务分开,方便用户根据业务变化的需要,充分利用现有资源,快速搭建业务系统,实现了企业业务系统的随需而变;
4.使工作流管理成为一个能够在Internet上调用的服务,真正实现了跨越操作系统和业务系统的平台无关性。
本文选用Rational Rose 2003来对系统进行分析和建模,采用Visual Studio2005为开发平台,使用C#开发语言实现了基于SOA的工作流管理系统,经过测试和试运行,取得了良好的效果。