主页 > CDN > > 正文

分布式存储_数据库管理工具_免费6个月

浏览:

分布式存储_数据库管理工具_免费6个月

我一直致力于一个项目,将SAP mobility的主要元素整合到一个示例中。这个例子将探索创建一个启用delta的OData web服务的细节,我在上一篇博客文章中提到了这一点,和HCP移动服务一起成为一个离线的混合移动应用程序。

走完这些步骤需要一些努力。我计划把它分成几篇文章,每一篇都涵盖一个部分。我的目标是让每一篇文章足够小,可以在一小时或更短的时间内完成。

那么,从哪里开始呢?

HANA云平台试用帐户-使用移动服务

如果您还没有HANA云平台试用帐户,您可以使用此链接注册帐户。

HANA云平台移动服务,缩写为HCPms,现在作为HANA试用帐户的一部分提供,您也可以查看Martin Grasshoff最近的博客文章中的说明,了解如何将HCPM添加到您的HCP试用帐户中的信息。

您需要同时注册这两个帐户才能完成本系列文章。

在过去的几个月里,我一直在与开放源码OData web服务框架Apache Olingo进行广泛的合作我非常喜欢Olingo。我发现它组织得很好,也很可靠,所以我将在这个例子中使用它来生成我们的OData web服务。

我将在本文中应用的技术可以用于几乎所有与JDBC兼容的备份数据存储。不过,对于这个项目,我选择从SAP的企业销售和采购模型(ESPM)的一个变体开始。ESPM是一个业务数据模型,在许多当前SAP编程系统的示例中广泛使用。

您可以在SCN上找到许多描述ESPM不同变体的文章。有些文章使用HANA作为后端,有些使用其他数据库。这个特殊的变体是我使用Java持久性体系结构(JPA)创建的,用于定义数据模型。Olingo提供了几种定义OData web服务的方法—如果您的起点是JPA,它有一组特别简单的API来实现这一点,下载返利,所以这就是我在这里使用它的原因。

下图描述了这个版本的ESPM数据模型的实体关系图。

我们的web服务的完整源代码可以在Github上找到。下面是几个简单的步骤,您可以按照这些步骤导入、构建,并在您的本地机器上运行服务。我们将首先将其部署到您的本地机器上。稍后,我们将同一服务的副本部署到HANA云平台Java应用程序服务器上。

如果应用程序部署正确,您将看到大约110个产品的XML表示形式。web服务被编程为安装产品、库存、供应商和客户的测试数据集合。每次重新启动应用程序时,它都会删除并重新初始化数据库中的这些表(您可以更改行为以保留数据库的状态)通过更改日食.ddl-src/main/resources/WEB-INF中的generation属性/持久性.xml从"drop and create tables"到"create tables")。

如果您滚动到产品响应的底部,您将看到如下内容:

如您所见,每个记录都有一个UpdatedTimestamp字段。因为我们的代码提供了一个增量令牌生成器,在响应的底部有一个"delta"链接URL。

OData delta Tokens

OData协议本质上是标准RESTful web服务的超集。OData提供的REST真正酷的扩展之一是delta Token处理。使用Delta tokens可以在每个客户端和源web服务之间提供更高效的通信(OASIS设计文档参考)。

SAP的移动平台产品(云和内部版本)将利用支持Delta token的web服务来优化数据同步。我最近写了一篇文章描述这个过程的机制-也许值得你花时间来回顾一下(链接)。这里的重点是我们想要最具可伸缩性的web服务,所以我们将采取额外的步骤来为这个服务的大多数OData实体集合启用delta令牌处理。

Apache Olingo提供了两个基于框架的选项向基于JPA的项目添加增量令牌支持。我使用了Olingo在线文档中记录的两个选项中的第一个选项。为了重新配置项目以使用这种方法,我首先在每个表中添加一个"updated timestamp"列,在其中添加增量令牌支持。然后添加或修改JPA@PrePersist和@PreUpdate方法使用当前服务器时间自动更新updatedTimestamp字段以执行这两个操作,如Olingo文档所述,

添加"更新的时间戳"列遵循一种利用服务器时间戳跟踪请求之间的更改的常见模式,我设置了delta token generator来返回一个服务器时间戳。这个时间戳将作为请求内容的一部分返回。

getQuery()方法有点复杂,但核心功能如下所示。基本上,如果客户端在GET请求中提供delta token,具有modify the SQL data fetched的函数,该函数仅限于在增量令牌中提供的时间戳之后更改的行。客户端在初始请求中将没有增量令牌可供提供,大数据中心,并且某些应用程序可能根本不想利用增量令牌。在这两种情况下,大淘客怎么推广,代码都通过返回一组完整的数据结果。

您可以通过复制步骤7中delta令牌的"href"属性的全部内容并将其粘贴到浏览器的URL框中,来查看delta令牌正在运行。这次您将看到一个不同的响应—一个不包含任何记录的响应,因为自发出原始请求以来没有任何更改。

发表评论
验证码: 点击我更换图片

注:网友评论仅供其表达个人看法,并不代表本站立场。

热门文章

  • 谷歌云_mysql中间件_免费领
    谷歌云_mysql中间件_免费领

    谷歌云_mysql中间件_免费领

    现在工作场所正在发生重大变化。我们协作、计划项目和管理工作量的方式正在改变,如果企业没有做好准备,它们将很快被抛在后面。准确地理解是什么...

  • 域名交易_阿里云翼_企业级
    域名交易_阿里云翼_企业级

    域名交易_阿里云翼_企业级

    通常认为搅动器是一个漏水的桶。你有多少顾客?你损失了多少?你留了多少钱,漏了多少钱?让我们把顾客流失看作是导致医生就诊的原因,比如偏头痛...

  • 金山云_华为云台_怎么申请
    <strong>金山云_华为云台_怎么申请</strong>

    金山云_华为云台_怎么申请

    在我们发布通知(以前是Engage)后的四个月里,我们在后端做了大量的改进。大多数更新在UI中不可见。相反,我们的客户可能已经注意到他们发送的电子...

  • 云主机_深圳企业网站设计_评分榜
    <strong>云主机_深圳企业网站设计_评分榜</strong>

    云主机_深圳企业网站设计_评分榜

    更新:有本文的更新版本。阅读"RPA如何转换数据迁移"(2019年出版)。 在本文中,数据迁移被定义为将数据从旧的遗留系统移动到新的替换系统。通常,...

  • 域名备案_已备案未注册的域名_最新活动
    <strong>域名备案_已备案未注册的域名_最新活动</strong>

    域名备案_已备案未注册的域名_最新活动

    今天是Skype推出十年来的日子,Skype是一款免费的互联网通话应用,用户已超过3亿。Skype是一家来自爱沙尼亚的初创公司,来自点对点文件共享应用Kazaa的开...

云储存

更多 >
  • 负载均衡_腾讯企业邮箱开通_高性价比
    负载均衡_腾讯企业邮箱开通_高性价比

    SAP Lumira&Design Studio于2月23日至24日在古尔冈举办的实践研讨会 请加入我们,了解我们在敏捷可视化、仪表板和应用程序方面的创新,并体验SAP Lumira和SAP D...

  • <strong>全站加速_找不到服务器_0元</strong>
    全站加速_找不到服务器_0元

    3D打印这一概念在过去的几年中以其科幻的内涵吸引了很多人的注意。今天,3D打印已经进入了许多家庭,甚至作为一个复杂的儿童玩具。3D打印是一项重要...

云储存对象存储_域名备案网址_评分榜
云储存腾讯云_绝不后悔百度云_多少钱
云储存域名备案_163邮箱服务器地址_返利
云储存云存储_呼市网站建设_怎么申请
云储存虚拟主机_阿里云是什么意思_企业0元试用