MAXlMO与SAP系统的接口技术研究
- 格式:docx
- 大小:22.64 KB
- 文档页数:6
MAXIMO与SAP系统的接口技术研究
近年来,国内许多资产密集性企业引进并实施了企业资产管理系统(enterprise asset
management,EAM ),对于已经使用了EAM产品进行资产管理的公司而言,很显然,经过一段时间的发展,已经对设备管理形成了自己的管理方式。而随着现代管理的需要,许多企业又同时实施了SAP,两套系统同时存在,功能互不相同,又不能相互替换。于是对于这两种产品的系统之间如何进行数据共享,相互之间如何进行分工协作,从而各自发挥最大价值成为了最大的问题,要解决此问题,就需要在这两个系统之间做接口,本文将就EAM 的典型产品——MAXIMO与SAP系统接口展开研究。
1. 研究背景
ERP是集财务、进销存、制造、人力资源、设备维护和其他业务功能的管理系统于一体的,面向组织甚至跨组织业务过程的集成企业应用软件系统,是采用先进计算机技术来满足企业不同层次管理人员和业务人员需要的集成管理的应用,支持战略计划、市场营销、供应链、制造、财务会计、人力资源等企业经营管理职能。ERP不仅适合于制造业,也适合于服务业。其主要具备4个特点:
1). 集成性。
ERP对企业财务会计系统、人力资源系统、供应链系统、制造系统、市场营销系统、设备系统等方面的信息进行无缝集成于链接。这种无缝集成,要求对ERP系统中的子系统模块或组件之间的接口进行合理设计。例如,通过系统的数据仓库把事务处理子系统中的数据直接应用于决策支持管理系统。
2). 重构性。
ERP的基本要素是对应于企业业务的,所以,ERP中的要素一直可以细分到企业业务流程中的具体活动。企业是一个开放系统,企业组织会随环境的变化而变化,企业的业务流程也会随组织的变化而发生相应的变化。因此ERP系统需要进行重构,ERP系统的支撑应能适应这种变化。
3). 配置性。
ERP不仅可以通过重构适应企业的变化,而且通过参数配置以适应不同的需求。这样,不仅可以适应不同行业的企业的变化,而且可以针对企业的情况进行设置。如根据子公司和母公司之间的财务关系是否独立核算,物流关系是子公司独立管理还是母公司统一配送等情况进行配置。
4). 扩展性。
随着企业自身和计算机技术的发展,ERP也需要进行相应的演变和扩展。ERP必须能满足这一需求,只有这样,企业才能对ERP进行整体规划、分步实施。同时, ERP还可以集成企业中现有的系统,充分利用企业信息系统资源和保护企业投资。
EAM 以设备管理为目标、以工单管理为载体,采用信息相关性技术,将生产管理的主要工作流程与人力、物资、技术、安全、成本等信息关联起来,最大限度提升企业管理水平。由此可见ERP与EAM都是以提升企业管理水平为目标,在具体应用上各有侧重。
云南电力研究院使用EAM 典型应用产品MAXIMO实施生产MIS系统,该系统已实现与研究院生产相关的设备、物料管理、技术报告等模块业务功能。经过多年的发展,系统功能日趋完善。
另外,研究院由于生产过程管理的需要,引入了SAP系统。根据研究院的战略发展需要,将ERP与EAM 两大系统进行了明确定位:通过两大系统的融合协同应用,实现以计划管理为龙头、以财务管理为核心、以资产为对象、以工单为载体,将设备技术信息、安全信息、维修物资、维修人力、维修成本等高度集成化的管理信息平台。
与SAP相比,MAXIMO在工作流的开发,以及其系统的灵活性及扩展性,与耦合度极高的SAP系统形成鲜明对比。
SAP是以财务模块为核心的管理型信息系统,生产MIS则以日常生产管理为主。两个系统各有优势,如何将这两个互补系统的优势都发挥,实现协同效应,就成了一个亟待解决的问题。因此展开了对两个系统平台的接口研究,本文将深入探讨SAP与MAXIMO系统间的接口问题。
2. MAXlMO技术架构与接口技术
2.1 MAXIMO总体技术架构
MAXIMO系统底层技术架构为J2EE,其从架构上分为四层,从上到下依次为:表现层、控制层、业务逻辑层、持久层。该平台扩展性强,二次开发成型速度快。在MAXIMO中可以直接在业务逻辑层进行业务数据的处理,处理完的数据可以由接口通过JA、,A虚拟机向外传递,同理,也可以通过调用外部系统提供的接口获取数据。
2.2 MAXIMO接口技术
MAXIMO 系统本身已经为系统之间的集成提供了相关的技术支撑一一IBM Maximo EnterpriseAdapter(MEA),并在此基础上提供了三个应用程序供系统集成使用。该技术使Maximo能够与企业系统快速连接,并以实时或批处理的方式与这些系统共享/交换关键信息。通过将面向服务的技术架构(SOA)应用于集成部署,MEA 使用可扩展的集成库和基于标准的集成框架支持与企业门户、企业系统、企业应用集成(EAI) 集线器或企业服务总线(ESB)快速集成。
除了MEA,在MAXIMO中,开发人员还可自行引入第三方JAR包,白行实现MAXIMO与其它系统的接口。
3. SAP的技术架构与接口技术
3.1 Sap主要的三个层次
SAP总体技术架构SAP系统经过了长期的发展,发展到现在主要由三个层次组成,它们分别是:
1) 展示层:
这是SAP用户和R/3系统交流的接口,用户在这一层对SAP系统进行操作。这层将用户的命令或者操作传送给R/3系统,然后系统进行相应的处理后把数据返还给用户。
2) 应用层:
这层包括一个或者多个应用服务器和一个消息服务器,每一个应用服务器包括一系列服务以便运行应用程序。所有的服务分置在这些应用服务器之中,其实用户需要的只是其中的一个应用服务器,多个服务器之间传递信息以决定用户到底需要的是哪个服务器的服务。
3) 数据库层:
这里就是SAP系统的核心,存放了所有SAP系统的数据。
ABAP语言:是SAP中进行二次开发所用语言,该语言是SAP专用的,多年来SAP一直在发展它,并将它作为与SAP核心进行交互的中间语言。与其它语言相比此语言运行效率高。在SAP中,所有要运行的代码必须转换成ABAP语句,包括SAPNetWeaver上用JA、,A 开发的代码,也要编译成ABAP运行,可JA、,A代码在转换成ABAP后效率会受到很大影响。
3.2 SAP系统接口技术
在SAP中,要实现系统之间集成大致可以有两种方法,分别是PI和使用SAP系统接口开发技术。
PI(Process Integration)技术是SAP系统推出的一个集成中间件模块组件,以前叫xI(ExchangeInfrastructure),此模块专门用来进行SAP各模块问信息流程的集成处理,需要单独付费购买,目前国内还用得不太多,技术人才也不多。因此现目前对SAP系统数据的调用还是使用接口开发技术方式进行调用居多。而调用方式使用RFC、BAPI又是最方便快捷的。
SAP系统接口开发技术大致分为以下几类:
1)WebService,该技术现在异构系统之间使用得比较多。是让人最先想到的接口开发技术。使用该技术的一个特点是,需要提前做好一个服务并发布,好让对方系统去调用。此外,对方系统除了进行调用该服 务之外,还需要对得到的数据进行解析。因此,除非有特定要求,否则,在SAP中使用WEBSERVICE是很不明智的方法。
2)RFC (Remote Function Cal1),远程方法调用,该技术是在SAP中使用最多,此种方式开发量小,实施简单灵活,很快就能满足客户需求。外部系统可以很方便地就从SAP中得到数据信息。
3)BAPI(Business Application ProgrammingInterface)业务应用编程接口,使用面向对象接口技术,逻辑封装了系统的功能目标。BAPI是SAP提供给用户的一些标准函数。比如说创建预留单等,用户只需要给定特定的参数,SAP系统即可根据参数执行特定的业务功能。一般当外部系统与SAP有紧密的业务关联时,调用会比较多些。
4)ALE(Application Link and Enabling)/Idocs(Intermediate Document),ALE是专门为SAP与SAP之间信息交互整合的中间件。IDOCS是中介文本的缩写,是SAP专门提供的整合专用的数据/消息格式。ALE技术通过传输IDOC文件的方式进行数据传输。是分布式交换的基础。
5)IDOC是EDI(电子数据接口)的一种标准。SAP系统与其它商业机构如银行等进行数据交换就用到此技术。
4 应用 4.1 技术设计思路
SAP系统与MAXIMO接口开发方式多种多样,MAXIMO中提供的MEA技术即是一种做接口的方法,该方法虽然集成以后MAXIMO端配置起来比较方便,然而该方法需要额外增加一个中间件服务器,来实现数据的中转和处理。这类方式将增加公司硬件投入,并且在数据配置和维护方面也比较困难。因此,在MAXIMO使用MEA的方式在此次应用中没有被采用。
在MAXIMO中,接口开发除MEA之外,就只能使用在业务逻辑层中调用代码的方式来实现了。在业务逻辑层中调用接口,又可以分为两种方式。
一种方式为调用Web Service,引入系统中使用Web Service所需要使用到的JAR包,从而编写调用Web Service,现在已经有第三方开发的开源WebService代码调用生成工具,只要使用这类工具,就可以自动生成调用的代码。在代码生成之后,将其引人工程中,找到这些调用的代码入口,往里面传人需要的数据,就可以实现对此类Web Service的调用。
需要注意的是,第三方开源工具很多,我们需要根据所用JRE的版本来确定要使用哪一类,一般情况下,实现Web Service方法有两种方式,一种是AXIS,另一种是XFIRE。使用XFIRE工具生成代码,只能在idk1.5以上版本使用。而AXIS方法生成的代码在1.3版本上都可以使用。生产MIS系统使用的是1.4版本,因此,如果使用Web Service,只能使用AXIS生成,然后使用此方法后,还需要对调用到的数据进行解析,另外,使用WebService,还需要调用的对方提供Web Service,这也是需要SAP这一边提供Web Service进行调用的。
另一种调用的方式就是使用SAP提供的RFC或BAPI接口。该接口需要SAP提供RFC/BAPI接口,如果没有现成的,需要程序员自己编写。之后在MAXIMO系统中引入调用RFC/BAPI的JCO接口。再将使用JCO接口需要的DLL文件放到运行MAXIMO的服务器的c:/windows/system32文件目录下,可以在MAX1MO的JA、,A代码中编写调用SAPRFC的代码。
在综合分析了各类接口设计的优点和缺点之后,考虑采用最常用也最简单的方式来实现,即通过在SAP系统中创建远程可以访问的RFC,然后在MAXIMO平台上对SAP系统的RFC进行访问。
4.2 可行性探讨
1)MAXIMO平台可移植性强。MAXIMO是IBM 的一个用于企业资产管理的产品,底层为J2EE架构。在此平台上,开发较为方便,可以很方便地引入外部包及应用。
2)SAP系统对应MAXIMO的接口实现容易。MAXIMO系统是基于J2EE实现的。SAP提供了可供JAVA代码调用的远程RFC技术实现。RFC在SAP系统中是很容易实现的。