跳到内容
技术文章
作者个人资料照片D万博新体育手机客户端J亚当斯

SAP云应用程序编程模型(CAP)——从这里开始

注:虽然这篇博文最初发表于2018年,但它已经更新到2020年,现在也更新到2021年感谢伟大的帮助和输入从优秀Iwona哈恩。花几分钟重新浏览一下,因为你会发现很多项目已经更新了。别忘了。”分享与享受”!

围绕SAP业务技术平台(BTP)的CAP有很多活动和兴趣,尤其是在过去几年的SAP TechEd活动中,以及它合并成云开发堆栈中的基本技术。我认为为那些想知道如何入门的人提供一个关键资源的概述会很有用。新万博苹果版

简而言之,SAP BTP的CAP是一个工具、语言和库的框架,其中一些来自SAP,一些是开源的。使用这些工具、语言和库,您可以以全栈开发方法高效、快速地构建企业服务和应用程序。它引导您沿着最佳实践的黄金路径前进,使您能够专注于您的领域,同时将您从繁琐的技术任务中解脱出来。

您可以在中找到CAP的核心文档capire

先从开始节,因为它将带您了解基础知识,并详细介绍一些最佳实践和参考材料。

你也可以在新的东西中找到新的东西发布说明部分。

SAP开发人员中心

SAP开发人员中心,有任务,辅导小组和教程。

在初级任务中深入了解OData"有一个辅导小组"构建你的第一个基于odata的后端服务这就给了你一个高水平的品尝师。

如果你想更冒险,或者更渴望知识和洞察力,这里也有几个完整的任务可供选择:

任务使用CAP为Node.js构建一个商业应用程序指导您使用CAP开发业务应用程序。从本地环境开始,然后部署到云。

如果您是Java的拥护者,那么您可能会喜欢类似的任务使用Java的CAP构建业务应用程序

你也可以通过以下网址找到其他带有“SAP云应用程序编程模型”标签的教程:

https://developers.sap.com/tutorial-navigator.html?tag=software-product-function:sap-cloud-application-programming-model

你会看到这样经过适当过滤的内容:

万博官网manbetx苹果

在SAP社区,你可以找到万博官网manbetx苹果一系列直接或间接讨论CAP的帖子。你可以使用标签找到完整的集合:

SAP云应用程序编程模型

丹尼尔的帖子”介绍新的应用程序编程模型是一个很好的开始。

还有一个专门的主题页面,你一定要去看看:https://community.sap.com/topics/cloud-application-programming-这里有各种各样的链接,包括最新博客文章的摘要和最新的问答,你也可以直接通过标签,专门用于CAP相关的问题和答案

SAP技术会议

在过去的几年里,CAP已经被证明是SAP TechEd会议和走廊上的热门话题。

2019

有一系列的会议在SAP TechEd巴塞罗那-检查议程构建器了解更多。

以下是其中几个:

  • CNA376“在SAP云平台上使用编程模型构建应用程序”-实践工作坊(2小时)
  • CNA652“用SAP云平台完成SaaS应用不到一小时”- CodeJam(迷你版)(1小时)

CNA376的运动材料“spaceflight”为GitHub上对于这两个节点Java

如果你想要一个简短的CAP概述,你可以观看这个简短的(7分钟)访谈格雷戈尔狼和我,来自巴塞罗那的SAP TechEd 2019:CAPM for Developers,巴塞罗那,2019

2020

有一个很棒的会议基督教格奥尔基SAP云应用程序编程模型的演变-最新进展[DEV103]这是一个讲座,介绍Node.js和Java运行时的所有新闻。

工具

如果你看一下CNA376的练习,你会发现它们是针对Node.js (JavaScript)运行时的。除了在SAP Web IDE全栈中提供的应用程序编程模型的工具和特性外,还有一个Visual Studio Code的扩展。

阅读更多相关内容SAP CDS语言支持扩展的Joerg曼职位”介绍VS Code的核心数据和服务(CDS)然后把它从Visual Studio市场-在工具部分的CAP文件。

还有一个简短的(12分钟)视频,其中给出了这个扩展的所有伟大功能的概述:VS Code的SAP CDS语言支持扩展概述

更重要的是,在新的SAP业务应用程序工作室太!

其他媒体

在SAP的非官方社区播客上,咖啡角电台,有一个。16分钟豆荚咬伤(#5)我面试的地方鲁伊Nogueira应用程序编程模型。

在SAP CodeTalk上,我和Ian Thain做了一个简短的访谈,从高层讨论CAP:https://www.youtube.com/watch?v=GhEpcB7x4UA

在SAP mentor GitHub组织中,有一个代表CAP社区活动的回购——请点击这里查看bit . ly / cap-com

如果你喜欢通过观看人们在屏幕上摆弄键盘来学习,也许你也会参与其中,那么你可能会想看看SAP开发系列涵盖各种SAP开发主题的直播流,当然也包括CAP。点击这里查看过去几集的录音:bit . ly / handsonsapdev #回放

这就是我今晚想到的——如果还有其他的(请让我知道),我会在想到的时候把它添加到这篇文章中。

黑客快乐!


更新:

2018年10月11日-增加SAP CodeTalk访谈链接;为CNA376增加了Java练习材料的链接

2018年12月21日-替换了对原始用户标签的引用applicationprogrammingmodel使用新标签SAP云应用程序编程模型(向…致敬迈克·多伊尔提醒

2019年1月3日-增加了通过URL通过标签查找教程的信息(帽提示到安德烈Pfohlmann)。还添加了关于如何查看应用程序编程模型的新功能的信息,通过社区问答中的答案Jijo Roy Jacob

2020年3月25日-重大更新与巨大的帮助Iwona哈恩

2020年9月28日- VS Code扩展的新位置

2021年2月16日-再次感谢更多伟大的更新Iwona哈恩

指定的标签

      19日的评论
      你一定是登录评论:评论或回复帖子
      作者简介照片Pie万博新体育手机客户端rre Dominique
      皮埃尔·多米尼克

      谢谢DJ。多亏了你的一篇文章,我开始调查这个话题,在一个地方拥有所有的资源是很好的。新万博苹果版

      我也在使用XSA,我真的希望SAP能整合一切,因为在本地和云上使用不同的工具和技术有点令人沮丧。面向SAP HANA的Web IDE、Web IDE全栈、云中的APM(但不是在本地)等。

      皮埃尔

      作者个人资料照片D万博新体育手机客户端J亚当斯
      DJ亚当斯
      博客作者

      嘿,皮埃尔,谢谢,不客气。我很高兴你在调查,我也是,这是一个迷人的领域,我认为它非常重要。

      我认为有些事情是可以合并的,但同时,我们也有不同的要求,必须加以照顾。有了APM,你可能会很高兴地发现你也可以完全在本地做一些事情,当然从开发的角度来看(然后再部署到CF等)。例如,我在我的机器上使用Node.js和sqlite作为本地的持久层。

      也就是说,现在还为时尚早,我很期待看到APM的发展。干杯!

      作者简介照片:Th万博新体育手机客户端omas Jung
      托马斯·荣格

      应用程序编程模型还计划在SAP HANA 2.0 SPS 03的Web IDE修订版中引入HANA/XSA,该修订版将在大约2-3周内发布。很快你就会有同样的功能。我们已经在内部使用这个版本,并在techhed拉斯维加斯做了一些演示。

      作者简介照片Mic万博新体育手机客户端helle Crapo
      米歇尔Crapo

      谢谢你的另一个伟大的博客!可能性是无穷无尽的,不是吗?我只是从Github下载,必须安装很多不同的编程语言。不,暂时不使用那个,但很高兴看到代码。

      作者资料照片前会员万博新体育手机客户端
      前成员

      你好DJ,

      我对实际的内容没有什么评论,我确信它和您为SAP社区撰写的任何其他内容一样优秀,但更多的是关于您的博客“最佳实践”。万博官网manbetx苹果

      我真的很感谢在博客页面底部列出实际更新。我经常看到别人创建的内容更新,但我没有办法弄清楚更新是关于什么以及什么发生了变化。在你的案例中,它做得很完美,并且表明你既欣赏社交技术,也欣赏作为社交内容预期消费者的受众。

      干杯,通用

      作者个人资料照片D万博新体育手机客户端J亚当斯
      DJ亚当斯
      博客作者

      嘿-非常感谢-我很感激你注意到细节。干杯,周末愉快!

      作者简介照片Hen万博新体育手机客户端rik Damhøj Andersen
      安徒生

      伟大的博客!

      是否有可能让服务层实现oData v4而不是v2?

      问候,亨瑞克

      作者个人资料照片D万博新体育手机客户端J亚当斯
      DJ亚当斯
      博客作者

      嘿,谢谢Henrik——基本的答案是肯定的,这是可能的,至少在Java实现中(他们也在研究Node.js风格)。我已经向一位同事寻求了一个如何做的例子,当我收到信息时,我会在这里发布。HTH !

      作者简介照片Hen万博新体育手机客户端rik Damhøj Andersen
      安徒生

      你好DJ,

      完美!

      可以等到下一次HANA Express的APM更新吗

      问候,亨瑞克

      作者简介照片Har万博新体育手机客户端ald guthbrod
      哈拉尔德Gutbrod

      你好,

      我尝试了nodejs的cd,并在VS Code中创建了一个小服务。当我使用“cd serve all”在本地启动服务时,该服务只能作为Odatav4使用。元数据显示

      我想使用Fiori Elements作为前端,但Fiori Elements似乎只支持Odata V2。是否有办法在服务中切换到Odatav2 ?

      我已经试过了。Json,没有成功:

      "odata": {"version": "v2"}

      最好的问候,

      哈拉尔德

      作者简介照片Mik万博新体育手机客户端e Doyle
      迈克·多伊尔

      嗨,DJ,另一个标签似乎在你的同事中流行起来了:SAP云应用程序编程模型

      有一些新的博客有这个标签。也许你应该修改一下你的链接?

      作者个人资料照片D万博新体育手机客户端J亚当斯
      DJ亚当斯
      博客作者

      谢谢Mike,我已经为我和我的同事在这里的帖子更改了所有的应用程序编程模型标签(我已经在内部参与了新标签的形成),但是忘记在这里更改内容。为提醒而欢呼——现在完成了!

      作者简介照片Dan万博新体育手机客户端iel Wroblewski
      丹尼尔Wroblewski

      DJ,

      谢谢你的博客

      1)构建CDS数据模型文件和构建OData服务(cat-service)的参考在哪里?

      2)如果我想让实体的某些字段只读,你建议在服务或UI中这样做吗?不管怎样,我怎么做呢?

      丹尼尔

      作者个人资料照片D万博新体育手机客户端J亚当斯
      DJ亚当斯
      博客作者

      嘿,丹尼尔,我没有写一篇完整的博客,只是一篇帖子-但是谢谢

      对于你的问题,简单地说(尽管我建议你在answers.sap.com上进行任何问答):

      1. 点击本文第一部分的文档链接,并查看“核心数据和服务(CDS)语言参考”部分
      2. 您可以为此使用注释(上面提到的语言参考中有一个小节)—具体看一下@readonly注释。根据需求,它可以在任何一个级别上完成。

      干杯!

      作者简介照片Shi万博新体育手机客户端baji Chandra
      Shibaji钱德拉

      你好DJ,

      我遵循教程:

      https://developers.sap.com/tutorials/cp-apm-nodejs-create-service.html

      两个问题:

      1. 即使我跑了
        NPM I @sap/cds

        我在我的可视化代码编辑器中看到它不识别:

        使用{国家,管理}从'@sap/cds/common';
      2. 即使我注释了依赖关系,并试图通过cd运行cd,我得到以下错误:

      C: \ cloudsdk \ cap-node \ my-bookshop > cd运行

      {错误:找不到模块'express'
      在Function.Module。_resolveFilename (module.js 536:15):
      在Function.Module。_load (module.js 466:25):
      在模块。要求(module.js 579:17):
      require (internal/module.js:11:18)
      在模块。用户出口(C: \ \ i304296 \ AppData \漫游\ npm \ node_modules \ @sap \ cd \ server.js: 21)
      (C:\Users\i304296\AppData\Roaming\npm\node_modules\@sap\cds\bin\ server .js:39:46)
      at run (C:\Users\i304296\AppData\Roaming\npm\node_modules\@sap\cds\bin\run.js:31:44)
      (C:\Users\i304296\AppData\Roaming\npm\node_modules\@sap\cds\bin\cds.js:66:18)
      在对象。<匿名> (C: \ \ i304296 \ AppData \漫游用户\ npm \ node_modules \ @sap \ cd \ bin \ cds.js: 27:3)
      在模块。_compile (module.js:635:) code: 'MODULE_NOT_FOUND'}

      你能告诉我我错过了什么吗?

      作者简介照片Shi万博新体育手机客户端baji Chandra
      Shibaji钱德拉

      没关系,我解决了这个问题。我有节点版本8.9.1导致的问题。现在我已经将其升级到10.16.3,并且它正在工作。

      作者简介照片Iwo万博新体育手机客户端na Hahn
      Iwona哈恩

      谢谢你的更新:)。

      作者简介照片Chr万博新体育手机客户端istian Schaefer
      基督教Schaefer

      谢谢你的更新。我仍然有麻烦得到“服务SDK”层虽然。有相关的文件吗?

      曾经有一个“SAP云平台SDK用于服务开发”(例如。//www.bouseh.com/2017/10/17/introducing-the-sap-cloud-platform-sdk-for-service-development/

      例如,它包含了一个基于Olingo的OData查询生成器。它还存在吗?文档在哪里?

      我还发现,不幸的是,大多数文档都是基于教程的。这是很好的开始,但我宁愿阅读一个全面的参考文档,而不是。从教程中复制粘贴编程不是我的目标。

      作者个人资料照片D万博新体育手机客户端J亚当斯
      DJ亚当斯
      博客作者

      嘿,Christian,谢谢你的问题——让我和内部的一些人联系一下,看看他们是否能帮上忙。干杯!DJ