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

SAP集成技术(一)历史的更多相关文章

  1. Web开发技术发展历史

    Web开发技术发展历史   来自:天码营 原文:http://www.tianmaying.com/tutorial/web-history Web的诞生 提到Web,不得不提一个词就是"互 ...

  2. SAP 前端技术的演化史简介

    Jerry之前曾经写过一篇微信公众号文章,题目叫<> 关注我的公号"汪子熙"后,在历史菜单"前端开发相关"里即可找到这篇文章: 该文章简单回顾了SA ...

  3. 【转载】Web开发技术发展历史-版本1

    原文在这里. Web开发技术发展历史 Web的诞生 提到Web,不得不提一个词就是“互联网”.Web是World Wide Web的简称,中文译为万维网.“万维网”和我们经常说的“互联网”是两个联系极 ...

  4. 区块链学习笔记:D02 区块链的技术发展历史和趋势

    对于区块链的技术发展历史,其实在我的印象中也就对比特币有所了解,也听过什么火币之类的玩意,但是具体是什么.怎么运作的就不清楚了... 这次的内容首先是讲解了区块链的技术演进,一张图一目了然,虽然里面涉 ...

  5. 【ABAP系列】SAP DOI技术中I_OI_SPREADSHEET接口的使用

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP DOI技术中I_OI_S ...

  6. 3DGIS与BIM集成集成技术及铁路桥梁可视化系统

    3DGIS与BIM的集成技术 3DGIS与BIM的集成技术包括2部分:一是将Revit软件生成的BIM针对3DGIS的快速无损格式转换,这种转换包括几何信息(如形状.位置等信息)和属性信息(如建筑信息 ...

  7. Python神经网络集成技术Guide指南

    Python神经网络集成技术Guide指南 本指南将介绍如何加载一个神经网络集成系统并从Python运行推断. 提示 所有框架的神经网络集成系统运行时接口都是相同的,因此本指南适用于所有受支持框架(包 ...

  8. TorchScript神经网络集成技术

    TorchScript神经网络集成技术 create_torchscript_neuropod 将TorchScript模型打包为neuropod包. create_torchscript_neuro ...

  9. PyTorch神经网络集成技术

    PyTorch神经网络集成技术 create_python_neuropod 将任意python代码打包为一个neurood包. create_python_neuropod( neuropod_pa ...

  10. Keras神经网络集成技术

    Keras神经网络集成技术 create_keras_neuropod 将Keras模型打包为神经网络集成包.目前,上文已经支持TensorFlow后端. create_keras_neuropod( ...

随机推荐

  1. C# URL参数编码

    string s = "lw123abc测试信息!@#¥%--&*()--+"; Console.WriteLine("原数据:\t\t" + s); ...

  2. Oracle 获取月初、月末时间,获取上一月月初、月末时间

    select trunc(sysdate, 'mm'), last_day(trunc(sysdate)), trunc(add_months(trunc(sysdate), -1), 'mm'), ...

  3. KingbaseES V8R6 创建索引create index concurrently被阻塞

    前言 CREATE INDEX CONCURRENTLY(CIC)是DBA们最常用的语句之一,它的好处是不阻塞DML语句. 但在大事务.长事务较多的系统,它可能被阻塞得很久. 本篇就从这个阻塞的案例开 ...

  4. KingbaseES 如何查看表的创建时间

    前言 在oracle数据库中,我们可以查看数据字典dba_objects得到表的创建时间.在Kingbase中如何查看表的创建时间呢?Kingbase数据库中无法通过数据字典查看有关信息,但可以通过其 ...

  5. CSS样式中的各种居中方式

    1.水平居中 将margin-left和margin-right属性设置为auto,从而达到水平居中的效果. 代码: margin:0 auto; 2.文字水平垂直居中 利用line-height设为 ...

  6. #K-D Tree#洛谷 2093 [国家集训队]JZPFAR

    题目 平面上有 \(n\) 个点.现在有 \(m\) 次询问,每次给定一个点 \((px, py)\) 和一个整数 \(k\), 输出 \(n\) 个点中离 \((px, py)\) 的距离第 \(k ...

  7. #线段树#洛谷 2221 [HAOI2012]高速公路

    题目 分析 首先把收费站之间化为点,那这样即是区间加和区间查询, 考虑求的应该是 \[\frac{\sum a[i]*(r-i+1)*(i-l+1)}{C(r-l+2,2)} \] 分子可以拆成 \[ ...

  8. Django Admin:自动选择当前用户

    --转载自:林肯李 该文章写的很好,特转载留待后期备用 背景 在开发 CMS 时,经常需要标记谁创建了记录.Django 为我们提供了一个很好的管理界面.但是当我们只使用默认值时,用户需要自己选择他们 ...

  9. 4天带你上手HarmonyOS ArkUI开发——《HarmonyOS ArkUI入门训练营之健康生活实战》

     <HarmonyOS ArkUI入门训练营之健康饮食应用>是面向入门开发者打造的实战课程系列.特邀华为终端BG高级开发工程师作为本次训练营讲师,以健康饮食为例,开展技术教学及实战案例分享 ...

  10. 脑洞golang embed 的使用场景

    golang 的 embed 的功能真是一个很神奇的功能,它能把静态资源,直接在编译的时候,打包到最终的二进制程序中. 为什么会设计这么一个功能呢?我想和 golang 的崇尚简单的原则有关系吧.它希 ...