最近想读一本书《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)的架构理解