SAP集成技术(一)历史
最近想读一本书《SAP Interface Management Guide》,打算边读边记录一些笔记。翻译主要由ChatGPT完成。
本文链接:https://www.cnblogs.com/hhelibeb/p/17838647.html
早期-IDoc/RFC等
SAP的成功归功于R系列产品。当时,SAP R/3是支持公司业务流程的最成功的应用系统。它使用了CS架构,而它的前身(SAP R/2)仍然基于大型机方法。
SAP R/3的主要特点是其组件(称为模块)之间的实时集成。业务交易通过功能组件(如销售和分销(SD)、物料管理(MM)或财务会计(FI))在系统中进行映射。在SD中创建的出口发票生成了一个文档,该文档立即由FI中的其他文档进行映射。由于所有组件都位于一个系统中,操作一个公共数据库,因此确保了整个数据管理的一致性,并且不需要通过跨系统接口进行集成。
由于业务功能的高度复杂性和由于企业全球运营,额外的系统变得越来越必要。例如,一些公司除了中央SAP R/3系统外,每个工厂还操作一个本地SAP R/3系统。在工厂系统中,只有物流组件如MM是相关的,而FI则是在公司总部中心执行的。为了确保可以在财务会计中中心记录业务交易,系统间通过消息接口的方式交换数据,比如IDoc。
另一个集成场景是将人力资源(HR)的管理和流程与会计和物流的流程分离。主要原因是HR相关立法不断变化,这导致频繁的更新和测试。为了独立于会计和物流进程执行这些更新(称为支持包SP)和测试,HR组件被分离。因此需要接口为HR组件和其他组件交换数据,如通过同步接口进行薪资复制,这使用了远程函数调用(RFC)实现。
此外,随着SAP开发了越来越多的额外产品,如SAP BW,SAP CRM, SAP SRM, SAP EWM等, 一些新技术被用来在这些系统和SAP R/3之间交换数据,如队列RFC (qRFC),基于qRFC的BDocs和基于RFC的BAPIs等。
非SAP系统与SAP系统通信的最直接方式是通过SAP的专有RFC协议。为此,SAP提供了被称为动态链接库(DLLs)的运行时库,这些库可以在Windows的非SAP系统中集成,通过所谓的COM层建立通信。这些DLLs到今天仍在使用。稍后,这些库的扩展形式是一个供RFC使用的软件开发工具包(SDK),今天仍被提供为SAP NetWeaver RFC SDK。
几个基本的Connector:
- SAP Connector for Microsoft .NET
- SAP Java Connector
- SAP Business Connector
SAP Business Connector功能最丰富,这个来自WebMethods公司(现在的Software AG)的技术建立了SAP系统和基于互联网的协议(如HTTP)之间的通信。你可以将SAP Business Connector看作是简单的中间件,即一个能够使异构系统通信并支持路由和转换等概念的组件。
除了SAP Business Connector,我们刚刚提到的基于Connector的接口是点对点连接,这些接口现在使用较少,因为与通过中间件实现的接口相比,它们在管理和监控方面有显著的劣势。
2000年代-XI/PI等
在21世纪初,将SAP与非SAP系统集成的需求呈指数级增长,相应的技术平台是SAP NetWeaver。
该平台有4种集成类别:
- 人员集成
- 信息集成
- 过程集成
- 应用平台
每个类别背后都有一个或多个产品支持相应的集成需求,包括:
- 人员集成:公司门户 SAP Enterprise Portal
- 信息集成:商业智能 SAP Business Warehouse (SAP BW)
- 过程集成:集成代理 SAP Exchange Infrastructure(后来的SAP Process Integration)
- 应用平台:J2EE服务器 SAP NetWeaver Application Server for Java (SAP NetWeaver AS JAVA )
今天,SAP NetWeaver的角色不再那么大,技术层变为SAP NetWeaver产品和其他组件的组合。部分原因是由于收购,例如BusinessObjects用于扩展业务智能组合,或者Sybase用于移动性和数据库。另一方面,这是由于SAP的云产品策略,它以SAP Business Technology Platform (SAP BTP)的形式提供了一个全新的技术平台。
2010年代-BTP等
2010年代,SAP转向云,收购了多个云产品(SuccessFactors,Ariba,Concur等),并且发展了SAP BTP这一服务平台(PaaS)。
SAP云解决方案可以分为三类:
- SaaS:如SAP S/4HANA Cloud或SAP
- PaaS:在SAP BTP上的SAP应用程序开发和集成服务
- 私有托管云:SAP HANA Enterprise Cloud
SAP S/4HANA是SAP ERP的进一步发展,以两种变体(版本)提供全面的功能:
- SAP S/4HANA的本地版
- SAP S/4HANA云
SAP S/4HANA云的可扩展性现在由SAP BTP实现,并由名为SAP Cloud SDK的SDK支持。
SAP BTP提供了混合集成平台解决方案,它可以将云架构与现有的本地IT环境连接起来。BTP包含以下等集成相关概念:
- SAP One Domain Model:基于领域驱动设计(DDD)得到的企业级数据模型,用于简化不同SAP应用程序之间的数据交换和转换。
- SAP Master Data Integration:基于SAP One Domain Model,通过与应用程序和中心服务交换消息来实现数据同步。借助SAP Cloud Integration,还可以连接到非SAP应用程序。
- 开放集成:通过SAP Cloud Integration和Open Connectors解决方案,以及通过提供的一系列应用程序编程接口(API)来实现集成项目。
- AI驱动的集成:这种集成指的是通过机器学习方法简化接口开发,例如,在SAP集成套件的Integration Advisor中的映射建议,以及在SAP Cloud Integration中的iFlows建模建议。
在集成方面,SAP BTP包含以下等组件:
- SAP API Management: 提供了中心化规划、开发和管理应用程序接口的能力,用于本地部署API。
- Integration Advisor:提供了一个加速开发集成内容的功能。目前,Integration Advisor包含创建电子数据交换(EDI)映射的功能。在创建新的映射时,会使用所有以前用SAP集成顾问创建的映射的知识,这样许多映射就可以自动生成。然后,你可以将映射导出用于SAP Cloud Integration或SAP Process Orchestration。
- SAP Cloud Integration: 用于本地运行SAP Cloud Integration内容。
- SAP Event Mesh: 用于本地处理事件,例如从一个SAP S/4HANA OP系统发送的事件。
- Open Connectors: 用于本地连接位于同一数据中心的非SAP应用程序。
- SAP API Business Hub:一个API的中心仓库,提供了SAP世界内可用的标准接口的一般介绍。
- SAP Graph:Graph扩展了传统的API管理,能够以语义连接的数据图的形式公开所有业务数据,通过单个统一且强大的API进行访问。
SAP认为,SAP集成技术的未来是SAP BTP。因此,基于SAP NetWeaver的专有技术最迟将在2030年过时,届时相关技术的延长的维护期会结束。这个计划的退役也包括SAP Process Integration或SAP Process Orchestration接口平台。
参考:
SAP API Management – a full overview
SAP RFC介绍:关于sRFC,aRFC,tRFC,qRFC和bgRFC
SAP’s One Domain Model and Domain Driven Design
SAP Business Technology Platform (BTP)的架构理解