SAP XI技术在ERP与MES集成中的应用
扫描二维码
随时随地手机看文章
由德国SAP公司最新开发的XI(Exchange Infrastructure,交换基础设施)技术,为企业提供了良好的系统集成环境。基于xI技术,企业能够实现各个层面的充分集成。作者将以国内首家成功应用SAP XI技术的邯郸钢铁集团公司信息化改造项目为背景,探讨xI接口技术在企业ERP与MES集成中的应用。
1 XI技术
SAP XI是SAP开放式集成平台NetWeaver的核心组件之一,它综合并发展了中间件以及BC(Business Connector)两种接连方式。以下将从功能、结构以及连接方式3个方面介绍xI技术。
1.1 功能
基于xI技术企业能够降低信息系统建设的总体成本,实现如下4个方面的集成。第1层面,将现有管理系统、办公系统、文档系统等集中到企业的信息门户内,实现企业IT系统的单一入口,这个层面,称为“员工的集成”。第2层面,将各种存放在数据库中的管理信息,以及分散在集团内部不同地方的非结构化信息(市场信息、报告等文档信息)集中起来,实现支持经营决策的信息仓库(BI)和知识管理系统,这个层面,称为“信息的集成”[2]。第3层面,在通信上使不同环境下的组件能够交互,在业务过程管理中使客户在动态的IT环境中对新业务进行建模和应用,这个层面称为“流程的集成”。第4层面,提供支持开放标准(如XML)的底层架构,实现企业现有信息系统与收购、合作等带来的各种原有系统间的灵活互接,这个层面称为“平台的集成”。
1.2 总体架构
XI技术的总体架构(见图1)中集成知识库用于业务情景分析和系统设计;集成目录用于xI对象的配置和管理;系统平台目录用于保存和管理为业务情景创建的系统实例;而集成服务器则用于消息类型建立、逻辑路由规则和技术路由规则的确定以及ABAP Proxy调用的选择与设计。
1.3 连接方式
在与其他系统的连接方式上,xI技术采用以XI为中心Hub的星形连接方式,所有要连接的系统只需与xI做一次连接即可,从而避免了中间件以及BC下应用系统与应用系统之间的一对一连接方式造成的多系统互接时系统集成复杂度急上升(需要连接N×(N一1)次)的问题。另外,xI把所有由源系统传来的数据格式转换成XML格式进行处理,判断其目标系统并将数据再由XML转换成为目标系统所需要的格式进行输出,能够有效实现SAP与不同系统的通信集成。
2 XI实施流程
在邯钢SAP R3与MES集成项目中,根据各个业务模块的需求,确定通过xI接口交换的数据信息主要包括以下几类。
(1)从四级R3下传到MES的数据,包括物料主数据、客户主数据、捡配清单、生产订单等。
(2)从MES上传到R3的数据,包括质检判定、生产收货、物料移动类型记账等。
(3)三级之间传输的数据,包括工厂到工厂采购订单,三级之间的物料转储单等。
针对邯钢的业务流程及xI技术特点,该项目的实施流程包括以下几个步骤。
(1)业务情景分析。描述要实施的业务情景及该业务涉及到的后端系统,确定接口策略(新建接口或改造原有接口),设计业务的技术架构、功能架构以及xI架构,并在SLD(System LandscapeDirectory)中创建系统实体模型。
针对邯钢ERP与MES集成项目中各个业务模块的需求,其业务情景可描述为:1)在SAP系统内创建销售订单;2)进行可用性检查;3)生成计划订单;4)转换为生产订单;5)在MES中创建相应数据;6)生产完成后创建相应的收货单。以上情景的数据传输都在xI数据平台上实现,由100多个接口管理数据的接收。
(2)接口分析。确定接口的以下特性及参数:接口的实时性(同步或异步),接口是否需要技术的或者应用层次回应方式的确认(闭环与否),每个接口的导入和导出消息类型,每个消息类型的数据结构,文本文件的格式,数据库的结构,IDoc(Intermediate Document),RFC(Request for Comments),BAPI(Business Application Programming Interface)的结构以及XML的数据结构,为每个消息类型提供数据样本,并在集成知识库里创建消息对象实体。
以生产订单管理流程为例,其接口如图2所示。
(3)映射定义。基于接口分析的结果确定接口的映射规则,选择实现映射的技术(图像工具、JAVA、XSLT)并根据定义的样本规则实施映射。
(4)环境准备。包括测试环境定义和测试环境准备。测试环境定义,包括代理服务器的配置和网络硬件设备连接性的定义;测试环境准备,包括完成系统的安装并在安装后检查xI服务,创建用户,分配用户权限等;如果是为上线做准备,还必须定义上线切换策略,并将切换策略按照开发机一测试机一生产机的顺序执行上传。
(5)系统配置。配置后端系统,保证系统能够产生和接收与样本数据一样的数据,根据步骤(1)~ (4)的结果在集成目录中配置xI对象和xI集成目录。
(6)系统测试。用不同的数据集进行点到点的业务情景测试和上线切换测试。
完成上述步骤并收集各种数据后,进行系统环境配置并完成以下工作:设定集成情景、建立消息类型、确定业务系统、确定逻辑路由规则、确定技术路由规则、进行ABAP Proxy的调用以及JavaServer Proxy的使用。
3 关键问题及解决方案
xI作为新兴技术在国内的应用还是首次,它的成功运行很好地支持了邯钢ERP项目的进行,对国内信息化建设中的数据集成、数据通信有很大的借鉴和推动作用。以下将对系统在实施过程中遇到的多系统通信和数据拥堵问题及其解决方案进行描述。
3.1 多系统通信问题
邯郸钢铁集团信息化项目中包括多个三级系统,其中三级的通信通过DB To DB和Web Servers(如Tomcat)两种方式实现。如何将xI的通信方式与其他的Web Server集成,是系统实施中要解决的一个重要问题。
由于xI本身具有Web Application Server机制,因此在与其他Web Server通信的方式上采用目前通用的SOAP协议,即由Tomcat组织XML数据通过SOAP协议组织数据到xI,具体实施过程如下:
建立XML Schema,连接XML文档事例到XML Schema,SOAP把XML的使用代码转化为请求和响应参数编码模式,并采用HTYP传输[3]。一个SOAP方法可以简单地看作遵循SOAP编码规则的HTYP请求和响应。一个SOAP终端则可以看作一个基于HTYP的URL,用来识别方法调用的目标。和Corba/IIOP一样,SOAP不需要具体的对象被绑定到一个给定的终端,而是由具体实现程序来决定如何把对象终端标识符映射到服务器端的对象。SOAP请求是一个HTYP POST请求,它的类型必须为text/xml,且必须包含一个请求.URI。服务器解释这个请求.URI的方式与该请求的实现方法相关。
3.2 数据拥堵问题
由于xI与三级系统的连接是一对多的关系,由xI系统对应多个系统,而数据下传采用排队机制,因此在数据没有设定优先级的情况下,下传的顺序为先人先出。当下传通信失败时,xI会自动重新调度通信,直到调度达到一定次数(可配置),才认定该通信失败,调度下一接口,该数据保存在数据库中准备手动调度。在正常情况下,xI的队列可并发处理多条数据,但一旦下传数据的任一接收方出现异常,如发生网络中断、数据库死锁等情况,由单点故障重复调度数据就会造成数据队列过长,系统开销大规模增加,进而出现单点故障引起数据拥堵的状况。
针对单点故障引起的数据拥堵问题,项目在实施过程中将XI的数据分发机制与现有设备想结合,建立分布式体系结构,将易发生数据异常的接口配置到分流机,如图3所示。
由于项目中分流系统选用惠普的小型机HP4640,操作系统为HP-ux,数据为为Oracle,而OS/400的数据为为DB2,两种系统的JVM机制有很大的区别。因此,分流系统的数据主要保存在Oracle中,数据调度时直接从Orale中调度,而不从DB2中调度,当某个接收点出现问题时可以把有问题的数据抛给Oracle,等该接收点恢复正常时再手工触发数据下传,这种方式将不会影响其他队列数据正常下传。
3.3 实施效果
邯郸钢铁集团信息化项目的数据通信不但设计复杂,而且数据流量大、业务高峰数据压力大,这些都给硬件以及软件带来很大的考验。XI技术的有效实施,保证了数据的有效传输对异常事件的响应速度也得到了显著提高。目前数据业务量平均保持在同步数据每天10000-15000条,异步数据8000-12000条左右。当前的系统配置在满足业务需要的甚而上优化了系统性能,实现了业务系统的集成与优化。4 结论
XI技术作为SAP ERP产品的最新通信技术模块一经问世,就受到用户的青睐,国外很多SAP用户纷纷采用了XI通信平台连接SAP系统以及非SAP系统,虽然XI技术在国外得到广泛应用 ,但是国内应用还属空白,XI在邯钢信息化改造项目中的成功应用,对企业信息化建设有很好的指导意义。