物联网展深圳站

资讯 方案 案例 企业库 产品库

RFID应用系统与ERP系统间的业务集成

  引言

    RFID是一种非接触式的自动识别技术,通过射频信号将现实里的实体对象转化为信息环境下的识别对象[ 1, 2 ] 。其不仅将条形码技术与磁条技术的优点集于一身,而且具有读写距离远、同步识别多标签、存储数据量大等技术优势。

    如今,针对中小企业的数据采集业务需求,独立的RFID应用系统应运而生,然而这些系统都主要着眼于操控RFID读写器和进行数据过滤,功能单一,很难适用于规模较大的企业。但是由于RFID技术能帮助企业对实时信息作出快速响应,有利于优化企业业务流程,因此将其与现有的业务系统进行集成,对业务过程中不断变化的信息数据进行实时监控和分析,成为了业界的一种迫切需求。

    从现有的业务系统来看, ERP是目前广泛应用的、整合实时信息的企业资源管理系统[ 3 ]。然而如今的ERP系统大多结构庞大复杂,将RFID技术完全融入到成熟的ERP系统内部意味着需要大量的系统重构,集成成本、维护费用和时间代价大。如果系统间耦合度太高,不利于RFID硬件设备和业务应用应对企业需求的快速变更。此外针对各类RFID 应用流程和接口定义国际上没有统一的标准,因此RFID应用系统难以应对与不同ERP系统进行业务数据交换的需求。

    为了解决上述企业应用系统与RFID硬件接口的数据通透性问题, RFID中间件应运而生并扮演着神经中枢[ 4 ]的角色。目前RFID中间件市场得到了各大软件巨头的关注和认可, IBM、Microsoft、Oracle、Sun、SAP、BEA 和Sybase等相继推出了RFID中间件或解决方案[ 5 ]。然而其设计都依托于各自研发的核心产品或技术,有较大的依赖性和较小的扩展性。更为重要的是,这些中间件停留在RFID数据过滤集成的层面,不提供实现更高层集成的功能,忽略了业务实时处理问题。

    针对RFID技术应用与ERP系统集成问题,本文设计了一种RFID应用系统与ERP系统间业务集成中间件的整体框架,以业务单据作为数据传输的载体,同时将流程规则管理模块融入中间件,从而实现RFID业务与ERP系统相分离,彼此之间仅以XML单据形式进行异步数据传输,并可以通过规范系统配置灵活应对不同ERP系统的需求,将数据集成提升到业务集成的层面。本文提出的方案以用友U870系统库存管理模块为例进行了技术实现,实现了实时物流和单据信息流的集成。

    1 相关工作

    1. 1 RFID应用系统

    一个完整的RFID应用系统是由RFID标签、读写器及应用软件系统组成。鉴于RFID硬件设备、采集标准和数据格式的多样性,以及实际工作场景的差异性需求, RFID应用系统的发展已从为特定需求设计、与读写器紧密耦合绑定的时代,过渡到通过系统配置等方法解决RFID基础设备管理问题、实现实时监控、进而屏蔽RFID设备多样性和复杂性的发展阶段。目前RFID应用系统将重心放在多读写器的综合管理及同步采集数据的处理上,主要应用于库存自动化管理、物品资产跟踪、生产流动控制、移动车辆自动识别等领域。针对这些领域需求, RFID应用系统更多的作为独立系统被开发和使用,关注于单品级物品的管理和跟踪追溯,而忽略了现有企业信息管理系统的完备性和广泛应用性,不能满足ERP系统基于业务单据进行物料批量管理的模式。

    1. 2 RFID中间件研究现状

    RFID中间件作为RFID硬件设备与企业应用系统(主要为ERP系统)沟通的桥梁,负责RFID基础设备管理监控、标签数据采集过滤整合和提供信息服务。目前提供RFID中间件的厂商众多,但都不过是其现有软件产品或技术的延伸,能与其自身产品线快速集成,却不易与其他厂商的软件产品进行整合。此外,现有RFID中间件的目标是屏蔽对底层设备多样化接口及驱动程序的管理,解决数据的过滤和收集问题,将整合后的语义事件上传给企业应用系统,没有从根本上达到减少网络传输的设想,并依旧将基于RFID数据的业务逻辑处理等部分留给上层的ERP系统,迫使ERP系统为RFID业务数据及处理流程定义接口和重构模块。

    1. 3 用友ERP系统与RFID系统的集成分析

    U870是用友软件股份公司ERP2U8企业应用套件,是实现精细管理的一款具有普遍适应性的完整全面的ERP软件。本文将以U870中的重要功能模块库存管理为例,在原有的入库和出库业务流程基础上,用RFID技术替代人工核查出入库产品操作,并在后台生成所需单据,从而避免事后录单等人工操作带来的不准确性及滞后性,提高了仓库管理的处理效率、处理精度以及实时性。

    目前国内外ERP系统并没有预留RFID数据输入的接口,也没有直接处理RFID标签信息的能力。因此对用友ERP系统与RFID应用系统的集成提出了两个亟待解决的问题:一方面,为了减少对现有ERP系统的影响以及降低集成工作量,需要采用标准的数据格式和通信协议完成RFID应用系统与ERP系统间的业务集成和数据交换;另一方面,定义业务处理规则,在RFID中间件层面上处理基于RFID数据的入库和出库等逻辑操作,使用单据驱动的模式作为RFID中间件与上层ERP系统数据交换的载体,成功执行的反馈结果是最终生成的相应单据,失败则进行预警报告。

    2 RFID应用系统与ERP系统业务集成方案

    2. 1 方案概述

    本文提出的集成方案以传统业务单据作为流程驱动因子,将XML作为数据交换的标准输入输出格式,通过系统配置动态监控读写器,采用人工干预的被动开启模式采集标签信息,按照业务规则定义校对实物流与信息流的一致性,并最终自动生成ERP系统需要的业务单据。整体方案通过研究RFID技术与企业信息管理系统集成模型和协作机制,旨在实现RFID应用系统与ERP系统间的松散耦合。

    本方案主要包括一个以各种单据作为流程输入输出的RFID业务中间件,贯穿于ERP工作流程的库存管理等环节,起到RFID系统与ERP系统之间的信息沟通作用。该中间件负责接收来自ERP系统的各项XML 格式的业务单据(譬如物料发货通知单、入库通知单、领料单等) ,通过映射配置将单据解析为可被中间件识别的单据对象,并将抽取后的信息存储到单据表单中。该新增单据对象会触发业务中间件创建新业务实例,结合单据类型以及系统配置参数,进行信息分析和业务决策,将新创建的业务流程加入到待处理事件优先级队列中,等待相关人员进一步操作,控制启动指定读写器来读取资源信息,并校验实物信息是否与单据信息相匹配。此外, RFID中间件还提供错误预警机制,以及自动生成ERP系统所需的出库单、入库单等各种业务单据,并最终以XML的形式传递给ERP系统,从而实现实时物流信息与信息流的数据交换和数据一致。

    2. 2 系统架构

    图1充分展示了RFID中间件的功能模块,从层次结构来看,整个中间件分为RFID硬件接入层、数据层、服务层。此外,RFID业务中间件需要与企业信息管理系统(本文仅涉及ERP系统,现有接口可适用于SCM、WMS系统)进行紧密的业务集成和数据集成。

  硬件接入层负责RFID业务中间件对底层硬件设备的协调控制,简化对底层设备应用的支持。数据层包括EPC2IS数据库、业务数据库和单据数据库,其中EPC2IS提供EPC事件的捕获、保存、查询功能,为打通供应链上下游信息共享与事件查询做铺垫;业务数据库负责配置定义、事件信息等业务数据的存储;单据数据库提供对单据存储支持。服务层主要提供RFID数据、事件和关联业务的处理。

    本文的解决方案设计了一种RFID应用系统与ERP系统间基于业务单据的集成框架,如图2所示。其中RFID业务中间件具备将RFID硬件设备采集的数据转化为ERP系统可直接处理的业务单据的完备功能。从处理对象不同的角度,可划分为RFID硬件设备监控、RFID标签数据采集处理、业务单据交换解析、业务流程控制和数据库管理五大模块。

    (1) 硬件监控模块负责异构读写器的整合工作。先对多样化的硬件设备进行注册,通过较为完善的配置流程提高系统对设备的监控能力,从而可以根据业务流程需要及配置信息动态绑定相关读写器,通过控制命令监控硬件设备采集数据,及时探测各种异常情况,并根据预定义规则进行异常差错自动处理。考虑到RFID业务中间件采集数据量大,对时间要求严格,为了减轻中间件数据处理负载, RFID硬件设备采用被动的触发模式替代原有的自动采集方式,根据管理器控制命令进行开启或关闭状态的转换。

  (2) 数据处理模块在读写器前端对接收到的大量冗余数据进行预处理,通过数据清理、整合和汇总,对有价值的数据进行事件封装,将通过容错过滤的真实、有效、正确的数据和事件提供给后续操作。

    (3) 单据交换解析模块是此中间件与ERP系统交互的桥梁。模块中的订阅配置功能负责ERP业务单据的订阅以及相关接口的配置操作,从而屏蔽异构单据的复杂性;单据解析功能实现ERP系统中XML格式业务单据与RFID业务中间件单据对象的互相转化,实现不同系统间数据传递。此外,通过该模块的监控机制,在新业务流程成功完成的基础之上,不再需要人工每时每刻处理大量的单据,降低了人工出错的可能性。

    (4) RFID业务流程控制模块是此中间件的核心所在,是将物流信息与单据信息进行汇总的纽带。流程将新增单据作为驱动因子,配置信息作为辅助资料,通过人工干预启动标签数据采集工作,比对单据信息验证实物流数据的正确性。

    (5) 系统数据库负责存储、查询不同状态的单据及系统内部配置状态等信息。
 
  2. 3 业务单据交换解析

    单据交换解析模块是RFID业务中间件与ERP系统直接沟通的平台,根据数据映射关系利用C#语言的反射机制以统一的方式从XML格式的业务单据中抽取单据对象或将完成核查的业务对象持久化到XML文件中。

{$PAGE$}


    由于RFID业务中间件需要与不同的ERP系统进行单据转换,譬如SAP的SBO、用友的U8以及金蝶ERP等,这些ERP系统的同类单据具有不同的文件格式和数据类型;为了避免针对同一业务流程进行不同单据适配器的开发,通过提供简单易用的配置功能从根本上解决以上问题。首先ERP系统向RFID业务中间件进行订阅,配置内容包括:

    1) ERP系统信息 当前ERP系统的UR I地址以及更新单据返回方式,便于RFID业务中间件实时反馈自动生成的单据。
    2) 单据信息 单据类型及其相应的XML Schema文件,用以验证单据正确性及规范单据输出格式。
    3) 映射信息 通过配置单据XML节点到中间件单据对象属性的映射关系,利用C#反射机制将XML 节点数据赋值给对象属性或者将对象属性值写入到XML文件的对应节点,完成业务对象的抽取和写出,从而屏蔽不同ERP系统单据的异构性。配置文件采用XML定义的方式,具有良好的描述能力和扩展性。如下配置样例定义了类属性与单据节点的映射关系:

     <mapp ingConfig >
     < classMapp ing className = ”RFIDExchange. entity. ArrivedGoods”
     ERPType = ”U8”
     rootTag = ”arrivedgoods”
     temp lateFile = ”U8ArrivedGoodsTemp late. xml”>
< classXpath > / /ufinterface / arrivedgoods < / classXpath >
< p ropertyMapp ting >
< p ropertyName >Code < /p ropertyName >
< xpathMode > readAndWrite < /xpathMode >
< p ropertyXpath > header/ code < /p ropertyXpath >
< p ropertyType > firstLevel < /p ropertyType >
< /p ropertyMapp ting >
     < / classMapp ing >
     < /mapp ingConfig >

    在该样例中,节点classMapp ing表示类与单据的映射关系,所有单据遵循统一的析取接口,每一个classMapp ing定义一种ERP系统中一类单据的具体解析;属性className表示RFID业务中间件针对此类单据解析的映射类名; ERPType指明当前进行数据交互的ERP系统类型; rootTag属性与业务单据根节点对应,表明当前业务单据类型; temp lateFile提供从对象生成XML文件的模版; classXpath可以理解为单据的XML 片段与实际业务对象映射的接入点; xpathMode指示XML 业务单据对象化和业务对象XML文件化时的读入和输出模式; p ropertyXpath表示属性对应的XML文档解析路径; p ropertyType表示属性的类型(基本类型、业务对象或L ist泛型) 。

    进行单据解析时,首先根据ERP系统类型及单据根节点rootTag属性,获取配置文件中对应的classMapp ing节点,创建映射实例类;其次根据classXpath在业务单据中找到解析的入口点,获取XML单据解析片断;最后分析一系列p ropertMapp ing节点,通过p ropertyXpath获取查询路径提取数据,由反射机制赋值给实例对象的相应属性,完成文档到对象的转换。将单据对象信息转化为XML文件的操作与上述流程相似,可以使用XMLSchema或者按照配置信息进行映射赋值操作。

    2. 4 业务流程控制

    业务流程控制扮演着RFID业务中间件神经中枢的角色,在新单据的驱动下,通过人工干预开启待处理流程和完成出入库操作,管理经过过滤整合的RFID事件,在获取事件的第一时刻对信息进行验证和决策,最终对符合规则的流程自动生成业务单据作为终止状态,从而具备更强的业务处理能力。

    本节将以库存管理中的入库操作为例进行深入研究。基于入库业务需求,应用RFID技术必将导致传统业务流程发生变化,详细流程如图3所示。在这个范例中,根据供应商提供的发货通知单(ASN) , ERP系统生成入库通知单并传递给RFID业务中间件。在业务单据解析模块完成新单据对象的解析后,业务流程控制根据单据类型创建一个入库信息核对实例,通过查询配置参数获取对标签数据进行采集的读写器信息,随后将该流程加入到待处理事件的优先级队列中,同时发送提示消息至相关管理员处等待人工干预。当货物到达时,管理人员开启入库流程,读写器扫描货品标签作为数据源;完成入库操作后由管理人员停止扫描流程。获取的标签数据经过过滤整合后,需要结合规则内容、入库应收单的物料种类编码以及数量,按照规则设定对入库包装箱进行产品核查和计数统计,校对实物流和信息流的一致性。若发现问题,则以XML 消息形式及时进行错误预警报告;若完全匹配,将数据保存更新到数据库,并按照系统要求生成入库单反馈给ERP系统,同时对入库事件进行语义封装上传到EPC2IS。

  针对错误预警功能,流程控制模块也有预定义的事件处理规则可循。以对物品入库进行安全监控为例,当待处理业务流程被启动时,位于仓库入口处的读写器识别出货品的标签却没有同时获取到该管理员的标签,或者标签数据不符合单据需求亦或货品数量不足等问题,根据业务规则规定, RFID业务中间件应产生报警消息,并将其发送到订阅此消息的ERP应用系统。实现该功能的配置代码如下所示:

  以上配置代码仅支持单一条件的预警定义片段,完整的规则定义支持多种条件的复合和嵌套,每一个conditions可由多个condition组合而成负责一个业务流程的多项条件判断,其中method元素负责实现条件判断与处理方法的绑定。针对一个完整的业务流程而言,流程规则定义涵盖模块逻辑执行顺序、该流程对应的读写器调用、流程约束条件定义与处理服务的绑定等内容配置。

    2. 5 方案应用

    本文提出的集成方案已经成功应用于双沟酒业RFID“防伪防串”项目,依托RFID业务中间件与用友U870系统之间的业务集成,应用于单据驱动的入库、出库以及库存盘点的场景之下。采用C#语言在. NET Framework平台上完成RFID业务中间件的开发。

    目前双沟酒业已经实施用友ERP系统进行企业资源管理,然而U870系统的业务规则及系统逻辑非常复杂,难以在短期内完全应用RFID技术并变更业务流程,并且外部的数据需要经过严格的检验、业务逻辑才能进入系统。采用本文提出的集成方案,在未对ERP系统内部业务逻辑做出变更的前提下,仅通过VB. NET为U870编写接口适配器,调用U870数据交换平台EA I单据获取函数、AP I单据写入函数,完成ERP系统单据的审核和自动导入导出。基于数据交换平台EA I和AP I进行二次开发,大大降低了对ERP系统的影响,有利于在短期内将RFID技术应用到实际业务中,加速业务集成进程。

    3 结论

    本文针对RFID技术应用与ERP系统集成的问题,深入分析了现有RFID中间件的不足,通过对集成模式方法的研究探讨,设计了一种RFID应用系统与ERP系统间业务集成中间件框架。该框架提供了基于XML的预定义配置方式,实现业务单据到单据对象的相互映射、业务流程的规则定义和错误预警设置,具有良好的封装性、松散的耦合性以及规范的标准性。通过使用本文的业务集成框架,可以实现与不同ERP系统采用业务单据进行数据交互;业务中间件独立完成完整业务操作、实现单据审核及自动生成功能,替代对ERP系统进行业务流程变更的需求;通过简单易行的配置方式将两者进行业务集成,可以灵活应对业务需求变更以及ERP系统或者硬件设备的更新。该业务集成中间件已经应用于大型酒厂RFID项目,实现了系统间的松散耦合,简化了项目的开发流程,缩短RFID应用系统的开发周期,减少对现有系统的影响以及集成工作量。成功应用案例不仅验证了所提出框架的正确性,更为今后与SCM、WMS等企业应用系统集成奠定了良好的基础。
相关推荐