使用Cloud Application Programming模型开发OData的一个实际例子

  • 时间:
  • 浏览:2

《生化危机》目前没法12本了:

cds init执行完毕后,打开Visual Studio Code,界面如下,那先 也有cds init自动生成的:

和大家开发另有还还有一个 nodejs应用这类,基于CAP的编程,第一步什么都有 cds init,某些命令会自动帮大家创建CAP应用的骨架和从npm.云技术.com下载CAP应用必需的库文件。

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

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

原因分析分析是用ABAP技术栈实现某些需求,本身比较容易的方法是使用事务码SEGW,通过OData协议来实现。在SEGW里创建Books,Author和Orders模型,以及对应的增删改查。Jerry在去年的文章 云技术 OData编程指南 里曾删改介绍。再就让有了CDS view,都不可以 通过在CDS view打上去注解@OData.publish的方法快速创建OData服务。



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

希望某些例子不让可以 帮助大家对如保使用Cloud Application Programming Model进行开发有某些基本的认识。感谢阅读。

CAP开发的IDE都不可以 使用Visual Studio Code,当然也都不可以 用某些文本编辑工具。推荐Visual Studio Code的原因分析分析是云技术发布了一款针对CAP开发的Visual Studio Code扩展,支持语法高亮和静态检查,都不可以 从云技术官网下载:

https://tools.hana.ondemand.com/#cloud

原来,再次请求Books和Authors,就能在浏览器里看后mock的数据了:

前面提过Books和Authors这另有还还有一个 模型具有@readonly注解,什么都有 大家新建另有还还有一个 csv文件,维护某些数据在文件内:

下面大家就来看看如保用云技术 CAP实现某些在线书店的需求。

接下来直接敲cds命令,原因分析分析看后下面的帮助信息,说明安装成功了。此后所有的CAP开发,都围绕着某些cds命令进行。

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

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

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

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

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

什么都有 进行测试:在postman里执行post请求,下单再买一本:

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

命令行执行下面的命令:

上图右边的分支表明,原因分析分析我想要背叛原因分析分析习得的ABAP开发技能,都不可以 选取云技术云平台上的ABAP编程环境;反之,原因分析分析青睐nodejs,Java那先 技术栈,没法云技术云平台什么都有 会给你失望:云技术 Cloud Application Programming Model(简称为CAP),是云技术推荐的在云技术 Cloud Platform上进行开发的最佳实践。

什么都有 将这另有还还有一个 csv文件通过命令cds deploy导入到数据库里。

到了云技术 Cloud Platform ABAP编程环境上,大家有了更加好用的工具:Restful ABAP Programming Model,

某些例子里大家选取SQLite某些轻型数据库来存储数据。用命令行npm i sqlite3 -D安装SQLite,什么都有 进行数据库部署:

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

定义完刚刚,执行命令cds run,就都不可以 本地预览大家刚刚创建的模型了。某些命令启动了另有还还有一个 本地服务器,通过http://localhost:3004访问:



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

npm set @云技术:registry=https://npm.云技术.com

npm i -g @云技术/cds

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

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

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

在实现持久层刚刚,大家都不可以 先mock某些数据。新建cat-service.js, 在里面硬编码某些测试数据:

刚刚过去的云技术 TechEd上,云技术 CTO Juergen Mueller向外界传递了另有还还有一个 重要的信息:身处云时代大环境下的云技术从业者,在云技术云平台上该如保选取适合本人的开发方法?

300分钟用Restful ABAP Programming模型开发另有还还有一个 支持增删改查的Fiori应用

Jerry带您了解Restful ABAP Programming模型系列之二:Action和Validation的实现

本文来自云栖社区商务合作伙伴“汪子熙”,了解相关信息都不可以 关注微信公众号"汪子熙"。

到目前为止,原因分析分析大家没法实现某些模型的持久层,什么都有还观察没法任何数据。

某些频繁下单的顾客,估计是和Jerry一样的生化系列爱好者。