论文部分内容阅读
工作流是指工作之间流动、转移的动态过程。
工作流概念起源于生产组织和办公自动化领域,是针对日常工作中具有固定程序活动而提出的一个概念,目的是通过将工作分解成定义良好的任务或角色,按照一定的规则和过程来执行这些任务并对其进行监控,达到提高工作效率、更好的控制过程、增强对客户的服务、有效管理业务流程等目的。
1993年工作流管理联盟(Workflow Management Coalition, WfMC)的成立标志着工作流技术开始进入相对成熟的阶段。为了实现不同工作流产品之间的互操作,WfMC在工作流管理系统的相关术语、体系结构及应用编程接口(WAPl)等方面制定了一系列标准。工作流管理联盟对工作流的定义为:业务流程的全部或部分自动化,在此过程中,信息或者任务按照一定的规则流转,实现组织成员间的协调工作,以达到业务的整体目标。对于这个定义需要注意以下几点:
(1)所谓的工作流是一个概念,是一种运作机制;
(2)工作流的实现依赖于计算机信息系统的支持;
(3)自动执行是工作流最重要的特征;
(4)工作流是经营过程的一个计算机实现。
工作流系统能够反映经营过程的如下几个方面的问题:即经营过程是什么(由哪些活动、任务组成,也就是结构上的定义)、怎么做(活动间的执行条件、规则以及所交互的信息,也就是控制流与信息流的定义)、由谁来做(人或者计算机应用程序,也就是组织角色的定义)、做得怎样(通过工作流管理系统对执行过程进行监控)。
工作流系统能够使参与组织、部门和团体在虚拟的环境中沟通交流,而不需要太多的实际接触,通过工作流系统的使用,各业务组织间以及组织内的协作得到了很大的改进。实施工作流管理所带来的好处是非常明显的,这包括提高企业运营效率、改善企业资源利用、提高企业运作的灵活性和适应性、提高工作效率、集中精力处理核心业务、跟踪业务处理过程、量化考核业务处理的效率、减少浪费、增加利润、充分发挥现有计算机网络资源的作用。
工作流在工作时需要一些客观的条件,最基本的是需要有电力支持,需要有足够的电力支持工作流系统的计算机与网络环境的正常运行;其次,工作流需要管理者具备工作流管理的相关知识,来维持整个工作流的良好运转;再次,需要有一个合适的计算机网络提供对工作流的支撑,确保工作流中的各项事务能够在各个用户之间正常的进行流转。
工作流引擎是工作流管理系统的核心。所谓工作流引擎是指workflow作为应用系统的一部分,并为之提供对各应用系统有决定作用的根据角色、分工和条件的不同决定信息传递路由、内容等级等核心解决方案,工作流管理引擎设计中的任何技术错误都将造成用户财富和数据的损失。
当前,工作流中各项事务的流转依赖与计算机所在的网络状况。每个国家的网络状况有有着很大的差别,有些国家可以提供可靠的网络连接与良好的网络带宽,有些国家的网络状况却不是那么令人满意。有充分的证据显示,在发展中国家的商业环境中,网络的连通性和带宽,已经成为了工作流发展与运用的主要瓶颈。例如,撒哈拉以南的非洲地区,其网络的连接性要明显低于曼哈顿地区。造成这种情况的主要原因是:基础设施的落后和电力供应的不足,难以适用高速稳定的网络所需的要求;发展中国家难以负担高额的互联网服务费用。
在传统的工作流系统中,工作流管理者不知道所在网络的连接状况,工作流管理者在配置工作流的运行参数(如各项业务的时间限制)时缺乏相应的参考依据。想象一下,由于工作流所在的网络状况不稳定,在工作流管理者设定的时间限制内,工作流的一个参与者无法在规定的时间限制内完成必要的工作,这样将直接影响到后续参与者的工作,进而影响到整个工作流的执行流转。
为了解决这个问题,本文从体系结构、业务流转分析及实例流转方面对工作流系统进行了分析。并在研究的基础上提出了通过自动检测工作流系统所在网络的网络带宽,并根据网络的好坏与带宽的大小,提示工作流管理者配置最合适的运行参数的方法,设定工作流的最佳执行条件,以此来实现该工作流系统的高效运行,实现了工作流系统的网络带宽自适用性。在理论研究的基础上,实现了在Enhydra Shark工作流引擎基础之上的网络带宽自适用插件(Plug-in)。
论文提出的网络带宽自适用的工作思路如下,共五步:
第一步:检测当前的网络状况,如果网络己连接,则执行第二步,否则跳到第四步;
第二步:检测网络信号的强度;
第三步:如果网络强度为良好,则提示“网络无异常,无需更改配置参数,将适用默认配置参数!”;如果网络强度不好,则提示“网络连接慢,建议延长各业务的时间限制参数!”;
第四步:提示“无网络连接,无法建立工作流!”;
第五步:工作流管理者根据插件的提示反馈,从而提示工作流管理员在工作流引擎中配置合理的运行参数(主要是时间期限)。
网络带宽自适用Plug-in中关于网络强度,是根据在Plug-in初始化时设定的阈值来进行判断的。
Enhydra Shark工作流引擎是一个可扩展的工作流引擎框架,它包括一个完全基于WfMC规范的标准实现,它使用XPDL(没有任何自己新的扩展)作为自身的工作流流程定义格式,使用WfMC的”TooIAgents"API作为系统活动的服务器端的执行形式。
鉴于Enhydra Shark是一个开源的工作流引擎,可采用插件(Plug-in)的形式,使用java开发一个网络带宽自适用插件,然后将插件集成到Enhydra Shark工作流引擎。当工作流管理者在配置和更改工作流运行参数(主要是人物的时间期限)时,Plug-in将自动执行,检测当前的网络环境,将网络状况的结果反馈给工作流管理者,从而使工作流管理者配置合适的参数,达到工作流系统的最佳性能。
本论文分析了Enhydra Shark提供的五个接口(Interface):业务定义接口(Interface1: Process Definition Tools),主要是对工作流各类业务的定义;客户端应用与处理程序接口(Interface2: Client Apps&WorkList Handler),完成客户端的应用;Agent与需要被唤醒的程序接口(Interface3: Tool Agent&Invoked Applications),此处可以加载一些插件到工作流引擎中;工作流其他制订的服务(Interface4: Other WorkFlow Enactment Services);管理员与监测接口(Interface5: Administration&Monitoring Tools),主要提供管理员对工作流的配置与设定。
在本论文的实验过程中,主要使用了接口3(Interface3: Tool Agent&Invoked Applications)和接口5(Interface5: Administration&Monitoring Tools),基于智能Agent来实现对网络连接和带宽的检测。
在实验中,Enhydra Shark工作流引擎的网络带宽自适用插件(Plug-in)主要由有以下三类Agent:
第一类Agent(1st Agent)对工作流引擎的管理员与监测接口(Interface5)进行监听,当工作流管理员(WorkFlow Administrator)对工作流引擎进行相关参数的设置(如各项任务的分配时间)时,自动唤醒第二个Agent对当前网络的连接进行检测;
第二类Agent(2nd Agent),工作在接口3(Tool Agent&Invoked Applications),能够在本地机器和服务器之间自由移动,检测本地机器和服务器之间是否存在连接,并将结果报告给工作流管理者。如果本地机器和服务器之间的连接是存在的,就自动唤醒第三个Agent进行带宽检测;
第三类Agent(3rd Agent)检查本地网络的带宽(即网络连接的强度),并将结果报告给工作流管理者。工作流管理者根据报告的内容,就能够对工作流相关参数做出合适的配置,使工作流工作在最佳的状态。
在实验测试的网络环境中,主要有三类:无网络连接(no connection):弱网络带宽(weak bandwidth);强网络带宽(strong bandwidth)。
实验的测试条件分为两类:使用网络带宽自适用插件(Plug-in)和不适用网络带宽自适用插件(Plug-in)。
实验过程中分别对不同环境下,不同条件下进行相关的对比实验。实验结果反映,在不使用网络带宽自适用插件的情况下,无网络连接(no connection)环境下,工作流的每个用户都无法访问工作流,从而导致工作流系统无法正常工作,而工作流管理员只有在工作流过期挂起之后才能获取此信息;在弱网络带宽(weak bandwidth)环境下,各项任务的默认时间期限无法满足工作流正常流转的合理要求,久而久之,同样可能导致工作流的过期挂起,能够网络工作流的用户越来越少;在强网络带宽(strong bandwidth)环境下,默认的工作流任务时间期限高于正常流转的要求,造成时间的浪费,导致工作流的效率变低。综合来说,在不使用网络带宽自适用插件(Plug-in)的情况下,工作流管理员由于对网络状况完全不了解,配置一个相对比较好的运行参数(主要是相关的时间期限)是一个比较困难的任务,不可能将工作流的效率发挥到最佳。在使用网络带宽自适用插件的情况下,无论是在何类网络环境中,网络带宽自适用插件(Plug-in)都能及时将网络连接及带宽的情况反馈给工作流管理员,为工作流管理者在配置工作流参数(主要是有关的时间期限)时提供了良好的建议,使工作流管理者能够根据不同网络状况下修改工作流参数,从而能够发挥出工作流最佳的性能。
通过理论分析和相关的实践证明,本文提出的基于检测网络带宽来设置工作流参数的工作流引擎基础上的网络带宽自适用方法是切实可行的,本文所开发的Enhydra Shark工作流引擎基础上的网络带宽自适用插件(Plug-in)运行良好,达到了预期的效果。