1. SAP XI概念介绍:
SAP XI交流基础设施(Exchange Infrastructure)应用集成平台作为SAP Netweaver中间件产品的一部分,目的是为non-SAP系统提供一个其他管理信息系统与SAP系统进行数据和流程交互的平台,因为SAP定位于 ERP系统,关注点在企业的人、财、物,但对于企业其他的专业系统,SAP的功能无法覆盖和取代,因此,必须有这么的“接口”来实现相互之间的数据和业务 交换。
SAP XI平台包含两块,第一块称为Integration Broker,以消息的方式进行系统间的数据的交换(包含Adapter引擎和Integration引擎两部分);另一块为BPA(业务处理引擎BP engine),即业务流程自动化,实现外围系统业务流与SAP业务的衔接。这两块是两个层面的功能,即BPA建立在IntegrationBorker 之上的。
整个平台基于J2EE架构实现,物理架构如下
1、 Integration Adapters 集成适配器,符合JCA规范,提供了各种类型的接口(IDOC,SOAP,HTTP,FTP,JMS,JDBC等)用于外围系统与XI连接,XI提供了 PCK工具(Partner Connectivity Kit)与XI基于XML格式进行数据交互,Integration Adapter是双向的,它将各种协议和数据格式转换成XML格式的消息对象,反之亦然。集成服务器自带了几种集成适配器,但大多数集成适配器是附加部 件。
2、Integration Server集成服务器,是XI的核心部分,实现从外围(或内部SAP)应用系统接受消息,利用路由和映射规则处理消息,最终送达接受应用系统(SAP或外围,为双向)。
3、Integration Directory:集成目录用于XI运行(Run-time),它包含了路由规则,活动状态服务,可执行映射规则和特定系统状态等的配置信息。
4、Integration Repository:集成对象库用于进行集成设计(Design-time),如映射,接口,组件。它符合J2EE标准,集成对象库中的信息被集成目录(ID)所使用,这些信息被集成目录中的特定配置信息所利用,并用于XI运行。
5、 System Landscape Directory(SLD),系统全景目录,包含组件库(component repository)、名称空间(naming reservation)和全景目录(landscape directory),组件库包含所有SAP模块的描述,包括版本号,补丁版本,以及全景内当前各组件的依赖关系,全景目录与组件库的区别是全景目录包含 的是当前安装的各类组件的描述。为避免命名冲突,SLD也提供了名称空间服务,使你能够保留部分名称为全局唯一。SLD是XI上的一个服务器应用程序,客 户端通过HTTP协议连上SLD后,可以查看XI平台的各类配置信息。
这是XI平台的另一张物理结构图。
从这张图上,可以看出XI遵循了设计时(design-time)和运行时(run-time)分离的设计思想:
左边包含集成库和集成目录,在集成库(IR)中进行抽象接口定义,流程定义;在集成目录(ID)中进行流程配置,路由规则配置,映射规则设置,IR和ID通过集成工具(Integration Builder)完成上述工作。
右 边IS(Integration Server)包含三个运行时引擎,Adapter Engine(适配器引擎),Integration Engine(集成引擎),Business Process Engine(业务处理引擎),适配器引擎实现了与SAP R/3系统,其他系统的连接,集成引擎实现了消息的路由,映射,和通道转发(到适配器引擎),业务处理引擎负责从ID加载流程配置和规则信息并控制消息的 路由、映射和转发。此外,中央监视器(Central Monitoring)负责收集、监控运行时的信息处理的各类信息。
下边的SLD,作为一个服务器应用程序,客户端可以通过WEB浏览器,获取并配置XI平台的各类信息,包括安装的软件清单(Software catalog),命名空间等。
在www.sdn.sap.com,上有许多XI平台的资料,包括视频版本的学习资料供在线学习。
2. SAP XI/PI 常见英文缩写:
SAP有很多英文的缩写,单独看字母有时间很难说出其含意,SAP XI里也是很多,所以整理一下,整理无顺序。
XI:SAP Exchange infrastructure
PI: SAP NetWeaver Process Integration XI7.1 之后,XI改名为PI
CCMS:Computing Center Management System ,比较专业的监控工具,CPU,内存,OS,message,queue都可以进行监控
CEN: Central Monitoring System (CEN),
PMI:Process Monitoring Infrastructure (PMI ) 用于收集Message监控数据和性能分析数据
RMI :Remote Method Invocation 远程方法调用,用于分布式应用系统
SLD:System Landscape Directory 保存各系统信息,
SWCV:Software Component Version 一个products 可以有多个SWCV,在开发时一般用于定义一个接口,可以是认为是一人项目。
IB:Integration Builder 包含ID,IR
ID: Integration Directory
IR:Integration Repoitory
IS:Intergration Server
RWB:Runtime Workbench 集中监控平台,
BPM:Business Process Management 业务流程管理,用于复杂流程处理,message合并等。
ccBPM:Cross-Component Business Process Management
ALM:Alert Management
JCA: J2EE Connection Architecture
ESA:Enterprise Services Architecture
SDM:Software Deployment manager J2EE部署工具,比如JDBC的 Drivers
GRMG:Generic Request&Message Generator ,是CCMS中心程序,处理后在RZ20中显示监控结果,
SAP Note 634771 GRMG Customizing File for XI CCMS Heartbeat.
EAI:Enterprise Application Integration 企业应用集成
XSLT:Extensible Stylesheet Language Transformation
CTS+:Change and Transport System(CTS+),是一种XI新的迁移处理机制,利用change and transport system(
BC-CTS)功能,为ABAP,JAVA和Integration Builder对象的迁移提供更加紧密的集成。
BAM:Business Activity Monitoring 业务活动监控,它提供对业务绩效指标的实时访问,以改进业务运作的速度和效率,它与BPM的关系是BPM是BAM的实现。
TREX:TREX是SAP开发的高性能的非结构化索引引擎,SAP NOTE 867381
ICM:Internet Communication Manager 网络通迅管理
ICF:Internet Communication Framework 网络通迅架构,ICF可以看成是一个WEB服务,对提供的所有应用服务进行描述和管理,是运行于ABAP端,用于响应web请求的服务.
HA:High Availability 是双机结构,高可用性,当其中一个机器挂了之后马上切换到另一台机器上
PCK:SAP Partner Connectivity Kit SAP 客户开发工具包,可以通过PCK直接与另一个XI系统(可以非本公司)相连。
JPR:Java Proxy Runtime
BE:Base Effort 同步调用
EO:Exactly – once 异步调用
EOIO:Exactly – once – in – order 异步顺序调用
AFW:Adater Framework ,AFW是J2EE应用程序,提供接口的配置,adapter 管理和监控和连接外部系统的信息。AFW 转换message的格式并发给IS。
SDA:software deployment Archive
CAF:Composite Application Framework,由两个组件组成:process layer, UI layer, and service layer
DTR:The Design Time Repository (DTR) is a repository that provides file versioning. All design time objects or sources are stored and versioned centrally. It is used at SAP’s customers’ and partners’ sites as well as in SAP’s own development.
JSPM: Java Support Package Manager ,用于升级support package和patchs,也可以用于三方组件的升级,SDM也可以升级,区别是SDM是单独升级,并可以undeploy. JSPM 是连接SDM进行布属。
SDU:software delivery units
NWDI :NetWeaver Development Infrastructure
CIM:Common Information model 公共信息模型
QOS:Quality of service
ITS- internet transaction server R3 3.1G开始引入ITS,实际上是Web服务请求转换服务,ITS 6.10开始(R3 4.6C对应sap web AS 6.20)为了让ITS支持多种协议,增加一些新的技术,并在内核中扩展了处理这些协议的流程,叫ICM,ITS负责将web服务传输过来的web请求和 ABAP应用进行请求和数据的转换和调用
ESR:Enterprise serivces repository 企业服务仓库
=================================================================================================
3. SAP XI 常用事务代码
IDX2 查看IDOC结构,如果发现XI与SAP发送来的IDOC mate date 转换失败,可以用这个事务代码查看两边的结构是否一样
IDX5 根据日期进行查看发送和接收的IDOC,XML messages in idoc adapter
IDX1 查看IDOC Port (port maintenance in idoc adapter) 在这个里配置 destination (这 个 在 SM59),如果传输 有问题,可以在SM59里做一个连接测试.
IDXP Packaging manger monitor
SM58 RFC 监控
SMQ1 qRFC outbound queue 监控
SMQ2 out inbound queue 监控
SLDHTMLGUI 用WEB方式查看SLD
SXMB_IFR 启动integration builder
SMICM ICM 监控
ALRTCATDEF- Alerts Configuration.
ALRTDISP - Display of Alerts Created
SXMB_IFR -> 启动 Integration Builder
SXMB_MONI -> Integration Engine – Monitoring
SXI_MONITOR -> XI: Message Monitoring
SXI_CACHE -> To Access IS runtime cache
SXI_SUPPORT -> Test all the Repository and Directory Objects
SXI_CACHE -> XI data directory cacheidx1 -> idoc adapter
IDX2 -> idoc metadata
IDX5 -> monitor idoc adapter
ST22 -> ABAP dump analysis
SMQ1 -> messages inbound e outbound queue
SMQ2 -> messages inbound e outbound queue
SMICM -> J2EE administration
ST06 -> Operating System Monitor. cpu memory filesystem machine status – cpu, memory and file system.
ST03 -> workload.
SCC4 -> Client Administration
sale – ale settings
RZ10 – edit system profile
SM59 ->mantain rfc destinations
BD64 -> mantain distribution model (trasformazioni)
AL08 -> list all logged users(user login logon)
SE10 -> Change Request
SE09 -> Change Request
WE05 -> All idocs
WE19 -> IDoc Test Tool
WE21 -> port definition
SE11 -> Data dictionary
se37 -> mantain funcion modules
SICF -> http server configuration
SMGW -> Gateway Monitor
BD13 ->
BD64 -> Maintenance of Distribution Model
PFCG -> Roles
table TSTC -> sap transactions codes
table TSTCT -> transaction descriptions
STMS -> transports management
SPAM -> apply ABAP support packages
SPAU -> manage objects after apply support packages
SE01 -> manage change requests
SLDCHECK -> Test SLD Connection
SLDAPICUST-> SLD API Customizing
SXMB_ADM -> Integration Engine – Administration
SXMB_MONI_BPE -> Process Engine – Monitoring
SE38 -> ABAP Editor
SE11 -> ABAP Dictionary
ST22 -> ABAP dump analysis
SPROXY-> ABAP Proxy Generation
SE80 -> Object Navigator
ABAPDOCU -> ABAP Documentation and Examples
SE24-> Class Builder
SM21-> Online System Log Analysis
SMQ1-> qRFC Monitor (Outbound Queue)
SMQ2-> qRFC Monitor (Inbound Queue)
RZ70-> SLD Administration
SM58-> Asynchronous RFC Error Log
SM59-> RFC Destinations (Display/Maintain)
SMICM-> ICM Monitor
WE60-> Documentation for IDoc types
BD87-> Status Monitor for ALE Messages
IDX1-> Port Maintenance in IDoc Adapter
IDX2-> Meta Data Overview in IDoc Adapter
WE02-> Display IDoc
WE09-> Search for IDocs by Content
WE20-> Partner Profiles
SE16-> Data Browser
SE93-> Maintain Transaction Codes
SM30-> Call View Maintenance
SU01-> User Maintenance
SM02-> System Messages
BD54 -Logical System Creation.
SWF_XI_PBUILDER -> for Detail BPM Process
SMQS – > to register the destination in QOUT scheduler
WEOUTQUEUE – > to start the queue processing
SMQR – > to register the queue
IDXPW – > to activate the IDOC message package
IDXP – > to monitor the message packages.
SWF_XI_CUSTOMIZING -> transaction to check prerequisites for integration processes.
SWF_XI_ADM_BPE-> Start or Stop BPE
SWF_XI_ADM_BPE_DISP-> Display BPE Status
SXMS_IECONF ->Integration Engine 配置
SXMS_QREG ->注册和激活queue
SXI_SHOW_MESSAGE 显示message 信息
=================================================================================================
4. SAP R/3 与其他异构系统集成时是否需要应用 SAP XI
当需要做 SAP R/3 与其他异构系统集成时,面临两个方向的选择,一是采用简单而实用的文本方式(以下简称方案一),系统之间通过约定的公共目录进行数据交换,一般每个接口使 用一个特定的文件;另外是采用 SAP XI (Exchange Infrastructure)作为中间件(以下简称方案二),SAP XI 全力支持 SAP 产品之间或 SAP 产品与其他第三方系统之间的集成。
这两种方式各有优劣,本文从若干角度进行分析。
从统一性角度考虑,方案一的每个接口都采用自己的连接方案,模式各不相同,方案二通过 XI 与 R/3 单点连接,在 XI 上可以统一管理各个系统的外部连接方式。
从操作/维护性角度考虑,方案一的每个接口都有自己的程序进行触发,正式投入使用后,日常维护人员需要对每个接口的状态进行监控,如果有异常还需要进行较 复杂的人工干预来达到数据的一性;在方案二中, XI 通过集中处理,集中维护以及集中监控的手段,对于所有的接口进行监控和控制,通过技术手段和重发保证来完成所有的信息正确的传递到目的系统中,杜绝交易信 息在传递过程中的丢失和重复。
从状态更新角度考虑,方案一通过文本进行数据传递,无法保证数据在传递过程中的丢失,只能通过最终的导入日志查询最终数据进入的状态;在方案二中,XI 如果采用 IDoc 方式与 R/3 集成的话,SAP 的 IDoc 状态更新可以保证数据在出站和入站的时候的各个状态更新,并且通过XI更可以了解到数据在各个状态的情况
从完整性角度考虑,方案一对于文本数据较难判断是否有重复的导入的现象,在程序中需要加入一定的判断以确定数据不会被重复传入;方案二中,SAP的 IDoc Audit 机制可以保证数据被接收系统准确的导入,并通过状态更新来确认数据是否准确的被导入到目的系统。
从出错处理角度考虑,方案一中,一般多个凭证通过文件打包的形式进行数据通讯,需要进行编程对其中一两条出错的文件进行单独处理;方案二中,每一个凭证数据都是一个 IDoc,很容易对不正确的 IDoc 进行再处理
从出错提醒角度考虑,方案一中,无法自动完成出错提醒,只能通过人员手工的去检查报表来发觉接口是否有出错的情况;方案二中,可以通过 XI 的 BPM 和 R3 的工作流来做自动提醒出错处理,支持 Email / FAX / SMS 等多种方式。但在测试中发现,XI 偶尔存在丢失消息的现象,比如 XI 将数据库表的数据读走,并改变表的标识字段表示已读走,但数据进入 XI 后丢失,在 XI 的 Adapter Monitor, Message Monitor 均无任何出错信息。这是一个很严重的问题。
从系统出错的可能性角度考虑,随着系统的增加,出错可能性成指数的增加。方案一中,如果对实时性要求不高,双方系统的当机,并不影响双方数据的一致性;方 案二中,需要考虑 SAP XI 或者各系统如果当机,该如何处理,需要考虑如果确认 XI 有丢失消息的现象,该如何应对这种情况。
此外,对某些系统而言,安全性是一个重要的指标。XI 提供对消息加密传输的处理,这里不多叙。
从实施时间考虑,采用文本文件是最为简单的,可以迅速的构架并投入使用;方案二从单个接口的角度看实施时间比使用文本方式长,但是如果以后接口数量增加,实施速度可以迅速提高
从功能扩展性角度考虑,方案一中,如果有任何外围系统的变化或SAP系统的升级,即导出/导入的文件文件格式有变化,相关接口程序均要调整;方案二中,XI通过图形界面的数据匹配工具,屏蔽了由于某一方数据修改后,对其他方面产生的影响。
从实施费用考虑,使用文本文件对于整体项目在接口的开发费用是最低的,而方案二较之需要额外的软件实施费用加上软件许可费用。但考虑到接口开发的费用以及维护、扩展的费用,也有可能得到相反的结论。
总之,在项目的实施中,需要综合考虑实施的风险和 TCO 这两个因素,来确认是否需要使用 SAP XI 。