返回顶部
首页 > 资讯 > 精选 >如何使用SAP Cloud Application Programming模型开发OData
  • 792
分享到

如何使用SAP Cloud Application Programming模型开发OData

2023-06-04 05:06:29 792人浏览 八月长安
摘要

本篇内容介绍了“如何使用SAP Cloud Application Programming模型开发OData”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,

本篇内容介绍了“如何使用SAP Cloud Application Programming模型开发OData”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

Juergen Mueller用了一棵决策树来向大家介绍,对于拥有不同开发技能水平的SAP从业者,可以按照这棵树,根据自身情况和项目需要来选择不同层次和组合的开发工具以及编程模型。

如何使用SAP Cloud Application Programming模型开发OData

上图右边的分支表明,如果不想抛弃已经习得的ABAP开发技能,可以选择SAP云平台上的ABAP编程环境;反之,如果青睐nodejs,Java这些技术栈,那么SAP云平台也不会让你失望:SAP Cloud Application Programming Model(简称为CAP),是SAP推荐的在SAP Cloud PlatfORM上进行开发的最佳实践。

如何使用SAP Cloud Application Programming模型开发OData

究竟什么是SAP Cloud Application Programming Model?SAP官网上给出了定义:一套由开发语言,开发工具和库有机集成的框架,提供了一种高效,快捷,全栈式的企业级服务和应用开发手段。CAP包含一套开发最佳实践,让开发者能够专注于应用内具体业务逻辑的开发,而无需分心将精力花在重复的底层基础设施功能的实现上去。

看一个具体的例子,通过Cloud Application Programming Model实现一个简单的在线书店应用。书店里出售很多书(Books),每本书包含ID,名称,作者(Author)和库存这四个字段。用户通过创建订单(Orders)进行购买。

如果是用ABAP技术栈实现这个需求,一种比较容易的方式是使用事务码SEGW,通过OData协议来实现。在SEGW里创建Books,Author和Orders模型,以及对应的增删改查。Jerry在去年的文章 SAP OData编程指南 里曾详细介绍。再后来有了CDS view,可以通过在CDS view上加注解@OData.publish的方式快速创建OData服务。

到了SAP Cloud Platform ABAP编程环境上,我们有了更加好用的工具:Restful ABAP Programming Model,

30分钟用Restful ABAP Programming模型开发一个支持增删改查的Fiori应用
Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现

如何使用SAP Cloud Application Programming模型开发OData

从以上短短的描述,我们能够感受到,近些年来ABAP技术栈随着SAP向云端转型而不断快速向前演进的趋势。

下面我们就来看看如何用SAP CAP实现这个在线书店的需求。

命令行执行下面的命令:

npm set @sap:reGIStry=https://npm.sap.com
npm i -g @sap/cds

从SAP的npm仓库里下载cds库并进行全局安装:

如何使用SAP Cloud Application Programming模型开发OData

接下来直接敲cds命令,如果看到下面的帮助信息,说明安装成功了。此后所有的CAP开发,都围绕着这个cds命令进行。

如何使用SAP Cloud Application Programming模型开发OData

CAP开发的IDE可以使用Visual Studio Code,当然也可以用其他文本编辑工具。推荐Visual Studio Code的原因是SAP发布了一款针对CAP开发的Visual Studio Code扩展,支持语法高亮和静态检查,可以从SAP官网下载:
Https://tools.hana.ondemand.com/#cloud

如何使用SAP Cloud Application Programming模型开发OData

和我们开发一个nodejs应用类似,基于CAP的编程,第一步就是cds init,这个命令会自动帮我们创建CAP应用的骨架和从http://npm.sap.com下载CAP应用必需的库文件。

如何使用SAP Cloud Application Programming模型开发OData

cds init执行完毕后,打开Visual Studio Code,界面如下,这些全是cds init自动生成的:

如何使用SAP Cloud Application Programming模型开发OData

新建srv文件夹,下面创建文件cat-service.cds,完成Books,Authors和Orders的建模,即定义每个模型的字段,以及模型间的跳转关系:

如何使用SAP Cloud Application Programming模型开发OData

定义完之后,执行命令cds run,就可以本地预览我们刚刚创建的模型了。这个命令启动了一个本地服务器,通过http://localhost:4004访问:

如何使用SAP Cloud Application Programming模型开发OData

到目前为止,因为我们没有实现这个模型的持久层,所以还观察不到任何数据。

如何使用SAP Cloud Application Programming模型开发OData

在实现持久层之前,我们可以先mock一些数据。新建cat-service.js, 在里面硬编码一些测试数据:

如何使用SAP Cloud Application Programming模型开发OData

这样,再次请求Books和Authors,就能在浏览器里看到mock的数据了:

如何使用SAP Cloud Application Programming模型开发OData如何使用SAP Cloud Application Programming模型开发OData

下面我们进行持久层的相关开发。新建一个文件夹db,下面新建一个文件data-model.cds,把之前实现在cat-service.cds里的模型定义拷贝过来。第17行的managed意思是把Orders模型的增删改查操作托管给框架完成。

如何使用SAP Cloud Application Programming模型开发OData

此时cat-service.cds里的实现就干净多了,直接重用上一步data-model.cds里定义好的模型。注意此处的@readonly和@insertonly注解。

如何使用SAP Cloud Application Programming模型开发OData

这个例子里我们选用sqlite这个轻型数据库来存储数据。用命令行npm i sqlite3 -D安装SQLite,然后进行数据库部署:

cds deploy --to sqlite:db/my-bookshop.db

如何使用SAP Cloud Application Programming模型开发OData

根据cds deploy命令的输出提示,package.JSON也相应被更新了:

如何使用SAP Cloud Application Programming模型开发OData

前面提过Books和Authors这两个模型具有@readonly注解,因此我们新建两个csv文件,维护一些数据在文件内:

如何使用SAP Cloud Application Programming模型开发OData

然后将这两个csv文件通过命令cds deploy导入到数据库里。

如何使用SAP Cloud Application Programming模型开发OData

登录sqlite控制台,使用select语句查看成功从csv文件导入的数据:

如何使用SAP Cloud Application Programming模型开发OData

前面提到Orders的注解是@insertonly, 现在我们想实现一个新功能,每次针对一本书下单后,该图书的库存减一。

《生化危机》目前只有12本了:

如何使用SAP Cloud Application Programming模型开发OData

打开之前存放mock数据的cat-service.js, 在下单之前的hook里实现库存减一的操作:

如何使用SAP Cloud Application Programming模型开发OData

然后进行测试:在postman里执行post请求,下单再买一本:

如何使用SAP Cloud Application Programming模型开发OData

此时再次执行get请求,发现《生化危机》的库存已经和期望的一样扣掉了一本了:

如何使用SAP Cloud Application Programming模型开发OData

“如何使用SAP Cloud Application Programming模型开发OData”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

--结束END--

本文标题: 如何使用SAP Cloud Application Programming模型开发OData

本文链接: https://www.lsjlt.com/news/236601.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用SAP Cloud Application Programming模型开发OData
    本篇内容介绍了“如何使用SAP Cloud Application Programming模型开发OData”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,...
    99+
    2023-06-04
  • 怎么使用SAP WebIDE进行SAP的Application开发
    本篇内容介绍了“怎么使用SAP WebIDE进行SAP的Application开发”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!在WebID...
    99+
    2023-06-04
  • 怎么使用SAP WebIDE开发应用消费OData服务
    这篇文章主要介绍“怎么使用SAP WebIDE开发应用消费OData服务”,在日常操作中,相信很多人在怎么使用SAP WebIDE开发应用消费OData服务问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使...
    99+
    2023-06-04
  • 如何使用SAP OData offline库实现Android应用的离线模式
    本篇文章给大家分享的是有关如何使用SAP OData offline库实现Android应用的离线模式,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。打开Android stud...
    99+
    2023-06-03
  • 如何使用SAP Cloud WebIDE创建SAP UI5应用并部署
    这篇文章主要讲解了“如何使用SAP Cloud WebIDE创建SAP UI5应用并部署”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用SAP Cloud WebIDE创建SAP UI...
    99+
    2023-06-04
  • 如何使用SAP云平台的destination消费Internet上的OData service
    如何使用SAP云平台的destination消费Internet上的OData service,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。通过SAP云平台上的...
    99+
    2023-06-04
  • 如何使用postman修改SAP Marketing Cloud contact主数据
    这篇文章主要讲解了“如何使用postman修改SAP Marketing Cloud contact主数据”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用postman修改SAP Ma...
    99+
    2023-06-04
  • 如何进行C4C Cloud Application Studio做ABSL开发中性能方面的最佳实践
    如何进行C4C Cloud Application Studio做ABSL开发中性能方面的最佳实践,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如何批量调用BO action不...
    99+
    2023-06-04
  • 如何使用nodejs消费SAP Cloud for Customer上的Web service
    这篇文章给大家介绍如何使用nodejs消费SAP Cloud for Customer上的Web service,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。看一个具体例子:C4C里Individual Custome...
    99+
    2023-06-04
  • 如何使用SAP云平台Mobile Service开发移动应用
    本篇文章给大家分享的是有关如何使用SAP云平台Mobile Service开发移动应用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。今天要介绍的是SAP推出的另一种移动应用开发...
    99+
    2023-06-03
  • 如何使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数
    小编给大家分享一下如何使用Java+SAP云平台+SAP Cloud Connector调用ABAP On-Premise系统里的函数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!为了确保Internet应用能够访问Cor...
    99+
    2023-06-04
  • 如何使用PHP进行仿真模拟开发?
    随着科技的发展,仿真模拟技术在各个领域中的应用越来越广泛,对于软件开发而言,仿真模拟也变得越来越重要。PHP作为一门常用的编程语言,在仿真模拟开发中也有着广泛的应用。本文将从以下几个方面介绍如何利用PHP进行仿真模拟开发。一、什么是PHP仿...
    99+
    2023-05-21
    开发 PHP 仿真模拟
  • 如何使用R语言在SAP Analytics Cloud里绘制各种统计图表
    这期内容当中小编将会给大家带来有关如何使用R语言在SAP Analytics Cloud里绘制各种统计图表,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。插入一个R visualization:一定要确保图...
    99+
    2023-06-03
  • Android如何开发MQTT协议的模型及通信
    本篇内容主要讲解“Android如何开发MQTT协议的模型及通信”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android如何开发MQTT协议的模型及通信”吧!什么是MQTT协议MQTT协议又...
    99+
    2023-07-05
  • C# 中如何使用Direct3D模型
    今天就跟大家聊聊有关C# 中如何使用Direct3D模型,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。C# Direct3D模型由World 空间,View 空间和光源组成。Worl...
    99+
    2023-06-17
  • Laravel模型事件如何使用
    这篇“Laravel模型事件如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Laravel模型事件如何使用”文章吧。我...
    99+
    2023-07-04
  • three.js Mool3D模型类如何使用
    这篇文章主要介绍“three.js Mool3D模型类如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“three.js Mool3D模型类如何使用”文章能帮助大家解决问题。...
    99+
    2023-07-05
  • 如何使用nodejs开发
    随着技术的不断发展,许多开发者都开始使用 Node.js 来进行 Web 开发。Node.js 是一个由 C 语言编写的 JavaScript 运行时环境,它可以让开发者使用 JavaScript 来进行服务器端编程。Node.js 和其他...
    99+
    2023-05-23
  • 如何利用ChatGPT PHP开发基于语言模型的聊天应用
    如何利用ChatGPT PHP开发基于语言模型的聊天应用一、介绍ChatGPTChatGPT是由OpenAI开发的一款基于语言模型的聊天系统,可以生成自然流畅的文本回复。我们可以利用ChatGPT PHP开发一个基于语言模型的聊天应用,实现...
    99+
    2023-10-25
    ChatGPT 语言模型 PHP开发
  • Spring开发中如何使用Java数据类型索引?
    Spring是一个非常流行的Java开发框架,它提供了丰富的API和工具,以帮助开发人员更快速、更高效地开发Web应用程序。在Spring开发中,使用Java数据类型索引是一项非常重要的技能。本文将介绍如何在Spring开发中使用Java数...
    99+
    2023-08-25
    数据类型 索引 spring
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作