香港带宽_国内十大企业邮箱_哪家好

对象存储 虚拟云 浏览

小编:本博客是SAP HANA SPS 09中所有新开发人员功能的大型系列文章的一部分: 关于此主题的其他博客: 在SPS 09中,SAP引入了编程模型的一个主要扩展,即可重用的XSJS库XSDS或XS数据服务。这

香港带宽_国内十大企业邮箱_哪家好

本博客是SAP HANA SPS 09中所有新开发人员功能的大型系列文章的一部分:

关于此主题的其他博客:

在SPS 09中,淘客q群助手,SAP引入了编程模型的一个主要扩展,即可重用的XSJS库XSDS或XS数据服务。这个新库有几个目标,以及它对整个编程模型的影响。

这个编程模型扩展的起源是SAP中最初构建了三个独立的项目/库。它们集中在XSJS中数据消耗的不同方面。它们是一个ORM(对象关系映射器)库、一个查询生成器和一个关系库。当这三个单独的库都有自己的值时,SAP最终决定将它们集成到一个单独的库中,并将它们建立在CDS/HDBDD基础上,以便更好地重用已经存在的信息。存在于数据库层中。

核心数据服务是一组跨平台的概念和工具,用于定义语义丰富的数据模型。在SAP HANA中,我们已经有了使用CDS语法定义表(实体)、它们的关系和利用这些关系的视图的开发工件HDBDD。CDS规范的一个核心部分是对象关系映射,它将语义上有意义的实体链接到它们作为HANA数据库中记录的技术表示。

XSD的简短描述可以被认为是在SAP HANA编程的XS应用服务层嵌入JavaScript的本机CDS型号

XSDS的核心是允许您导入和扩展CDS实体定义。您只需在导入过程中提供HDBDD的包路径和文件名以及实体名称。XSDS库读取关于类型、键和关联的可用元数据。它还支持扩展、投影、,以及实体定义的重命名。它还支持HDBDD定义尚不支持的CDS概念(如backlink和via实体关联)。

在这个简单的示例中,我们从EPM HDBDD工件和MasterData上下文导入Employee实体。

oEmployee是一个now a JavaScript,它包含所有这些已在基础CDS模型中定义的元数据。它还通过这个JavaScript对象支持完全CRUD事务性。

但是,从底层模型导入元数据可能是一个相对昂贵的操作。由于XSJS编程模型是无状态的,这通常会造成这样的情况:您必须为每个请求重新导入CDS元数据。

因此,云服务器优势,XSDS库还支持导入的预生成,以提高性能。该库将导入的结果序列化到单个可重用的XSJSLIB文件中。因此,您可以使用XSJS的标准$.import特性来利用这个预构建的库定义,而不是从HDBDD工件导入实体。

但是XSDS并不局限于只使用CDS实体。XSDS的目标是为所有XSJS应用程序提供一个单一的解决方案,这意味着即使您的基表是直接在目录中而不是通过CD创建的,也可以使用相同的访问库。这样,您可以在库中选择托管模式还是非托管模式。

托管模式允许您从目录对象和CDS定义(如上所述)导入实体定义。当您需要访问的一致性时,最好使用它。它作为一个轻量级ORM,从目录或CDS定义中构建JavaScript对象。它支持通过关联、数据一致性和有限的查询能力进行导航。

另一方面,非托管模式作为查询生成器,为您提供最大的灵活性,并通过简化的查询界面访问几乎完整的HANA SQL语法。但是,实体之间的数据一致性仍然是应用程序开发人员的责任。

现在了解更多详细信息,让我们看看托管模式和非托管模式的一些语法示例。

前面我们看到了如何导入CDS实体定义。您也可以导入目录对象定义:

在本例中,我们提供目录中的架构和表名,而不是HDBDD工件的路径。

无论实体的来源如何,我们将实体导入JavaScript对象后,对其执行相同的核心操作。

我们可以创建、重设、更新,并删除实体的实例。

结果是一个普通的JavaScript对象,可以像任何其他JavaScript对象一样对其进行编程。

可选地,这些对象支持对关联实例的延迟检索,以避免"n+1问题"。库还优化了连接策略,以最小化数据库查询。

您可以将更改写入数据库显式。

事务管理器跟踪本地更改,以便对数据库进行最小更新。

就实例操作而言,我们可以通过键检索单个实例:

然后您可以像这样更新实例:

或者您可以使用以下语法创建新实例:

删除的工作方式类似:

如上示例所示:管理实体实例。这意味着实例是具有"personality"的单例对象。关联实例通过引用存储。

这种方法的好处是运行时保证了一致性。您对$save操作强制执行的每个实例都有一个一致的视图。您还可以对所有关系基数(1:1、1:n和m:n)进行自动关联管理。

另一方面,缺点是我们需要额外的实例管理开销。我们还限制了用于实例检索的数据库功能子集。

托管模式也会对事务产生影响我们得到了透明数据库和事务处理的好处。使用最小的XSDS运行时,库仍然能够在事务期间提供元数据处理、实体缓存和类型转换。它仍然公开和重用尽可能多的底层数据库功能(例如:约束检查)。

文章来源:www.vmchk.com

 
你可能喜欢的: