云网站服务器_国内数据云存储_移动云数据库服务器主机-搜集站云

企业邮箱_数据库表结构设计_新用户

小七 141 0

我们很高兴地宣布:sapcloudsdkversion3终于发布了!

注意:有关如何迁移的快速教程,请访问我们的分步指南。

注意:如果您的Java项目使用CAP堆栈,请根据相关博客文章提前更改您的项目结构以使用SAP Cloud SDK 3。

注意:有关我们博客文章系列的完整概述,请访问SAP Cloud SDK概述。

简介

随着SAP Cloud SDK For Java新版本的发布,许多软件项目可能面临相同的迁移场景。这个主要的更新在代码风格、目标处理、测试工具等方面带来了许多改进。有些更改需要在API的使用者端进行代码调整。这就是为什么我们强烈建议阅读本文档并在必要时遵循建议的步骤。

因此,在开始盲目解决依赖性问题、缺少类或类型冲突之前,请注意对…

依赖性标识符所做的更改VDM用法

此外,我们建议阅读更新的行为…

弹性和缓存目的地处理VAVR使用存取器处理线程上下文环境变量MockUtil

更改了依赖项标识符和类名

作为我们从SAP S/4HANA Cloud SDK重命名为SAP Cloud SDK的一部分,我们现在还调整了所有模块的组id,物联网城市,使其在默认情况下不再包含s4hana部分,人工智能网络,但仅当该模块实际上是S/4HANA特定的时。工件id现在也是唯一的,因此像Gradle这样的构建工具只需使用工件id就可以轻松导入我们的模块。具体的更改可以在我们的发行说明中找到。

当您将现有应用程序迁移到SAP Cloud SDK版本3时,请手动更新数据库中任何引用的依赖项的Maven groupId和artifactIdpom.xml文件文件。请注意,在多项目设置中,您将发现多个pom.xml文件文件。

当所有文件都需要检查时,我们建议从项目根开始pom.xml文件. 找到dependencyManagemententry并用以下内容替换sdk bom条目:

在迭代其他依赖项时,请检查移动的Maven组ID:

如您所见,通过将库重新标记为SAP Cloud sdk,我们能够将S/4HANA相关类提取到其专用工件中。在这样做的同时,我们稍微更改了一些artifactId的名称,以使它们无歧义。您可以在发行说明的表格中找到更改名称的完整列表。

SAP Cloud SDK的某些模块已停止使用。它们主要在内部使用,因此应用程序不太可能直接使用它们中的任何一个。

如果您还没有从SAP Cloud SDK原型中生成Maven项目,云服务器器,则不必更改任何内容。只需确保遵循相应的教程,并记住新的原型ID:

com.sap.cloud网站.sdk.原型:scp cf弹簧com.sap.cloud网站.sdk.原型:scp抄本com.sap.cloud网站.sdk.原型:scp-neo-javaee7

为了更好地反映类的实际使用情况,我们还将所有*查询类重命名为*请求,只要它们的主要目的是从另一个系统请求/读取数据。这与SoapQuery特别相关,大数据的发展前景,现在称为soaprequests,但其行为完全相同。

实体用户已被更通用的实体主体替换。它仍然实现相同的功能,但现在更新的名称正确地反映了应用程序上下文中的含义。

使用VDM

SAP Cloud SDK 3提供的OData VDM功能在版本中没有改变。然而,我们引入了一个全新的概念来处理目的地。

简要概述了在版本3之前我们是如何处理目的地的:

目的地总是通过其名称来标识的为了检索目的地的实际信息,我们使用了带有提供名称的DestinationAccessor类层次结构表示不同类型的目的地(HTTP、RFC)

对OData VDM的调用如下:

这种方法的缺点是:

由于OData执行逻辑与DestinationAccessor之间的紧密耦合,因此有必要模拟大量代码以在单元测试中执行调用将不同的类型作为严格的类层次结构的一部分意味着将来添加新类型(或根据使用者的要求)相当复杂,在某些情况下根本不可能实现。

新概念现在通过接口(DestinationProperties、HttpDestinationProperties、RfcDestinationProperties)表示所有目的地,这些接口指定目的地暴露的属性。这些属性在内部由一个不可变的映射来处理,使新的目的地本身不可变。

上面的示例调用现在看起来是这样的

就其本身而言,看起来根本不是一个改进。但请考虑以下示例:

这意味着您不再需要为DestinationAccessor模拟任何目的地,只需通过OData VDM执行调用,例如在测试中。

使用新的目的地概念,我们还删除了ErpConfigContext和隐藏的默认目的地名称ErpQueryEndpoint。这意味着类似这样的调用

将来会这样(如果您想保留默认的目的地名称):

这会使您更清楚OData VDM调用实际加载哪个目的地并因此使用哪个目的地。

版本3之前的ErpConfigContext处理一个应用程序的sap客户端和sap区域设置属性的解析目的地。这现在由DefaultErpHttpDestination通过修饰已经存在的HttpDestination来处理,如上所示。另一种直接检索ErpHttpDestination的方法是由erphttdDestinationUtilsClass提供,如下:

在引擎盖下,它只是包装DestinationAccessor返回的目的地,并将其包装为一个ErpHttpDestination。这基本上是对旧的ErpConfigContext的一种替换。

弹性和缓存