真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用SAPCloudApplicationProgramming模型開(kāi)發(fā)OData

本篇內(nèi)容介紹了“如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData”的有關(guān)知識(shí),在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的困境,接下來(lái)就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

10年積累的成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作經(jīng)驗(yàn),可以快速應(yīng)對(duì)客戶對(duì)網(wǎng)站的新想法和需求。提供各種問(wèn)題對(duì)應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站設(shè)計(jì)后付款的網(wǎng)站建設(shè)流程,更有若羌免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

Juergen Mueller用了一棵決策樹(shù)來(lái)向大家介紹,對(duì)于擁有不同開(kāi)發(fā)技能水平的SAP從業(yè)者,可以按照這棵樹(shù),根據(jù)自身情況和項(xiàng)目需要來(lái)選擇不同層次和組合的開(kāi)發(fā)工具以及編程模型。

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

上圖右邊的分支表明,如果不想拋棄已經(jīng)習(xí)得的ABAP開(kāi)發(fā)技能,可以選擇SAP云平臺(tái)上的ABAP編程環(huán)境;反之,如果青睞nodejs,Java這些技術(shù)棧,那么SAP云平臺(tái)也不會(huì)讓你失望:SAP Cloud Application Programming Model(簡(jiǎn)稱為CAP),是SAP推薦的在SAP Cloud Platform上進(jìn)行開(kāi)發(fā)的最佳實(shí)踐。

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

究竟什么是SAP Cloud Application Programming Model?SAP官網(wǎng)上給出了定義:一套由開(kāi)發(fā)語(yǔ)言,開(kāi)發(fā)工具和庫(kù)有機(jī)集成的框架,提供了一種高效,快捷,全棧式的企業(yè)級(jí)服務(wù)和應(yīng)用開(kāi)發(fā)手段。CAP包含一套開(kāi)發(fā)最佳實(shí)踐,讓開(kāi)發(fā)者能夠?qū)W⒂趹?yīng)用內(nèi)具體業(yè)務(wù)邏輯的開(kāi)發(fā),而無(wú)需分心將精力花在重復(fù)的底層基礎(chǔ)設(shè)施功能的實(shí)現(xiàn)上去。

看一個(gè)具體的例子,通過(guò)Cloud Application Programming Model實(shí)現(xiàn)一個(gè)簡(jiǎn)單的在線書(shū)店應(yīng)用。書(shū)店里出售很多書(shū)(Books),每本書(shū)包含ID,名稱,作者(Author)和庫(kù)存這四個(gè)字段。用戶通過(guò)創(chuàng)建訂單(Orders)進(jìn)行購(gòu)買。

如果是用ABAP技術(shù)棧實(shí)現(xiàn)這個(gè)需求,一種比較容易的方式是使用事務(wù)碼SEGW,通過(guò)OData協(xié)議來(lái)實(shí)現(xiàn)。在SEGW里創(chuàng)建Books,Author和Orders模型,以及對(duì)應(yīng)的增刪改查。Jerry在去年的文章 SAP OData編程指南 里曾詳細(xì)介紹。再后來(lái)有了CDS view,可以通過(guò)在CDS view上加注解@OData.publish的方式快速創(chuàng)建OData服務(wù)。

到了SAP Cloud Platform ABAP編程環(huán)境上,我們有了更加好用的工具:Restful ABAP Programming Model,

30分鐘用Restful ABAP Programming模型開(kāi)發(fā)一個(gè)支持增刪改查的Fiori應(yīng)用
Jerry帶您了解Restful ABAP Programming模型系列之二:Action和Validation的實(shí)現(xiàn)

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

從以上短短的描述,我們能夠感受到,近些年來(lái)ABAP技術(shù)棧隨著SAP向云端轉(zhuǎn)型而不斷快速向前演進(jìn)的趨勢(shì)。

下面我們就來(lái)看看如何用SAP CAP實(shí)現(xiàn)這個(gè)在線書(shū)店的需求。

命令行執(zhí)行下面的命令:

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

從SAP的npm倉(cāng)庫(kù)里下載cds庫(kù)并進(jìn)行全局安裝:

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

接下來(lái)直接敲cds命令,如果看到下面的幫助信息,說(shuō)明安裝成功了。此后所有的CAP開(kāi)發(fā),都圍繞著這個(gè)cds命令進(jìn)行。

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

CAP開(kāi)發(fā)的IDE可以使用Visual Studio Code,當(dāng)然也可以用其他文本編輯工具。推薦Visual Studio Code的原因是SAP發(fā)布了一款針對(duì)CAP開(kāi)發(fā)的Visual Studio Code擴(kuò)展,支持語(yǔ)法高亮和靜態(tài)檢查,可以從SAP官網(wǎng)下載:
https://tools.hana.ondemand.com/#cloud

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

和我們開(kāi)發(fā)一個(gè)nodejs應(yīng)用類似,基于CAP的編程,第一步就是cds init,這個(gè)命令會(huì)自動(dòng)幫我們創(chuàng)建CAP應(yīng)用的骨架和從http://npm.sap.com下載CAP應(yīng)用必需的庫(kù)文件。

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

cds init執(zhí)行完畢后,打開(kāi)Visual Studio Code,界面如下,這些全是cds init自動(dòng)生成的:

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

新建srv文件夾,下面創(chuàng)建文件cat-service.cds,完成Books,Authors和Orders的建模,即定義每個(gè)模型的字段,以及模型間的跳轉(zhuǎn)關(guān)系:

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

定義完之后,執(zhí)行命令cds run,就可以本地預(yù)覽我們剛剛創(chuàng)建的模型了。這個(gè)命令啟動(dòng)了一個(gè)本地服務(wù)器,通過(guò) http://localhost:4004訪問(wèn):

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

到目前為止,因?yàn)槲覀儧](méi)有實(shí)現(xiàn)這個(gè)模型的持久層,所以還觀察不到任何數(shù)據(jù)。

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

在實(shí)現(xiàn)持久層之前,我們可以先mock一些數(shù)據(jù)。新建cat-service.js, 在里面硬編碼一些測(cè)試數(shù)據(jù):

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

這樣,再次請(qǐng)求Books和Authors,就能在瀏覽器里看到mock的數(shù)據(jù)了:

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

下面我們進(jìn)行持久層的相關(guān)開(kāi)發(fā)。新建一個(gè)文件夾db,下面新建一個(gè)文件data-model.cds,把之前實(shí)現(xiàn)在cat-service.cds里的模型定義拷貝過(guò)來(lái)。第17行的managed意思是把Orders模型的增刪改查操作托管給框架完成。

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

此時(shí)cat-service.cds里的實(shí)現(xiàn)就干凈多了,直接重用上一步data-model.cds里定義好的模型。注意此處的@readonly和@insertonly注解。

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

這個(gè)例子里我們選用SQLite這個(gè)輕型數(shù)據(jù)庫(kù)來(lái)存儲(chǔ)數(shù)據(jù)。用命令行npm i sqlite3 -D安裝SQLite,然后進(jìn)行數(shù)據(jù)庫(kù)部署:

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

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

根據(jù)cds deploy命令的輸出提示,package.json也相應(yīng)被更新了:

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

前面提過(guò)Books和Authors這兩個(gè)模型具有@readonly注解,因此我們新建兩個(gè)csv文件,維護(hù)一些數(shù)據(jù)在文件內(nèi):

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

然后將這兩個(gè)csv文件通過(guò)命令cds deploy導(dǎo)入到數(shù)據(jù)庫(kù)里。

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

登錄sqlite控制臺(tái),使用select語(yǔ)句查看成功從csv文件導(dǎo)入的數(shù)據(jù):

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

前面提到Orders的注解是@insertonly, 現(xiàn)在我們想實(shí)現(xiàn)一個(gè)新功能,每次針對(duì)一本書(shū)下單后,該圖書(shū)的庫(kù)存減一。

《生化危機(jī)》目前只有12本了:

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

打開(kāi)之前存放mock數(shù)據(jù)的cat-service.js, 在下單之前的hook里實(shí)現(xiàn)庫(kù)存減一的操作:

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

然后進(jìn)行測(cè)試:在postman里執(zhí)行post請(qǐng)求,下單再買一本:

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

此時(shí)再次執(zhí)行g(shù)et請(qǐng)求,發(fā)現(xiàn)《生化危機(jī)》的庫(kù)存已經(jīng)和期望的一樣扣掉了一本了:

如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData

“如何使用SAP Cloud Application Programming模型開(kāi)發(fā)OData”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!


網(wǎng)頁(yè)標(biāo)題:如何使用SAPCloudApplicationProgramming模型開(kāi)發(fā)OData
文章URL:http://weahome.cn/article/pcocdh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部