题的概念。客户机将消息发送到主题或内容层次结构。为了接收到消息,消息消费者必须预订此主题。因此,对于这种方法,可以将消息制作者作为发布者,而消息消费者则是订户。jms供应商将多个发布者发来的消息分发到主题和此主题的多个订户。
点对点模式适用于使用集中式工作流机的系统,对于大规模的分布式应用,发布/订阅模式则相当有效,但是,在保证各个分布式工作流机的一致性问题上则稍有难度。
3.2系统结构与功能特点
cmm软件项目管理系统的系统结构如图2所示,它主要由过程建模工具,工作流机,任务表管理器,web服务,客户端和数据库接口等组成,该系统的各功能特点是:在这个系统中,我们使用浏览器作为客户端,通过http请求与webserver交互,websevrer再将收到的请求加以处理,判断哪些是应当丢弃的,哪些应该交由工作流执行服务处理,并将处理后的结果发送给工作流执行服务器。工作流机收到webserver传送过来的数据后,会根据消息的具体内容继续执行流程或者将流程挂起或是结束流程的运行,并且更新任务表管理器的内容,在需要的时候调用相应的应用程序来完成任务的需要。在过程建模工具中建立,修改,删除的模型将通过存储过程来修改数据库中已存储的模型。
websevrer和工作流执行服务也都要通过存储过程来访问数据库。各部分的功能特点描述如图2。
1)建模工具:使用基于petri网的建模方法来对企业经营过程进行过程定义,将经营过程转化为工作流引擎可以执行的形式。同时还提供对过程模型进行分析,测试的工具。
2)工作流机:工作流引擎是工作流平台的核心,它是业务流程的任务调度器,从某种程度上看,工作流机也是业务资源管理器。它的主要作用是实例化及执行过程模型、为过程和活动的执行进行导航、与外部过程交互完成各项活动、维护工作流控制数据和工作流相关数据等。
3)任务表管理器:过程模型中的每个活动都被看作是一个由计算机自动执行的任务或由用户手动执行的任务,任务表管理器负责对这些任务的监视和维护。
4)web服务:包含了用于处理用户请求和显示结果的jsp和sevrlet,其主要工作是将客户端与工作流执行服务连接起来。
5)客户端客户端是基于浏览器方式的瘦客户端,方便管理员管理整个工作流管理系统的运行过程,和一般用户管理和执行分配给自己的任务。
6)数据库接口:实现了底层的数据存储,包括过程定义,工作流控制数据,工作流相关数据,企业组织模型等工作流管理系统运行过程中必须的信息。
4系统的一些实现技术
4.1任务的自动分配和触发机制
可以根据模型定义自动地分配任务,当一个过程实例运行的时候,活动可以根据模型定义自动分配到指定接收者,并且,有关完成此活动所需要的数据也会传递给相应的接收者,从而提高业务过程执行效率。模型中使用角色机制,不指定具体人员,这样,人员变更不至于引起模型的变动。系统支持迟后绑定,即可以在活动运行的时刻才确定此活动由谁来完成。
流程从使能到运行的控制,采用触发机制,分为人工触发、自动触发、消息触发和时间触发。人工触发一般是用户从任务表中选取其中一项任务来完成,自动触发是一些通过程序自动执行的过程,一旦使能就被触发,消息触发是指系统外部的消息到达触发,如email,时间触发是由定时器来触发。
4.2活动信息的统计
系统可以通过对活动信息统计,并将活动的运行状况和统计信息存储在数据库内。通过提供有关工作量的信息,可以在建模的时候预测所需要的时间,并且在活动结束时计算任务完成情况,与初始模型进行对比,生成相应的图表以判断工作效率,辅助决策经营。除系统提供的几个基本统计模型之外,用户也可以利用系统提供的工具,自行扩展新的模型来完成工作量信息统计和生成对比图表。
结论根据软件过程管理的需求,以工作流技术为核心,j2ee技术为支撑,结合spp模型,文章给出了一个软件管理系统的体系结构和其中的一些技术实现。但是,为了更好地实施软件过程控制和度量,我们发现,还有一些问题需要进行深入的研究。
首先,软件过程模型的建立就要结合具体的实际情况,需要深人了解整个软件过程,并根据不同的需要修改模型来完成资源的动态配置和管理。另外,关于分布式工作流机之间的通讯和一致性问题也是相当重要的问题,需要拟定合适的策略来实现资源优化调度
上一页 [1] [2]