1、如何基于工作流实现OAERP集成如何基于工作流,实现OA-ERP集成2002-10-30 13:15 郭应中、吴科/(AMT)引言ERP系统是对企业能够提供业务数据支持的信息系统,OA系统是实现公文收发、流转、签发、归档等群组化办公作业自动化的信息系统。两者都是为实现单一目标而运行的信息系统。在企业的业务活动中,经常有些业务是贯穿ERP和OA两个系统的。比如采购流程:采购申请生成、采购定单生成、验收单生成是在ERP系统进行;采购单申批、入库准备单流转在OA系统进行。企业中存在对OA和ERP两个系统集成的需求。另外,ERP系统和OA系统实施的难度差别造成一个时期内系统覆盖范围不同,将两个系统集成
2、,ERP的实施效果可以事半功倍。将两个系统集成,涉及到组织、角色、任务和过程的定义和管理。通过工作流系统进行集成,不但可以把两个系统中的多个模型统一,还可以使企业专注于应用业务,更方便地进行企业流程重组(BPR)。对ERP和OA两个系统的集成,主要的工作有集成方案的确定、系统集成功能范围的确定、工作流系统的创建或改造、组织模型的统一等。集成方案的确定实现OA和ERP系统的集成,通常的实现方案有以下三种:1、更换原有的ERP系统,选择能够同时提供OA和ERP解决方案的供应商。同时提供OA和ERP解决方案的供应商,其产品在设计阶段就考虑到了两个系统的集成。但是目前这样的方案往往是供应商出于市场份额
3、的考虑而提供的,由于开发规模、成本和周期的限制,所提供的ERPOA一体化方案的功能往往比较简单,不能满足企业个性化的需求。而且,ERP系统在企业内运行一段时间后,更换新的系统,会面临新旧系统间数据移植的巨大工作量、用户不愿意舍弃熟悉的界面和高昂的费用等困难。所以这个方案只能被未实施ERP系统企业中的少部分企业使用;2、使用ERP供应商的合作伙伴提供的集成方案。例如Lotus Notes为SAP、Oracle、JDE等公司的ERP产品都提供了集成化的解决方案。其方法是:在OA Server和ERP Server之间通过数据库连接工具DECS连接。在ERP 系统的DB 建立大量视图供OA访问,在O
4、A Server上建立关系型数据库,存储定期从ERP系统中按照字段映射过来的静态数据,作为OA系统组织和资源定义的依据。OA系统中的表单鉴审后可以通过ERP系统的Interface table写入ERP系统。这种方案可以两个系统的高度集成,但是存在以下问题:(1)不是所有的ERP系统都有相应的集成方案提供。Lotus Notes仅对大型而且著名的ERP产品提供了这样的集成方案;(2)这个方案的实现和维护费用非常高。如果在新增流程,需要在ERP系统中新增视图,在OA系统中新增表单。对于大型的ERP系统,其数据库中的table有近万个,加上在OA中创建表单,都是企业IT人员无法独立完成的,仍需要方
5、案提供者的服务。即使是方案的提供者,在使用这种工具完成两个应用系统结合时,也必须同时对两个系统了如指掌。然而,不论在国内和国外,同时能够深层次了解两个系统的技术人员极为紧缺,加上高昂的购买费用,企业很难接受;(3)ERP实施模块增加,特别是ERP系统的升级,都会造成集成化系统的瘫痪,限制了企业的业务发展。因此,此方案的应用仍然比较少。3、通过工作流系统,实现工作流程在两个平台上切换。在工作流系统的管理下,用户通过远程登录工具和模拟键盘录入,实现OA平台和ERP平台之间的简单切换。系统架构图如下:图1集成后的系统架构 对应上图的每个步骤说明如下:1. 用户登录OA系统后,Workflow Ser
6、ver根据OA系统中人员配置管理功能确认其身份,此用户同时得到了相应的权限;2. 身份确认后,Workflow Server再根据此用户在其权限内申请的工作流程提供工作流表单,并在表单上显示用户对应的组织结构的层次度;3. 用户在工作流表单上填写本流程执行需要的数据,这些数据可能是请假天数、请假原因等不涉及ERP系统的数据,也可能是访问ERP系统的参数。如果在流程执行时仅仅需要在ERP系统中执行查询,工作流表单的填写要在访问ERP系统后进行。4. 当工作流程执行到ERP系统上的作业时,工作流系统自动引导用户进入ERP系统。通过OA系统本身的Script语言结合Terminal simulato
7、r script语言编写的访问ERP系统的任务项,根据执行的流程类型、顺序、工作流表单参数,用户可以直接进入ERP系统相应的功能模块。5. 用户操作ERP系统。可以根据权限执行不同的操作。以采购申请为例,用户可以填写需要采购的物料编号、采购数量、价格范围、供应商等,存储后保存在ERP DB中;6. ERP DB保存后,通过ERP系统界面向用户提示保存成功;7. ERP系统将保存成功的单据编号和单据状态等信息传送到工作流系统。根据需要,用户可以把ERP系统生成的表单导出为Excel文件保存在本地;8. 当工作流系统收到ERP系统传来的信息后,进行格式检查,确认无误后继续执行;9. 用户在屏幕上审
8、查工作流系统执行情况是否正确,确认无误后,将工作流表单传送到Workflow Server,保存在本地的Excel文件也可以作为附件提交;10. Workflow Server收到用户传来的工作流表单,并据此将工作流表单和附件传送到下一个执行者。同前面两种方案比较,这种方案的适应性非常强,开发量、开放难度和费用都比较低。因此为本文采用。系统集成功能范围的确定如果把企业内所有的流程都通过工作流系统在OA和ERP系统中实现,不仅没有必要,而且有些流程是不适合在信息系统中实现的。因此,需要对系统集成的功能范围进行确定。企业内部流程是由一个个动作组成的,根据动作发生的频率和流程特点,可以分为以下三个类
9、别:A类:发生频率高而且执行简单。如各种申请的上呈、核签、否决、查询;B类:发生频率一般,执行方法复杂而且经常发生变化。如会签,往往人数不定,层次不定,后续动作不定;C;类:发生频率特别低,或者其所在流程不具备管理意义。如卫生值日流程中的所有动作;为使集成工作简单而有效,系统集成的功能应集中在由A类动作组成流程的范围内。在集成工作前阶段,工作流系统中计划实现的流程中,需要OA和ERP两个系统共同完成的流程有:1物料信息维护。当物料新增或停用时,经过层层签字,在ERP系统中做相应处理;2采购流程。采购申请、审核、采购申请汇总、分单验收、入库流程;3付款流程。付款申请、发票校验、审核、通知付款、付
10、款登记;4报销流程。单据填写、网上审核、票据检查、登记入帐;工作流系统的改造或重构按照工作流管理联盟的定义,工作流是一类能够完全或部分自动执行的经营过程,将文档、信息和任务在不同的执行者之间传递、执行。 传统的工作流系统中,每一个业务流程都要根据企业内的业务流程完整构建出来的。这样每一个业务流程都有大量的代码来实现,流程的创建和维护工作量很大。仔细分析企业内的众多业务流程中,相当部分的流程是有共同部分的,每个流程中都有功能重复的代码。动态工作流把完整的工作流分解为若干个活动(Task)(对象),使工作流建模工作得以简化,可以实现更复杂的工作流系统。活动是动态工作流的一个重要概念:工作流是一组有
11、关联关系的活动的集合。一个活动与其它活动之间有顺序,分支,循环,调用的关系,还有并行、有同步的关系。按照动态工作流的概念,一个完整的工作流程被分解为若干个活动(Task)和活动间的逻辑控制器。每个活动不和其它活动作任何直接交互,交互完全在逻辑控制器间进行。如图2所示:图2动态工作流系统结构每个活动都有进入条件,工作条件,中断条件,完成条件,暂停条件及继续条件。执行时,判断每个工作项是否可以进入,可以则进行进入处理,然后,判断需要是否中断或暂停。活动的结构图如图3:图3活动的内部结构图3中,一个活动有不同的状态集、输入集、输出集。状态集包括等待、执行和完成。输入集和输出集分别由若干个输入和输出组
12、成。输入来源可以是本活动的输出,也可以是其它活动的输入或输出或状态。当输入集中某项输入状态发生改变时,将触发工作项的状态发生改变。达到完成状态时,将产生输出集。输入不同,触发的执行过程和产生的输出集不同。当多个输入集同时被激活时,按优先级执行。工作流系统的动作和逻辑控制器采用Java Bean和关系型数据库实现,可以设计为可视的图形元件,也可以设计为不可视的逻辑处理元件。这样做的好处是把工作流系统的各个活动做成代码行数小、功能明确的黑盒子,实现动态的工作流系统,并在多环境下运行。OA系统和ERP系统都可能自带工作流功能。但ERP系统的工作流功能缺乏开放性和适应性,并且ERP系统开发商不允许对其
13、进行修改,因此其工作流功能的存在在集成中实际上是一个障碍。完成系统集成后,ERP的部分功能会由系统管理员设定为只能通过远程登录的方式访问,这是要对ERP系统原有的工作流系统做重新的设置,以免系统运行出错。OA的工作流功能,如果不能实现动态工作流机制,是无法满足集成的需要的。这时要对其工作流功能进行重构。如果已经实现了动态工作流机制,也要增加一些访问ERP系统的功能动作。如果选择其它的工作流系统支持集成工作,虽然理论上可行,但是开发量未必减少,系统复杂度、维护量和费用必然上升,所以本文建议采用对原有的OA系统的工作流功能进行改造,实现企业的工作流系统。 组织模型的统一OA系统和ERP系统都有各自
14、的组织模型。OA的组织模型是服务于企业行政组织层面的,ERP的组织模型则是服务于企业业务层面的。在用工作流系统对两个系统集成时,要对两个系统的组织模型进行统一。在本方案中,就是要对OA系统的组织模型重新定义。ERP系统的组织模型比OA系统要复杂,不同的ERP系统有不同的组织模型。以Oracle Application为例,其组织模型为:账簿集法律实体操作单元库存组织,再往下是更细致的划分,可以做到用户角色所属组织权限的一一对应,权限的设置可以明确到字段。对OA系统的组织模型的重定义,主要是增加OA系统组织结构的层次数量,建立新组织结构数据库,把ERP用户和OA用户都在新的组织结构中反映出来。注
15、意OA系统中的用户名要和ERP系统中的用户名统一,因为在ERP系统中用户名和角色、权限是对应的。但口令不能统一,登录ERP系统时,系统仍然会提示用户输入ERP系统的口令。连接方法本文中,Workflow Server是使用Lotus Notes ServerLinux Red Had ver7.1系统,而在ERP系统上本文所采用的是HP/Unix鼎新Tip-top ERP系统HP9000,Client端则采用一般的Windows环境Lotus Notes客户端软件。两个服务器通过TCP/IP协议连接。在Workflow Server上安装InterSoft公司编制的共享软件NetTerm 4.
16、3.0简体中文版,可以在10个以上的操作系统上运行,对远程主机环境具有良好的设置能力。NetTerm的作用是相应客户端发出的登录ERP Server的要求,所以连接型态选TCP/IP,端口填23,模拟型态和键盘定义都选VT100(上述设置适用于国内多数主机),主机名称和地址填入ERP Server对应的地址和内容。例如当用户需要访问ERP的采购申请功能时,工作流系统中访问ERP系统采购申请功能的活动中包含以下语句(用Terminal simulator script语言编写):expect 10”login:”#username “Enter UserID”#output “UM”expect
17、 10”Password:”#password”Enter Password”#output”PM”output”12345M”/工作流系统提示用户输入口令后生成该行expect 10”/”output”exe apmt420M”output “a”流程执行完这段程序时,就自动打开了ERP系统的相应功能。在用户填写完采购申请单后,ERP系统数据库中的保存操作触发事件为:以XML的格式,把采购申请单编号、创建实际、创建人等信息传送到用户本地,并被用户本地服务响应,填写到工作流表单。用户可以执行修改功能再次访问ERP系统修改采购申请单。在用户确认无误后提交,下一个申批人接到提示申批的电子邮件,点击邮件中的连接,出现反映采购流程执行情况的流程表单。依次类推。应用情况在实际应用上,根据用户需求定义了采购流程、付款流程、报销流程等,并在ERP系统中开放部分数据访问和维护权限给Internet上自己的外地分子公司和上游客户,解决了ERP刚实施完本部,外地分子公司采购流程无法并入集团供应部采购流程的问题,使用户提前实现了集中采购的战略构想。目前,该用户的上游近600家企业中,已经有60家提供大宗原材料的供应商使用这些流程,集中采购和比价采购使该企业在每年10多亿的采购额中节约了大约1.5的采购成本,给企业带来了良好的经济效益。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1