已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华北电力大学硕士学位论文 - i - 摘 要 随着信息化技术的不断深入,计算机技术已经渗入到企业生产运行的各个 环节。工作流是业务过程中的一个计算机实现,广泛应用于办公、生产和制造 等领域,在企业信息化建设中工作流发挥了越来越重要的作用。然而,由于工 作流是业务过程的抽象,大多以静态、固化的形式表现,相应的传统的工作流 管理系统存在着适用范围窄、灵活性差等方面的不足,以至于不能对活动中的 任务实现过程重构,使得系统的应用受到很大限制。 本文对工作流技术的发展状况、 存在的缺陷和不足等方面进行了分析研究。 在工作流系统中引入人工智能领域中的规则引擎, 将业务流程与业务规则分离, 可以改善工作流流程定制的僵化问题。文中首先概括了工作流及工作流管理系 统的基本概念,阐述了工作流管理系统的研究现状;然后介绍了 sap 及其 netweaver 技术平台和工作流技术;最后通过规则引擎与工作流引擎的交互, 借助规则库中的规则,自动产生和运行整个工作流。降低了工作流系统中业务 修改的复杂度,同时也提高了流程执行效率,完成了工作流过程的自动流转。 本文建立了基于 netweaver 平台的智能工作流系统,通过应用在电力企业 erp 项目中,提高了电力企业纷繁复杂的日常审批类业务的工作效率,最后通 过物料主数据审批流程验证了该系统的可行性。 关键词: 关键词:工作流;规则引擎;业务规则;动态修改 华北电力大学硕士学位论文 - ii - abstract with the depth of information technology, computer technology has penetrated into production of enterprise. workflow is a computer implementation in the business process; it is widely used in the field of office, production and manufacturing. workflow plays more and more important rules in informational construction of enterprise. however, workflow is an abstraction of the business process; it mostly performs static and curing forms. because the traditional workflow management system exist the shortage of narrow application and poor flexibility, it can not realize the procedural reconstruction in the task of activities. these make that the application of the system is very limited. this paper researches and analyzes the development situation and the shortcomings of the workflow technology. the rule engine which belongs to the field of artificial intelligence is introduced to the workflow system; the system realizes the separation of business flow and business rules and improves the rigid issue of workflow process. firstly, this paper generalizes the basic concepts of workflow and workflow management system and expounds the status of workflow management system, and then sap netweaver technology platform and the sap workflow technology are introduced. finally, by the interaction of the rules engine and workflow engine and the help of the rules, the system can automatically generate and run the entire workflow. the modification of the business becomes simple and the efficiency of the process execution is enhanced. workflow process can realize the turnover of automatic. in this paper, the intelligent workflow system based on the netweaver platform is established. the work efficiency of the electric power enterprise is improved, and the feasibility of the system is verified by the approval process of the material master data. keywords:workflow;rule engine;business rules;dynamic modification 华北电力大学硕士学位论文原创性声明 本人郑重声明:此处所提交的硕士学位论文基于 netweaver 平台的智能工作流的 研究 ,是本人在导师指导下,在华北电力大学攻读硕士学位期间独立进行研究工作所 取得的成果。据本人所知,论文中除已注明部分外不包含他人已发表或撰写过的研究成 果。对本文的研究工作做出重要贡献的个人和集体,均已在文中以明确方式注明。本声 明的法律结果将完全由本人承担。 作者签名: 日期: 年 月 日 华北电力大学硕士学位论文使用授权书 基于 netweaver 平台的智能工作流的研究系本人在华北电力大学攻读硕士学位 期间在导师指导下完成的硕士学位论文。本论文的研究成果归华北电力大学所有,本论 文的研究内容不得以其它单位的名义发表。本人完全了解华北电力大学关于保存、使用 学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版 本,同意学校将学位论文的全部或部分内容编入有关数据库进行检索,允许论文被查阅 和借阅。本人授权华北电力大学,可以采用影印、缩印或扫描等复制手段保存、可以公 布论文的全部或部分内容。 本学位论文属于(请在以下相应方框内打“” ) : 保密,在 年解密后适用本授权书 不保密 作者签名: 日期: 年 月 日 导师签名: 日期: 年 月 日 华北电力大学硕士学位论文 - 1 - 第 1 章 绪 论 1.1 课题研究背景及意义 当今信息时代,随着科技的不断进步和经济的飞速发展,企业所面临的市 场竞争日趋激烈,呈现着国际化、白热化的趋势。因此,企业纷纷建立企业信 息系统来辅助企业的日常业务活动,希望从内部做起,提高企业的生产工作效 率,改善企业经营管理水平,提升企业对市场变化的决策反应能力。此时,将 业务过程自动化,使人以及各种应用之间相互协调工作,已成为企业关注的提 升企业核心竞争力的重要问题。 进入二十一世纪以来, 计算机和通信技术的进步以及企业应用的强大需求, 推动了全球网络化和社会经济的飞速发展,也为工作流系统的进一步发展提供 了环境和技术支持。作为近年来计算机科学领域中发展较为迅速的几项新技术 之一,工作流技术已经引起了科研机构和业界的普遍关注。目前,工作流技术 已经广泛应用于办公自动化、文件管理、电子邮件、目录管理、群件应用、业 务流程重组、业务流程管理以及结构系统定义等领域。与此同时,很多供应商 也提供工作流技术产品并声称其产品中包含工作流技术,许多新的工作流技术 产品继续涌入这一市场。 作为一种过程建模和流程管理的核心技术,工作流技术可以和其它应用系 统有效结合,生成符合企业需求的各种业务管理系统,如办公自动化系统、项 目软件管理系统、产品数据管理系统、客户关系管理系统、供应链管理系统、 erp(enterprise resource planning,企业资源规划)系统1等。然而,由于工作 流是业务过程的抽象,大多以静态、固化的形式表现,相应的传统的工作流管 理系统存在着适用范围窄、灵活性差的不足,以至于不能对活动中的任务做出 合理的评估、实现过程重构,使得系统的应用受到很大限制2。 在工作流技术发展不断暴露出其缺点和不足的情况下,引入新技术来发展 和完善工作流,无疑是一个行之有效的方法。具有动态修改能力的智能型工作 流也必然成为未来发展的一个主要方向3,4。 1.2 工作流技术的发展历史 工作流概念起源于二十世纪七十年代中期的生产组织和办公自动化领域。 是针对企业日常生产工作中具有固定程序的活动而提出的。提出的目的是通过 将一个个具体的工作分解成定义好的多个任务、角色,然后按照一定的规则和 华北电力大学硕士学位论文 - 2 - 过程来执行这些任务并对其进行监控,以达到提高工作效率、降低企业生产成 本、提高企业生产经营管理水平和企业竞争力的目标。 经过学术界和企业界长期的研究和积累,工作流技术不断发展完善,工作 流技术的发展主要经历了以下几个重要的阶段:七十年代的诞生时期,该时期 与工作流有关的研究主要有:宾夕法尼亚大学沃顿学院的 michael d. zisman 开 发的 scoop 原型系统,施乐帕洛阿尔托研究中心的 clarence a. ellis 和 gary j. nutt 等人开发的 office talk 系列试验系统,anatol holt 和 paul cashman 开发的 “监控软件故障报告”程序等。八十年代是工作流商用系统的诞生时期,八十 年代中期 file net 和 view star 等公司率先开拓了工作流产品市场,使其成为最 早的一批工作流产品供应商,他们通过把图像扫描、复合文档、结构化路由、 实例跟踪、关键字索引以及光盘存储等功能结合在一起,在图像处理和电子邮 件领域形成了含有工作流特征的商用系统。二十世纪九十年代是工作流技术飞 速发展的时期,工作流技术也得到了初步的标准化。随着计算机技术、网络技 术、通信技术和分布式数据库等辅助信息技术的迅速发展和成熟,信息化建设 日益完善,人们的许多工作也越来越多地依靠计算机来完成。工作流技术的研 究与开发从此也进入了一个新的热潮。软件开发商不断地推出具有特定功能的 “工作流管理系统” , 但由于开发商一般都只关注自己的产品在某个特定领域的 特定应用,所采用的术语和模型也存在很大的差异,这就使得工作流系统之间 很难交互。于是,1993 年 8 月,由多家公司联合成立了第一个工作流技术标准 化的工业组织wfmc(workflow management coalition,工作流管理联盟) 。 1994 年,wfmc 发布了用于工作流管理系统之间互操作的工作流参考模型,并 相继制定了工作流相关术语、结构体系、应用程序接口、管理控制接口、过程 语言描述等方面的一系列标准和规范。 这标志着工作流技术开始走向相对成熟、 相对规范的阶段。进入二十一世纪以来,工作流技术已被越来越多的人认可, 在全球范围内对工作流技术的研究及其相关产品的应用开发也进入了更加繁荣 的阶段,越来越多的新技术被集成在一起,文件管理系统、数据库、电子邮件、 移动式计算、internet 服务等都已被集成到工作流系统之中。这些工作在很大程 度上促进了工作流技术的发展和工作流管理系统在企业中的应用5,6。 1.3 工作流及工作流管理系统 工作流是业务过程中的一个计算机实现,其借助于计算机软件系统来控制 执行整个业务过程,实现业务流程的部分或全部自动流转。经过规范化的工作 流可以通过基于计算机的工作流管理系统进行控制,工作流管理系统通过软件 定义,创建工作流并管理其执行。 华北电力大学硕士学位论文 - 3 - 1.3.1 工作流的基本概念 几十年来,在工作流技术的发展过程中,不同的研究者和组织对工作流概 念给出了不同的描述,目前为止,仍没有完全统一的定义。wfmc 对工作流的 定义为:工作流是一类部分或完全自动执行的经营过程,它根据一系列业务过 程规则、文档、信息或任务在不同的执行者之间进行传递与执行7。 为方便众多的工作流技术研究者的交流,wfmc 定义了工作流技术的相关 概念,同时阐述了这些基本概念之间的相互联系。图 1-1 显示了它们之间的相 互关系。 图 1-1 工作流基本概念之间关系 业务过程:由一个或者多个相关的过程、活动共同组成,通常在定义了功 能角色和关系的组织结构环境下实现共同的政策目的或业务目标 8。 过程定义:支持自动化操作的业务过程的计算机表现形式,它定义过程运 行中涉及到的各种参数,如业务过程的开始条件、终止条件、各个工作环节及 相互之间的控制流动与数据流动关系等。 工作流管理系统:能定义、创建和管理工作流过程执行的软件系统。该系 统通过将现实世界中的业务过程转化为某种计算机所能识别的形式表示,并在 此表示形式的驱动下完成工作流的执行和管理。 活动:工作流中的一个逻辑的工作单元。它包含开始和结束条件、可参与 到此环节中的用户、完成此活动所需的应用程序或数据以及关于此活动应如何 业务过程 过程定义工作流管理系统 活动 过程实例 人工活动 自动活动 活动实例 工作项应用程序 被定义 被管理 被分解为 控制 包含 实现 实现 执行 执行 创建 表现为 华北电力大学硕士学位论文 - 4 - 完成的一些限制条件等。活动不可分割且必须完全执行,活动可以是人工活动 也可以是自动活动。 过程实例/活动实例: 某个工作流过程的一次执行过程。 在实例执行过程中, 工作流管理系统将解释相应的过程定义,并生成有关的活动并根据过程定义中 的控制规则协调这些活动实例之间的顺序关系,同时根据数据流动关系的定义 完成活动实例之间的数据传送。 工作项:表示过程实例中与某活动相关的、被工作流参与者处理的工作。 从用户的角度来说,实例的执行实际上是用户调用相应的应用程序对其所涉及 的环节的有关的数据进行处理, 处理完之后由工作流管理系统根据相应的结果, 决定激活后续的哪个环节并生成相应的工作项,同时通知与此有关的用户对之 进行处理。依次顺序反复进行,直至完成整个过程。相应用户负责的所有的工 作项将构成其工作项列表。 工作流模型是对工作流和业务过程的抽象表示,描述了工作流任务之间的 控制流和数据流。在工作流系统应用中,工作流模型是工作流系统设计与实现 的基础和实际业务过程的逻辑表示形式。工作流管理系统根据工作流模型创建 相应的工作流实例,然后自动、灵活的驱动业务过程的执行。所以,工作流模 型决定了系统最终的工作流行为,只有建立一个好的工作流模型才能有效地应 用工作流技术,实现业务过程的自动化,优化业务过程,进而提高企业的经营 效率9。 1.3.2 工作流管理系统及其参考模型 工作流管理系统指运行在一个或多个工作流引擎上的,用于定义、实现和 管理工作流运行的软件系统,它与工作流执行者相互作用,推动工作流实例的 执行,并监控工作流系统的运行状态10。根据实际的应用背景需求,工作流管 理系统可以描述不同的覆盖范围(个人、部门、企业、企业间)和不同时间跨 度(分、时、天、月、年)的经营过程。按照经营过程以及活动的复杂程度的 不同,工作流管理系统可以采取多种实施方式 11。 虽然不同的工作流管理系统有不同的应用范围和实施方式,但却具有许多 相同的特征。一般地,工作流管理系统都提供以下三种基本功能: (1)建立阶段的功能:考虑工作流过程及其相关动作的定义和建模功能; (2)运行阶段的控制功能:在一定运行环境下,执行工作流过程,并完成 过程中动作的排序和调度功能; (3)运行阶段的人机交互功能:完成各种动作执行过程中用户与 it 应用 程序间的交互。 华北电力大学硕士学位论文 - 5 - 为了规范工作流技术产品,指导工作流产品的开发,以实现工作流产品之 间的互操作,wfmc 发布了用于工作流管理系统间互操作的工作流系统参考模 型,并制订了工作流相关术语、结构体系、应用程序接口、管理控制接口、过 程语言描述等方面的一系列标准和规范12。图 1-2 显示了工作流参考模型。 图 1-2 wfmc 工作流参考模型 对该模型各部分说明如下: (1)过程定义工具:提供一种对实际业务过程进行分析、建模的方法,并 生成可被计算机处理的业务过程的形式化描述; (2) 工作流执行服务: 借助一个或多个工作流引擎来激活并解释过程定义, 通过同外部应用程序交互,来完成工作流过程实例的创建、执行和管理,如过 程定义的解释、过程实例的控制、过程各活动之间控制条件的计算与数据的传 递等,生成有关的工作项后,通知用户进行处理等等。 (3)工作流客户端应用:为用户提供一种处理过程实例运行过程中需要人 工干预任务的手段。每一个任务作为一个工作项,它包括处理上的一些要求及 待处理的数据对象等。工作流管理系统通过为每一个用户维护一个对应的工作 项列表来显示当前需要该用户处理的所有任务; (4)调用应用程序:工作流执行服务在过程实例的运行过程中自动调用完 成的、用以对应用数据进行处理的应用程序; (5)管理和监控工具:对工作流管理系统中过程实例的状态进行监控与管 理,如用户管理、角色管理、审计管理、资源管理等。保证工作流无论运行在 什么样的工作流管理系统之上,都可以获取全局的工作流程图。 五个接口被统称为工作流应用编程接口,分别定义13为: 过程定义工具 其它工作流 系统 管理和监控 工具 工作流客户应用调用外部应用 工作流引擎 工作流执行服务 工作流 api 与交换格式 接口一 接口二 接口三 接口四 接口五 华北电力大学硕士学位论文 - 6 - 接口一: 工作流过程定义转换接口。 一套用 xml 语言描述工作流元模型的 标记语言。 实现不同工作流管理系统间或管理系统与建模工具之间的相互交换。 接口二:工作流客户端接口。完成工作流执行服务器与工作流客户端应用 程序间通信机制的建立,构建各种可能遇到的运行系统。 接口三:应用程序调用接口。提供一些标准的服务供应用代理使用。 接口四:不同工作流执行服务器间的互操作接口。用来支持不同工作流系 统中信息与控制流的交互。 接口五:监控与管理接口。用来对工作流执行系统的监控和管理。 工作流管理系统专注于对业务过程的管理,对业务过程中的具体任务通过 调用具体的应用系统来完成。这种业务过程管理的独立性避免了传统应用系统 中由于过程管理匮乏、过程错误或过程不完整而造成的业务变化困难等问题。 1.4 工作流管理系统研究现状 目前,已知国外的工作流管理系统有:domino workflow、visual workflow、 mqseries/workflow、 staffware、 oracle workflow builder 以及 sap r/3 workflow。 国内一些 it 企业也推出了一些工作流产品:金蝶、用友等。因为工作流管理系 统有具体的参考标准,因此在概念上大家的提法都差不多,主要区别在于技术 架构和实现方法上。 虽然经过了工作流产品供应商与工作流研究人员十几年的不懈努力,工作 流技术已由最初的萌芽逐步发展,并取得了一定的成果,但在信息过载的今天, 从浩如烟海的信息库中按照一定的规则抽取用户所需数据显得非常重要。为此 国内外学者不断地引进智能方法来改进工作流,其中有代表性的有:达特茅斯 大学计算机系设计开发的 dartflow,是一种基于可移动 agent 的工作流管理系 统、瑞士苏黎士大学计算机系的研究人员提出的一种基于事件的工作流执行服 务中间件平台结构体系、美国 georgia 大学计算机系 meteor 研究项目所开发 出的 orbwork 和 webwork 工作流管理系统、ibmalmaden 研究中心提出的基 于永久消息队列的 exotica/fmqm 分布式工作流系统等等。 在目前主流的流程建模方法中,基于规则的建模方法具有较好的支持流程 动态修改的能力,业务规则的理论基础是:设置一个或多个条件,当满足这些 条件时触发相应的一个或多个操作。业务规则技术可以实现组织内大部分业务 和决策过程的标准化和自动化,在某种程度上消除了容易导致不一致和错误的 人为因素。 基于规则引擎的工作流管理系统,将使工作流的建立由人工变为自动,通 过把原来人的思维规则化,有效地解决现实生活中出现的问题14。一方面在过 华北电力大学硕士学位论文 - 7 - 程实例执行阶段,过程的每一活动环节都是由上一个环节通过规则库中的规则 推导而来;另一方面工作流的规则库用于整个工作流管理系统,通过使用同一 个资源库,在不同的工作流间的协调就显得非常容易,从而充分利用现有的各 种资源,提高系统的工作效率15。 1.5 本文的主要内容和章节安排 论文全文分为六章,各章内容安排如下: 第 1 章为绪论,介绍了工作流技术的发展历史、模型标准以及国内外研究 动态。 第 2 章主要介绍了 sap(systems,applications,and products in data processing,数据处理中的系统、应用和产品)及其 netweaver 技术平台,阐述 了 sap 工作流的基本原理及其整体架构。 第 3 章对工作流技术中的规则引擎及其流程管理进行了研究。首先介绍了 业务规则的及规则引擎的概念,然后在分析了一些业务规则和规则引擎的实现 方法的基础上,结合 sap 自身特点,给出基于规则引擎的工作流模型的体系结 构,最后用 sap 自身的语言来实现规则引擎。 第 4 章给出了 sap netweaver 技术平台下的智能工作流系统的设计目标、 系统的结构,及具体运行流程,并对各个功能模块进行了分析。 第 5 章设计和实现了物资模块中物料主数据审批流程,对 sap netweaver 技术平台下的智能工作流的可行性进行了验证。 第 6 章为全文的总结,并对未来的工作进行了展望。 华北电力大学硕士学位论文 - 8 - 第 2 章 sap netweaver 技术平台及其工作流技术 sap 既是公司名称,又是其产品企业管理解决方案的软件名称。sap netweaver 是下一代基于服务的平台, 它将作为未来所有 sap 应用程序的基础。 基于 netweaver 技术平台,sap 业务工作流可以无缝整合关键业务流程,实现 对业务过程的主动控制,不再为被动耗时的“应急处理”所困扰。sap 业务工 作流特别适合于处理必须重复运行,或者要求大量承办者以规定的顺序协同进 行处理的业务16。 2.1 sap 概述 sap 公司是通过业务过程成功地集成信息技术的公司,1972 年由一组前 ibm 公司的五位工程师成立于德国曼海姆17。sap 系统集成了各种企业的标准 业务过程,它具有将企业所有业务流程集成到一个完整的系统链之中的能力。 这一系统涉及企业所有日常业务:从生产计划到销售控制;从库存管理到财务 管理,不仅如此,还可以实现工资系统、人力资源管理系统这些所有企业必有 的业务流程的一体化。sap 自带的工作流可以将这些流程链接起来,消除重复 的业务过程,提高企业的日常工作效率。 sap 以专业化和集成化为基石,sap 产品及服务中的每个组件或产品都可 以满足一项特定的要求。企业可以从 sap netweaver 的实施过程中获得以下几 个方面的好处,包括: (1)开发成本的降低; (2) 一体化的实施, 加快了配置时间并且缩短了系统升级所必需的时间等; (3)大大减少的维护和支持费用,使得实施者付出的总成本显著降低; (4)由于提高了企业业务处理的效率,使得 it 部门有更多的时间研究商 业需求。 此外,sap 系统还存储了无数无价的、能够用于企业所有业务方面的各种 信息资源。总而言之,sap 系统具有其他 erp 系统不可比拟的企业业务流程规 范作用18。 2.2 sap netweaver 技术平台 sap netweaver 是一种可随时用于业务运作、面向服务的集成化的应用平 台,其官方定义为:sap netweaver 是 sap 解决方案的实现基础。借助 sap 华北电力大学硕士学位论文 - 9 - netweaver 是为了帮助企业跨越技术和机构组织的界限,实现人员、信息和业 务流程的集成19。sap netweaver 支持 microsoft.net 和 ibm websphere 标准。 sap netweaver 平台还提供了“网络应用服务器”这一强大的、基于 java 环境 的开发工具,用户可以在此平台上根据自身的业务背景,开发企业特定的信息 管理工具或者模块,而不用担心这些模块与整个系统能否“无缝的集成” 。sap netweaver 在 java 应用服务器和 abap 应用服务器的基础上提供统一的技术基 础设施,是 sap 基于企业服务架构的技术平台的总和20。 sap netweaver 应用服务器是 sap 软件栈的核心与基础,也是其他 netweaver 组件、java 和 abap 应用的实现平台,sap netweaver 应用服务器架 构如图 2-1 所示。 sap gui icm(互联网通信管理器) 分配器 网 关 jco sap 数据库 sap 数据库 wpwpwp java vm java vm java vm abap vm abap vm abap vm 网络浏览器 abap/ java引擎 中心服务 信息服 务器 队列服 务器 java分配器 java sp java vm java sp java vm sdm j2ee 引擎 图 2-1 sap netweaver 应用服务器架构 sap netweaver 应用服务器支持 j2ee 标准,其核心设计目标是确保运行于 其中的应用程序的健壮性和可维护性。在 vm(virtual manufacturing,虚拟机) 容器技术的支持下,sap 为 java 应用实现了与 abap 应用同等级别的稳定性。 在 netweaver 架构下,sap 系统中可以包含多个应用服务器实例,以及一个或 多个数据库系统。但所有的 sap 系统中都仅包含一个中心实例,该实例包含消 息服务器和队列服务器,独立于普通应用服务器实例,并不处理任何对话请求。 每一个 sap netweaver 应用服务器都包含一个网关、一个 icm(internet communication management, 互联网通信管理器) 、 一个分配器和一组工作过程。 网关和 icm 是与其它应用服务器的通信接口。网关处理与远程系统间的物理 rfc 通信,icm 则处理标准通信协议,如 http、https、smtp 等。分配器 华北电力大学硕士学位论文 - 10 - 则是连接工作过程、网关和 icm 以及前台用户 sap gui 之间的纽带。 在 sap netweaver 应用服务器的 j2ee 组件部分,完全延续了 r/3 架构中 的组件及功能模型,其中的工作过程调度机制仍通过分配器实现,而 abap as 和 java as 之间的通信则通过 sap 网关以及相关中间件 jco(java connector, java 连接器)实现。中心实例中的消息服务器以及队列服务器用于实现不同 netweaver as 之间的调度。 在 sap netweaver as 的 j2ee 组件部分,则包含组件 java 分配器、java sp (java server process,java 服务过程)和 sdm(soft deployment manager,软 件部署管理器) 。其中 java 分配器用于调度服务器中的 java 进程,sdm 用于将 开发完成的网络应用部署至 java 应用服务器中。 netweaver 是 sap 的目标。sap 在其软件中嵌入了必要的 web 服务编程接 口,意在把 sap 的软件转变为合作伙伴和客户面向服务架构的平台。erp 是 netweaver 战略的重要组成部分21。 2.3 sap 的工作流技术 sap 工作流是建立在业务对象的基础之上的系统流程流线化的技术实现。 它基于业务框架和业务对象技术,通过集成数据和流程扩展了系统和业务应用 的边界,通过无缝集成并整合和组件内部及跨组件的业务流程,使业务过程的 处理更加及时、迅捷、准确有效。工作流广泛应用于人力资源、采购、销售等 模块中的业务处理过程,特别是涉及申请、审批处理的过程。 2.3.1 sap 工作流和业务对象 sap 工作流系统中的主要元素包括业务处理过程、任务、活动和工作步骤 等。业务运行时的处理过程都是由一系列设定好的工作步骤组成的,其中活动 类型的工作步骤对应着各个独立的、在系统中预定义的任务。这些任务将由系 统以运行时工作项目的形式分配给相关的人员,即任务的代理人。处理这些任 务时,通常会访问到以业务对象实例形式存在的数据或创建新的业务对象,如 物料、订单、客户等。上述过程中各个预设定的业务流程即为 sap 业务工作流, 其后台组织者即为 sap 工作流管理系统。 在运行时,工作流管理系统控制并监控工作流的处理过程,主要任务包括: (1) 过程控制, 完成各个工作步骤的触发和调度。 确保系统在合适的时间, 按照正确的次序,将适当的任务传递给相关责任人的工作流系统收件箱,同时 提供足够的信息以指导该员工完成相应任务。各个任务的发送过程都是由系统 自动控制的; 华北电力大学硕士学位论文 - 11 - (2)运行阶段的人机交互功能,实现各个活动执行过程中用户与 it 应用 工具之间的交互; (3)状态评估,工作流管理系统掌握每一个工作流的当前进行状态,并为 用户提供报表与图形化的工作流分析机制。 业务对象是 sap 工作流系统中的关键元素。所有具体的工作流任务都需要 有其对应的业务对象和方法,换个角度讲,每个工作流活动的具体行为,如执 行 abap 代码、调用事务、发送邮件等,都是在业务对象的方法中实现的。技 术上说,任务是对业务对象方法的进一步封装,提供给工作流系统重复使用, 以实现活动工作步骤。此外,业务对象中的事件还控制着工作流的触发和任务 的终止。工作流、任务和对象的关系如图 2-2 所示。 方法 业务对象 工作流 工作流定义 任务 组织计划 属性 图 2-2 工作流、任务与业务对象关系 任务用于描述业务过程,是工作流系统的核心元素,与各组件联系密切。 组织计划确立了如何把项目需要的工作分配给员工。多数情况下,这种分配不 是按人而是按角色或职能进行的。一个人一生中可能要担任多种角色,也可能 同时担当不同的角色。组织结构的一个重要方面就是权限与责任的划分。换句 话说,在一份工作通过组织结构分配给一个责任人时,这个工作的责任人应该 已经具有相关的权限,以保证委托给他的工作得到执行。 目前,各类企业中主要有三种类型的组织结构形式,包括层次结构、矩阵 组织及网状组织。工作流通过工作(或称任务、活动)和员工的委托关系与组 织结构设定相衔接,组织结构的形式也影响着工作流的定义过程和设计方式。 通过二者的链接,一项已经委托的任务可以由工作流管理系统自动地发给相关 的人员,如此完成工作流中数据的传输22。 华北电力大学硕士学位论文 - 12 - 2.3.2 sap 标准任务和工作流模板 任务用于描述业务过程,是工作流系统的核心元素,与其他各组件联系密 切。从宏观上讲,任务可大可小,一个工作流也可以看作一个任务,但是如果 细化,该工作流还可以包含许多具体的任务,sap 中的任务可以根据其复杂程 度分为单步任务或多个任务组合而成的整体,即工作流。 在通用任务维护工具 (事务 pftc, sap 标准路径 toolsbusiness workflow developmentdefinition toolstask/task groupscreate/change/display) 中, 可以看到除去单步任务组之外,共有四种技术类型的任务。新版本 sap 中主要 应用类型为工作流模板和标准任务,其他两种任务类型则是较旧版本中的任务 类型,但目前仍支持继续使用。 单步任务可以独立使用,但更为通常的情况是作为其他工作流模板的工作 步骤而存在。作为一个组件,标准任务可以被使用在任意的工作流定义过程中。 工作流模板也称为工作流定义,可以独立使用或者作为其他工作流的子工 作流。通过工作流设计器,可显示系统工作流模板的流程设计细节,或开发新 的工作流。新的工作流可以复制系统工作流模板,并在其基础上进行修改,在 无合适的系统标准工作流模板的情况下,也可以从头开始设计开发新的模板。 2.4 本章小结 本章介绍了 sap 的发展史,并对其新一代 netweaver 技术平台进行了整体 介绍,阐明了基于 sap netweaver 技术平台的工作流的基本原理、结构、工作 机制及其整体架构。 华北电力大学硕士学位论文 - 13 - 第 3 章 工作流技术与规则引擎的结合研究 规则引擎专注于规则的定义与处理,将规则引擎应用到工作流系统中,通 过规则引擎与工作流引擎的交互,可以为工作流系统提供规则分离服务,并有 效简化业务流程,优化流程执行的效率,提高流程的动态性。本章主要介绍了 规则引擎的概念、原理及其与工作流系统的结合。 3.1 业务规则与规则引擎 业务规则技术通过实现组织内大部分业务和决策过程的标准化和自动化, 在某种程度上消除容易导致不一致错误的人为性因素。规则引擎接受系统数据 的输入,解释业务规则,并根据规则做出相应的业务决策。 3.1.1 业务规则与规则引擎概述 业务规则是一种包含在特定活动或范围内关于指导、操作、实践和过程的 行为规范的一种原则。它在委托方和代理方内部、在组织方和有兴趣的第三方 之间进行很好的沟通,使操作在当前的实践中更好地分析执行,使操作更有效 率和更具自动化,以帮助组织方去更好的达成目标。业务规则可以被看作是业 务实践的一个集合,通过业务规则语言和业务规则引擎来定义业务逻辑的实际 实现23。 业务规则组织从业务观点和信息系统两方面规定了业务规则的两个定义: “从业务角度看,业务规则是一种原则,它包含在特定活动或范围内关于 指导、操作、实践和过程的行为规范。 ” “从信息系统角度看,业务规则是一个定义或限制业务过程某些方面的声 明。业务规则旨在用于构造业务结构,控制或者影响业务行为。 ” 一条业务规则包含一组条件和在此条件下执行的具体操作24,表示业务规 则应用程序中的一段业务逻辑。业务规则通常由业务分析人员和指定规则策略 的管理人员开发和修改,某些复杂的业务规则则由技术人员通过使用面向对象 的技术语言或脚本来定制25。 规则引擎属于人工智能的范畴,是由人工智能中基于规则的专家系统中的 推理引擎发展而来的26。规则引擎可以看作是一套软件组件,它负责将应用程 序中的业务规则抽取出来,使用预定义的语义模块编写业务决策,为工作流引 擎提供相应的规则服务,为业务管理人员提供规则编辑界面。还可以看作是一 种嵌入在应用程序中的组件,它的任务是把当前提交给引擎的数据对象与加载 华北电力大学硕士学位论文 - 14 - 在引擎中的业务规则进行测试和比照,激活符合当前数据状态下的业务规则, 根据业务规则中声明的执行逻辑,触发应用程序中相对应的操作27。在具有一 定结构的商务规则处理中,规则引擎具有无可比拟的优势。 本文中,规则引擎作为前一种定义来应用,即作为业务规则分离的组件, 它统一管理工作流系统流程路由决策、流程的动态规划28。把业务规则从代码 中分离出来有很多优点,列举如下: (1)可以将规则离散化,使业务规则的描述变得容易,并且可以做到很精 确,同时也提高了规则的可读性,通过把一个个的“小”规则统一放到规则库 中,根据需求进行灵活的组合来表达丰富的行为、状态,使工作流的建模更加 轻松; (2)可以实现不同环境下的跨业务处理过程和应用程序重用; (3) 可以实现在运行阶段修改业务规则, 这样就可以得到高度灵活的软件, 使工作流系统动态适应企业的业务变化; (4)把业务规则从代码中分离出来,当工作流的业务流程发生改变时,将 不再需要修改复杂的程序,只需要通过规则编辑界面添加或修改规则库中相应 的规则,降低项目的维护成本。 3.1.2 规则引擎结构及其工作机制 规则引擎是一种根据规则中含有的业务逻辑来执行过滤条件,通过判断其 能否匹配运行时刻的实时条件来执行规则中对应动作的引擎29。它包括模式匹 配器、执行引擎、工作内存和规则库等功能模块。规则引擎的核心架构如图 3-1 所示。 图 3-1 规则引擎核心架构图 推理机 规则库 工作内存 模式匹配 议程 解释机 知识获取机 用户界面 执行引擎 华北电力大学硕士学位论文 - 15 - 系统中主要组件功能如下: (1)规则库:规则库包含所有的规则,每条规则包含一个条件过滤器和多 个动作。一个条件过滤器可以包含多个过滤条件,条件过滤器是多个布尔表达 式的组合,其组合结果仍然是一个布尔类型的。程序运行时,动作将在条件过 滤值为真的情况下由执行引擎执行。 (2)工作内存:也称事实库,是应用于规则的事实的全局数据库,它的基 本功能是保存规则引擎运行操作的事实数据,也即保存了这些规则的前提和结 论; (3)模式匹配器:根据工作内存中的当前内容,决定选择执行哪条规则以 及何时执行该规则。模式匹配器是基于规则的推理机的关键,它决定了推理机 的推理效率; (4)议程:由推理机创建的一个规则优先级表。当推理机计算出哪些规则 可以被触发后,还需要决定首先触发哪一条规则。由于触发规则将影响工作内 存中的内容,因此规则执行的优先顺序是很重要的,不同的执行顺序可能会导 致不同的结果。推理机使用冲突消解策略来为可触发的规则进行排序,然后将 这些规则保存在议程中。 (5)执行引擎:存放匹配成功的规则实例,负责执行议程中规则的动作部 分,并将执行结果传回给应用程序; (6)解释机:把系统的推理结果以用户容易理解的方式解释给用户,实现 系统的输出; (7)知识获取机:为用户建立的一个规则输入方法,以直观易懂的方式帮 助用户按照自己的意愿建立规则。 规则引擎的工作步骤说明如下: (a)将初始业务数据载入工作内存中; (b) 通过模式匹配器将规则库中的规则与工作内存中的事实数据进行模式 匹配,选出匹配成功的规则; (c)若执行规则存在冲突,即同时激活了多条规则,此时就将冲突的规则 放入冲突集合; (d)解决规则冲突,将激活的规则放入议程中,议程参考冲突消解策略来 管理当前所有匹配成功的规则,并安排其执行顺序; (e)执行引擎执行议程中的规则; (f)重复步骤(b)至(e) ,直到执行完议程中的所有规则。 华北电力大学硕士学位论文 - 16 - 3.1.3 abap 规则引擎 sap 二次开发语言 abap/4(advanced business application programming, 高级商业应用编程语言,从第四代开始简称为 abap 语言)起源于 20 世纪 80 年代, 并在 sap 的每个版本系统中不断得以完善。 本系统的开发语言即采用 sap 开发平台专用的 abap 语言。 abap 语言是 sap 公司为从事 sap 软件二次开发的人员推出的一种专门的 开发语言30。 sap 软件内核是由 abap 语言开发完成的, 用户通过 sap 内部的 开发平台,运用 abap 语言进行系统的开发,使得 sap 系统可以根据客户的需 求来自行订制开发,大大扩展了 sap 软件在 erp 中的应用范围。sap 最初开 发 abap 语言仅仅是为内部使用,为 sap 程序员提供优化的工作环境。后来经 过不断的改进和修改,现在,abap 语言已成为 sap 开发所有自己的应用程序 的仅有工具,可以充分满足商业领域的需要。 abap 语言是一种高效易用的开发语言,是第四代支持结构化的语言,它 合并了所有通常的控制结构和模块化概念,用户行为和系统事件控制着整个应 用程序的执行31。abap 语言是基于 c 语言开发而来的,abap 所面向的是针 对数据库方面的操作,因此 abap 语言有它的独立性,具备了数据库操作语言 sql 以及 c 语言的双重结构。abap 开发环境包括开发和设计程序、屏幕、菜 单、功能模块等所需的一切工具,它还包括程序调试、性能和在线分析、测试 所需的实用程序。 abap 规则引擎对系统提交的业务对象进行检索,根据这些对象的当前属 性值和它们间的关系,从加载到引擎的规则集中寻找符合条件的业务规则,创 建这些规则的执行实例。这些实例在规则引擎接到执行指令后,按照定义好的 优先级顺序执行。 业务规则引擎是实现由业务规则驱动系统的关键,设计实现的 abap 规则 引擎的总体架构如图 3-2 所示。 华北电力大学硕士学位论文 - 17 - 图 3-2 abap 规则引擎架构图 业务人员在可视化规则定义平台规则编辑界面上定义业务规则的条件和相 应的动作,由于每个规则包括条件过滤器和多个动作,从而需要经过规则解析 和验证后将业务规则提交并存储在规则库中。当用户端的业务条件触发该条规 则时,业务规则引擎使用该条件进行业务规则匹配,将匹配成功的规则放入规 则引擎的执行队列中。执行引擎从执行队列中取出规则执行。正在执行的规则 可通过规则监视模块进行查看、暂停、中止、取消,可设置规则的执行优先级。 执行结果通过业务规则触发接口返回给企业信息系统服务端。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年医疗设备维修工程师岗位招聘面试参考试题及参考答案
- 场馆体验创新设计-洞察与解读
- 2025年逻辑编程工程师岗位招聘面试参考题库及参考答案
- 2025年保险理财专员岗位招聘面试参考试题及参考答案
- 2025年客服支持经理岗位招聘面试参考试题及参考答案
- 2025年离线营销专家岗位招聘面试参考题库及参考答案
- 2025年产品运营专家岗位招聘面试参考试题及参考答案
- 2025年软件工程项目经理岗位招聘面试参考题库及参考答案
- 2025年电器工程师岗位招聘面试参考试题及参考答案
- 个别化教育计划优化-洞察与解读
- 停车场引资计划书
- 压力机说明书
- 中小学心理健康教育特色学校标准(试行)
- MT-146.1-2011-树脂锚杆-第一部分:锚固剂
- 铝合金门窗工程计算表及单价分析表(自动计算)
- GB/T 5751-2009中国煤炭分类
- GB/T 23465-2009呼吸防护用品实用性能评价
- GB/T 13477.18-2002建筑密封材料试验方法第18部分:剥离粘结性的测定
- 第五章-金融衍生工具市场-货币金融学-蒋先玲课件
- 加拿大育空考察报告 - 副本
- 素描静物中苹果绘画步骤课件
评论
0/150
提交评论