计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

可支持多语言的工作流动态演进(1)

2014-03-06 01:13
导读:计算机应用论文论文,可支持多语言的工作流动态演进(1)样式参考,免费教你怎么写,格式要求,科教论文网提供的这篇文章不错: 摘 要 本文主要讨论如何实现不同定义语言的兼容性,同时设计
摘 要 本文主要讨论如何实现不同定义语言的兼容性,同时设计一个组件为特定的工作流管理系统提供演进支持。对于不同的元模型(定义语言),此组件具有较好的适应性和可重用性。 关键词 工作流;定义语言兼容性;动态演进;工作流管理系统1 引言 所谓工作流,就是工作任务在多个人或多个单位之间的流转,在计算机网络环境下,这种流转表现为信息或数据在多个人之间的传送。工作流管理系统(Workflow Management System,WFMS)就是通过管理一系列的工作活动以及相关人员、资源、信息技术资料来提供业务处理程序上的自动控制,其最大优点就是实现具体应用逻辑和过程逻辑的分离,实现在不修改具体功能的情况下,通过修改业务流程模板来改变系统的功能,完成对组织生产经营过程的部分业务或全部业务的集成管理,有效地把人力资源、物质资源和信息组织在一起,发挥最大的效能。 对业务过程的强大支持是企业获得成功的一个关键因素,工作流管理系统正是用来调整业务流程及实现业务过程自动化的软件系统。工作流管理系统并不是企业的业务系统,其本身并不执行任何业务逻辑,它只为业务系统提供一个运行环境。工作流系统可分为业务过程定义和业务过程执行两部分,定义部分称为流原型(WFT),执行单元称为工作流实例(WFI),一组工作流原型称为工作流元模型(workflow meta-mode),可以通过工作流元模型来描述工作流模型。元模型用抽象的语义描述了WFT所需的上层实体,并定义了如何表示WFT,其中一种元模型可以看作是一种工作流定义语言。定义语言、WFT、WFI的概念比较难以理解,可分别同C语言、C程序、C程序进程进行类比。 业务流程是企业应用中最活跃的部分,很难在设计阶段就提供完美的WFT以适应各种情况,因此工作流管理系统必须具备演进的能力。也就是说,即使实例已经在运行当中,也可以修改其定义,但任何修改都要保证模型与实例的正确性。一般情况下,如果没有正在运行的实例,那么对WFT的改动将不会带来什么问题。但如果一个正在被其他WFT所引用的WFT被删除时,整个工作流模型便失效了;如果WFT的改变与正在执行实例发生冲突的话,实例也就无效了。在实际生产生活中,工作流实例经常有一个较长的运行周期,因此工作流管理系统必须支持运行实例的修改,也就是在运行期间动态演进WFT。 关于工作流的动态演进问题,目前提出的解决方案有工作原型版本化(WFT versioning)以及工作流实例迁移(migration of WFT)。一个版本代表了演进实体的一个状态,当流程发生改变时不是直接修改WFT,而是给出该WFT的一个新版本,通过运用一系列定义良好的修改操作,使新版本继承自源版本,然后通过迁移算法使正在执行中的实例依据WFT的新版本继续执行。这种方法虽然解决了动态演进问题,但修改操作及迁移算法都绑定于特定的工作流定义语言,这意味着一旦定义语言改变,则修改操作及迁移算法都不得不重新实现,因此工作流管理系统应具备处理不同定义语言的能力。 本文将首先讨论如何实现工作流管理系统的定义语言无关性,在此基础上提出了一个WFT动态演进的方案,并设计了一个组件,它为特定的工作流管理系统提供演进支持,同时可兼容于不同的元模型(定义语言)。2 实现工作流管理系统的定义语言无关性 工作流是由工作流定义语言进行描述的,目前存在许多定义语言,各种语言对工作流中相同的语义有着不同的描述。由于缺乏统一的标准,很难使WFT在不同的WFMS之间移植。每种定义语言都有一套自己的概念和结构,由WFMS解释这些概念和结构,一旦改变定义语言,则WFMS的相当一部分都要重写。由于各种语言都有自己的特长,倚重或偏废任何一个都不利于技术的整体发展,因此作为独立的工作流管理系统必须具备处理各种定义语言的能力。 可以采用“加一层”的办法来解决这个问题。在工作流定义与工作流执行引擎之间加一层所谓的“后台定义”,这样一来,由各种定义语言所描述的WFT就成了“前台定义”。如此划分可以减小不同定义语言所带来的影响,以便在工作流执行引擎的级别上保持相同的数据结构,下面通过微型工作流(micro-workflow)体系结构,来解释前、后台定义及其转换。2.1 前台定义 Micro-workflow有自己的定义语言,即本文所称的前台定义,它的关键抽象是过程(Procedure),一颗由过程组成的层次树便定义了一个工作流程。图1就是定义树的元模型,这里主要有两种类型的过程:图1 micro-workflow前台定义元模型 (1)简单过程(Simple Procedure)——这些过程表示树(指定义树,非元模型)中的叶子节点,它既可以是一个代表软件服务的过程,也可以是一个代表用户必须完成的工作过程。 (2)复合过程(Composite Procedure)——复合过程用于表示对控制流(序列、条件等)的管理结构,是树中的非叶子节点。2.2 后台定义 采用基础数据结构中的有向图来进行后台定义,其中节点代表活动步骤,节点之间的连接代表流(数据流或控制流)。控制流建立了节点的执行顺序,数据流定义了从一个活动传递到另一个活动的数据,任何图都有一个开始节点和终止节点。2.3 前台定义到后台定义的翻译 要完成从前台到后台的翻译,前台定义模型与后台定义模型之间必须有一个完备的映射。前台定义模型提供编译规则从而生成后台定义,micro-workflow中的编译是按照自顶向下的方式完成的,它从前台定义的根部开始,递归进行,每个复合过程编译它的子节点作为其相应后台定义图中的表示。每个简单过程编译成图中的一个节点,而复合过程中的信息则成节点之间的连接,生成的结果图就是工作流引擎可任意处理的后台定义,定义编译算法时要考虑所有存在的规则,如控制流、数据流以及发送给各个节点的消息类型等。图2大体描述了一个前台到后台的映射。
上一篇:嵌入式精简 TCP/IPV6 协议栈的设计与实现(1) 下一篇:基于Eclipse的多传感器数据融合算法仿真系统(1)