内容字号:默认大号超大号

段落设置:段首缩进取消段首缩进

字体设置:切换到微软雅黑切换到宋体

域名备案_数据库乐观锁_企业0元试用

2021-07-16 18:38 出处:欧普曼云计算 人气: 评论(0

1。概述

本博客是关于如何在SAP云平台上扩展SAP S/4HANA的系列博客的第三部分,它将是SAP云平台上SAP S/4HANA API的使用情况。

在上一篇博客中,我们解释了如何找到SAP S/4HANA的API,如何在SAP API Business Hub中搜索OData和SOAP API,以及如何在BAPI浏览器中搜索BAPI。在本文中,我们将重点介绍哪些工具和方法可用于使用这些API,并特别介绍SAP Cloud SDK.

此外,根据SAP S/4HANA Cloud EX(原STE)于2020年5月1日更新的扩展指南(SAP Note 2920697),SAP API Business Hub中发布的API和事件的扩展方式已得到改进成为高度优先事项。

2。应用程序的主要API使用模式

在SAP S/4HANA的扩展开发中使用API的开发模式主要有以下几种

在上面的模式中,每个API对应的关系如下表所示

以上三种模式不是同一行的选项,而是有不同的开发层,所以我们需要根据开发要求和开发技术的选择使用。其中,sapcloudsdk是一个在服务器端应用开发中能够非常高效地调用saps/4hanaapi的工具。在下一章中,我们将详细介绍这个SAP云SDK。SAP Cloud SDK

SAP Cloud SDK由Java/JavaScript(Typescript)库和CI/CD Jenkins管道模板组成,使SAP S/4HANA、SAP Success Factors等的扩展开发更加高效

该库可用于Java或Java的任何项目节点.js, 它还可以与springbootforjava和Express等框架结合使用鸟巢.js的节点.js对于JavaScript。因此,开发人员可以选择他们熟悉的开发语言/框架,然后将sapcloudsdk库应用到与SAP解决方案的链接部分。当然,它也可以与SAP云平台自己的开发框架SAP云应用编程模型(CAP)集成,因此开发人员可以在不了解OData的情况下高效地开发应用程序(在SAP Cloud SDK中调用OData API)

SAP Tutorial Navigator中逐步介绍了许多有关如何使用SAP Cloud SDK的信息。在本章中,我们将重点介绍学习的基础信息和很容易理解,

SAP Cloud SDK的核心是一个虚拟数据模型VDM,我想单凭这个名字是很难想象的,但是VDM是SAP S/4HANA的OData元数据(API设计文档)的一类,比如业务伙伴OData的元数据如下(节选)

以上是项目的一部分,但在调用此API的应用程序端定义这些项将是一个令人望而生畏的想法。另一方面,SAP Cloud SDK将组成业务伙伴API的项(属性和数据类型)提供为如下所示的类(以下是SAP Cloud SDK for JavaScript的API文档)

换句话说,谢谢对于提供的VDM,您可以处理在源代码中使用业务伙伴API所需的大量项(属性和数据类型),而无需定义自己的项。另外,由于可用的方法/属性是在编码时完成编码的,因此通过减少描述错误有助于提高开发效率。如果您不使用sapcloudsdk,您将不得不自己从businesspartnerapi中定义必要的项,因此我认为这一区别非常重要。下面是一个使用sapcloudsdkforjavascript在VS代码中进行编码的例子

VDM的形象是否正在逐渐上升?上述业务伙伴对应的VDM和其他丰富的ODataAPI是作为节点.js在Javascript版本中,您可以通过导入来轻松使用它。

通过使用SAP Cloud SDK,您可以在调用API时轻松实现身份验证/授权。

当然,要调用API,您需要进行身份验证API提供系统。在系统到系统集成的情况下,有许多情况下使用像系统用户那样的固定ID执行身份验证,因此这并不困难。另一方面,对于最终用户使用的应用程序,除了身份验证之外,还需要根据用户的角色考虑数据访问(授权)。此授权取决于分配给saps/4HANA端用户ID的权限。换言之,在并行扩展的情况下,需要访问(SSO)saps/4HANA,并使用与SAP云平台上登录应用程序的用户匹配的用户调用API。我认为很难自己编写代码来构建一个机制,免费云服务器试用,但是作为实现这一点的身份验证功能,通过SAP Cloud Connector进行本地传播的主体和云的SAML承载断言是由SAP Cloud平台提供的。(Destination service集中管理此系统连接)

使用SAP Cloud SDK,您可以链接到此Destination service,只需在源代码中指定Destination name,如下所示(destinationName),身份验证编码完成。无论身份验证类型如何,这是一个非常方便的函数,您只需要在源代码端指定您在目标服务中设置的内容。

*上面是一个简单的示例,使用Business Partner API获取所有数据而不缩小项目范围。

CRUD(创建/读取/更新/删除)过程调用SAP S/4HANA API也很简单。基本形式是使用导入的sapcloudsdk类(本例中为BusinessPartner和BusinessPartnerAddress)中的requestBuilder方法。BusinessPartner类中没有删除过程,所以请使用BusinessPartnerAddress类。

另外,如果您熟悉OData,可以通过检查SAP API Business Hub中的原始OData实体来顺利地检查SAP Cloud SDK的每个VDM模块中使用了哪个类。(OData的实体名与SAP Cloud SDK的类名相似)

如下所示,我们将通过Tutorial Navigator的"使用SAP Cloud SDK的OData虚拟数据模型构建一个地址管理器"来解释CRUD处理的要点(源代码经过了简化,使其更易于理解)

在查询处理中,使用getAll方法。此外,还提供了以下方法,例如SQL query,它是OData的一个特性,可以组合使用。(详细信息请参见本API指南)

选择:指定要获取的项目(相当于OData的$select)top:指定要获取的记录数(相当于$top of OData)filter:指定获取条件(相当于sqlwhere子句或OData$filter)orderBy:指定排序顺序(相当于OData的$orderBy)

方法是以方法链的形式描述它们,并用"."(点)连接起来。

注册过程使用create方法。要注册的数据将作为参数传递给这个create方法。这个参数使用生成器实例化导入的BusinessPartner类的方法

与其他的Update和Delete流程一样,中国云,正常使用OData更新数据时,首先获取CSRF令牌,将令牌添加到HTTP报头后执行更新流程。(CSRF安全措施)另一方面,SAP Cloud SDK会自动执行此处理,因此减少了执行时间

更新过程使用了update方法,但用法与注册过程几乎相同。OData有一个版本标识符(ETag),因此如果数据获取时间和更新时间之间有差异,它将不会用旧数据更新,如果版本不匹配,处理请求将被拒绝。VDM自动处理此版本标识符,大数据视频,但通过添加ignoreVersionIdentifier方法,可以忽略版本比较并强制更新过程。

删除过程使用delete方法。在参数中传递目标条目的ID。在下例的BusinessPartnerAddress的Delete方法中,需要指定businesspartner ID和address ID.

分享给小伙伴们:
本文标签: 域名备案数据库乐观企业试用

相关文章

评论

发表评论愿您的每句评论,都能给大家的生活添色彩,带来共鸣,带来思索,带来快乐。

签名: 验证码: 点击我更换图片

评论列表