SAP BTP介绍(4)-集成

文摘   2024-10-21 09:44   上海  

API 业务介绍

当您将业务转变为智能且可持续的企业时,可能会遇到一些挑战。例如,您需要在一个包含基于云或混合系统的多样化环境中整合应用程序和业务流程。同时,如果您的解决方案来自非 SAP 供应商,那么您还需要从 SAP 集成到非 SAP 的流程。

您可以利用 SAP 集成套件来实现 SAP 与 SAP 之间以及非 SAP 与 SAP 之间的流程整合。此外,您的公司还可以通过 SAP 集成套件来商业化和管理 API。

API 简介

API 是“应用程序编程接口”的缩写。它是应用程序/网站与您作为用户之间的中介(通过一段软件来表示)。因此,API 对于不同系统或实例之间交换信息的通信是至关重要的。

您在日常生活中会遇到 API,而自己可能并没有意识到。一个例子就是谷歌搜索:每当您在搜索栏中输入内容时,谷歌的后端服务会在其数据库中查找您的关键词,并将请求的结果列在网站上。

实际上,网站显示的是 API 的结果。一个指示这一点的例子是相应搜索的 URL。

以搜索“SAP”为例,URL 显示为:www.google.com/search?q=sap。

现在我们来分解一下这个 URL:

www.google.com 是服务器地址。

/search 表示您打算使用的功能,或者说是要调用的 API,在这种情况下是谷歌搜索 API。

q(代表查询)告诉系统接下来传递的是一个查询值,即搜索词。

同样的情况也适用于 SAP 的帮助页面(https://help.sap.com)。当您在搜索栏中输入 API 时,出现的 URL 是:https://help.sap.com/docs/search?q=api。

然而,API 调用并不一定非要由计算机发起。语音助手系统也是集成和使用 API 的一个例子。让您的语音助手搜索某样东西实际上是向助手提供了您的查询。该查询随后被作为文本存储,并作为查询参数添加到 API 调用中。之后,助手通过音频声音给出 API 的结果。

因此,无论您使用连接设备做什么,每小时都在不知不觉中使用了多个 API。这就是为什么 API 是一个如此重要的话题,因为它们无处不在,并且让用户和开发者能够专注于需要完成的“什么”,而不是“如何”完成。此外,您是否曾经想过您的 WhatsApp/or wechat 消息是如何发送给接收者的?

正如名称所示,API 只是用于触发特定功能(例如播放音乐)的众多接口类型之一。您可能已经熟悉其他类型的接口,比如 GUI(图形用户界面),我们通过鼠标/触摸屏的帮助来导航应用程序/网站。

API的好处

API需求

如今,API对于IT架构来说是不可或缺的。尽管从前端到后端的访问、接口管理和点对点通信多年来一直是IT架构的重要组成部分,但API已经彻底改变了应用程序和网站之间的通信方式。

因此,API为构建和管理IT环境带来了许多好处。最重要的几点,也是公司需要在其IT架构中实施API的关键原因,可以总结如下:

API 的核心在于将通信与任务本身分离开来。因此,如果某服务通过 API 进行通信,那么 API 的用户(或消费者)完全专注于 API 所提供的功能。用户只使用 API 的功能,而不必考虑任务本身的执行细节。用户的关注点仅基于请求和响应结果,除此之外别无其他。

API 的结构

API 类型

在定义和实现 API 时,有多种全球标准可供使用。下面列出了其中的一些(不过,最常用的还是 REST APIs):

  1. REST (Representational State Transfer)

REST 是一种架构风格,它利用 HTTP 协议来实现轻量级、无状态的服务。RESTful API 通常易于理解和使用,并且非常适合于 Web 应用程序。

特点包括:使用标准的 HTTP 方法(如 GET, POST, PUT, DELETE 等),支持无状态操作,以及使用 JSON 或 XML 格式的数据交换。

  1. SOAP (Simple Object Access Protocol)

SOAP 是一种更为传统的协议,它定义了消息传递的标准格式,并且可以跨多种网络协议工作,如 HTTP、SMTP 等。

特点包括:严格定义的消息格式(通常是 XML),提供安全性和事务管理的能力,以及更正式的错误处理机制。

  1. GraphQL

GraphQL 是由 Facebook 开发的一种查询语言,它允许客户端精确地指定所需数据,从而减少不必要的数据传输。

特点包括:客户端能够明确地请求它需要的数据,服务器端返回的数据结构与请求相匹配,从而提高效率并减少带宽使用。

  1. gRPC (Google Remote Procedure Call)

gRPC 是谷歌开源的一个高性能、通用的远程过程调用(RPC)框架。

特点包括:使用 Protocol Buffers 作为接口定义语言(IDL),支持双向流式传输,适用于微服务架构。

  1. WebSocket

WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议。

特点包括:实现实时通信,适合于需要持续交互的应用场景,如在线游戏、即时通讯等。

这些不同的 API 类型各有优势,选择哪种类型取决于具体的业务需求、性能要求和技术栈等因素。

例如,REST 因其简单性和广泛的支持而非常流行;SOAP 则在企业环境中较为常见,因为它提供了更强大的安全性和事务支持;GraphQL 则特别适合那些需要灵活高效获取数据的应用程序。

随着 REST APIs 成为最受欢迎的 API 类型,我们将进一步简要探讨 REST APIs 的功能。在使用 API 时,通常会提到“资源”。这意味着您通常想要执行以下操作之一:

创建某些东西(比如在访客簿中添加新的条目)。读取或获取某些东西(回想一下谷歌搜索:在这里您试图获取一个网站列表)。更新或更改某些东西(通常是在您创建了需要修改的内容时,比如更改某个状态或者修正拼写错误)。删除某些东西。这些操作共同被缩写为 CRUD(Create, Read, Update, Delete)。

对于 REST APIs,这些动词与 CRUD 动词非常相似,它们对应于 HTTP 方法如下:

  1. 创建 (Create) - 通常使用 POST 方法来创建一个新的资源。例如,向服务器发送一个新的用户数据以创建新用户账户。

  2. 读取 (Read) - 使用 GET 方法来从服务器获取资源的信息。例如,请求特定用户的详细信息。

  3. 更新 (Update) - 可以使用 PUT 或 PATCH 方法来更新现有资源。PUT 通常用于完全替换资源,而 PATCH 用于部分更新。

  4. 删除 (Delete) - 使用 DELETE 方法来删除服务器上的资源。例如,删除一个用户账户。

这些 HTTP 方法和对应的 CRUD 操作使得 RESTful 服务能够清晰地定义如何与后端的数据和服务进行交互。通过这种方式,REST API 提供了一种标准化的方式来访问和操作 Web 上的资源,从而简化了客户端和服务端之间的通信。


您可能注意到“更新”有两个可能的动词:PUT 和 PATCH。

PATCH 只更改您所指资源的一部分。想象一下您的访客簿条目,您只更正一个单词,并通知访客簿需要替换第 42 个单词。这将是一个 PATCH——局部修复或更改。


PUT 则是更改整个文本,即使大部分内容相同,但错误已经修正(想象成清除整个文本然后重新粘贴所有内容)。


通常,在查看 API 的规范时,这些动词会像下面这样展示(从 SAP BTP 集成套件的一个示例部署中提取)。一个 API 不一定支持所有的动词。


在 API 规范中,HTTP 方法(动词)通常会以如下方式显示:

示例 API 规范
### 资源路径: /guestbook/entries/{entryId}
1. GET /guestbook/entries/{entryId}
描述: 获取指定 ID 的访客簿条目。
请求参数: entryId (路径参数)
响应: 访客簿条目的详细信息
2. POST /guestbook/entries
描述: 创建一个新的访客簿条目。
请求体: 新条目的数据
响应: 创建成功后的条目详情
3. PUT /guestbook/entries/{entryId}
描述: 完全替换指定 ID 的访客簿条目。
请求参数: entryId (路径参数)
请求体: 新的完整条目数据
响应: 更新后的条目详情
3. PATCH /guestbook/entries/{entryId}
描述: 部分更新指定 ID 的访客簿条目。



注意事项

不是所有的 API 都支持所有的 HTTP 方法。具体支持的方法会在 API 文档中明确列出。

使用 PUT 和 PATCH 时,应根据实际需求选择合适的方法。如果只需要修改部分字段,则使用 PATCH;如果需要完全替换整个资源,则使用 PUT。

通过这种方式,API 规范清晰地定义了如何与后端资源进行交互,确保了客户端和服务端之间的通信一致性和可预测性。

SAP Business Accelerator Hub

SAP Business Accelerator Hub 为您提供了一系列针对多个 SAP 产品的沙箱 API,

如 SAP S/4HANA、SAP BTP、SAP SuccessFactors、SAP Concur 等。

您可以使用这些沙箱 API 来创建扩展、应用程序或集成,并通过沙箱 API 提供的测试数据来测试这些内容。您所需要的就是一个 API 密钥来验证您的请求。

您可以通过 SAP ID 账户登录 SAP Business Accelerator Hub 并在特定的 API 页面上选择“显示 API 密钥”来获取您的 API 密钥。

您可以在这里访问 SAP Business Accelerator Hub: https://api.sap.com/

API Reference in the SAP Business Accelerator Hub

您可以在 SAP Business Accelerator Hub 中浏览来自多个 SAP 产品的多种沙箱 API,例如 SAP S/4HANA 中的业务伙伴 API。您可以获得 API 的参考文档和模式定义。您甚至可以直接尝试使用这些 API。SAP Business Accelerator Hub 是开发者和集成者发现、探索和消费 API 的理想场所。

SAP Integration Suite

为了实现智能、可持续企业的完全连接的 IT 环境,您需要整合软件解决方案。借助 SAP 集成套件,您可以获得一个集成平台即服务(iPaaS),它允许您无缝集成本地和基于云的应用程序及流程,并使用由 SAP 管理的工具和预构建内容。

现代化集成并为您的集成策略提供未来保障:

1.通过内置工具中的 AI 驱动开发和推荐减少复杂性。

2.通过由 SAP 管理的云原生环境,以信任和安全的方式进行部署。

3.使用流行的电子数据交换(EDI)库和确认框架实现 AI 辅助的业务到业务(B2B)集成。

大规模实现无缝业务流程:

  1. 通过 API 主导的集成灵活地组合和创新流程。

  2. 通过实时处理更快地响应客户、员工和合作伙伴。

  3. 跨多样化的应用程序环境和生态系统集成应用程序。

加速业务流程的连接性:

  1. 通过内置指导采取系统方法解决常见的集成挑战。

  2. 支持 DevOps 并简化集成工件的生命周期管理。

  3. 通过数千个预构建的集成和连接器简化任何对任何、SAP、第三方和电子政务集成。

您可以在这里找到 SAP 集成套件的最新描述和定位。

https://www.sap.com/products/integration-suite.html

您可以在这里阅读解决方案简介。

https://www.sap.com/products/technology-platform/integration-suite.html?pdf-asset=60fd26c5-e37c-0010-82c7-eda71af511fa&page=1

SAP BTP 集成套件


SAP集成套件包括一系列专为简化混合、大型和异构环境的企业集成而设计的工具。

SAP BTP上的SAP集成套件服务包含四个核心功能:

1.云集成 (Cloud Integration)

提供直观的Web界面,支持A2A(应用程序到应用程序)和B2B/B2G(企业对企业/企业对政府)场景的内置模板,适用于SAP和非SAP应用。

云技术,具有强大的安全性和基础设施可用性。

预打包的集成内容,可快速启动集成项目,并且可以选择扩展以包含自定义需求。

能够与广泛生态系统中的业务网络进行集成。

2.API管理 (API Management)

基于开放标准(如Open API规范和OData)设计您的API。

通过暴露和组合来自应用程序或中间件的后端接口来开发您的API。

使用40多种内置策略保护您的API免受安全威胁,管理流量,并在边缘缓存数据。

监控和分析您的API使用情况、性能和错误处理。

通过API与应用程序开发者互动,并将您的数字资产货币化。

3. 开放连接器 (Open Connectors)

开箱即用的170多个非SAP应用程序的连接器。

选择所需的连接器并通过提供商进行认证。

构建自己的连接器,具有标准化的功能,包括认证、分页、错误处理和搜索。

4. 集成顾问 (Integration Advisor)

基于机器学习方法的提案服务。

众包学习。

自动生成文档和运行时工件。

社区协作,用于创建和维护定制的集成接口和映射。

SAP集成套件是SAP管理的多云服务,提供跨多个环境运行相同集成工件的灵活性。此外,通过人工智能的力量,集成过程进一步简化。


附录:SAP BTP介绍系列

SAP BTP介绍-Overview(1)

SAP BTP介绍(2)-Architecture

SAP BTP介绍(3)-应用程序开发及自动化

技术驱动企业未来
技术驱动社会发展、更驱动企业未来
 最新文章