跳到内容
技术文章
作者简介照片浅井良万博新体育手机客户端”src=

SAP云应用程序编程模型(CAP):第1部分

はじめに

本ブログではSAP云应用程序编程模型の概要および10分ほどで実施可能な簡単な小さいデモを紹介します。。★★★★★★★

  1. イントロダクション
  2. 盖帽
  3. cap(帽子
  4. デモ
”4。。2は> >啊哈!

1.イントロダクション

“SAP云应用程序编程模型(CAP)”はクラウドネイティブで企业级のサービスおよびアプリケーションを開発するための言語,ライブラリおよびツール群です。帽は开放で固执己见な特徴を持ち,煩雑な繰り返し実装を削減するための最佳实践を開発者に提供します。また,速いスピードで変わっていくクラウドテクノロジーの分野において帽はドメイン駆動の設計を可能にし,高速で安全な開発をもたらします。

公开的,固执己见的

帽はフレームワークと組み合わせるテクノロジーを選択可能な开放さを持ち,多彩なアーキテクチャパターンを実現可能です。その一方で帽は各テクノロジーを選択した場合の低水平なコーディングを負担する固执己见な一面も持ちます。これにより開発者はテクノロジーの組み合わせを選択しながらもその特有の実装から解放され,ビジネスロジックに注力した開発が可能になります。

最佳实践

帽子,capire★★★★★★★★★★★★★★★★この最佳实践は実装すべきおよび避けるべきスタイルを示した做および不などをそれぞれ項目ごとに記しています。

盖帽? ?

帽を利用することで,開発者は選んだプロトコルに対して不可知论者でありながらlow-codeな実装を帽に任せることができます。たとえば帽は以下のような典型的な構成要素のサービスをSAP业务技术平台上に構築する場合の問題を解決します。

- UIレイヤ:UI5のアプリケーション——应用程序レイヤ:MTAとして用意したJavaアプリケーション(吻浣熊サーバーを利用)- DBレイヤ:HANA云/ / UI5のアプリケーションとJavaアプリケーションの間を結ぶプロトコルはODataとします。>< /代码

我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是。

  • ui
    • ui5
  • 应用程序
    • 中文:中文:中文
    • MTAをSAP业务技术平台上にデプロイすると動作確認までに時間がかかる
  • db
    • エンティティは基本的に特定のRDBMSを具現化したものであるため,可重用なサービスの作成は困難

我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是,我的意思是。

  • ui
    • UI5はスクラッチで記述する必要があります
      ->
  • 应用程序
    • 中文:中文:中文
      - >プロトコルとしてのODataのハンドリングを帽が負担,開発者はOData特有のロジックを避けてビジネスロジックを実装
    • MTAをSAP业务技术平台上にデプロイすると動作確認までに時間がかかる
      -> cap
  • db
    • エンティティは基本的に特定のRDBMSを具現化したものであるため,可重用なサービスの作成は困難
      - >各DB特有の実装を帽が負担,開発者はcdで共通のドメインをモデリングしてコンフィグレーションによって複数のDBに対応

2.盖帽

帽ではドメインモデル,サービスモデルおよびUIマークアップをcdで記述することでデータベース,サービスおよびODataとしてサービス公開した場合のUIアノテーションを自動で生成します。。

。また,この自動で生成されたCRUD処理のサービスに対してnode . jsもしくはJavaを用いた拡張開発も可能です。node . jsやJavaのどちらの拡張開発の場合でも帽が用意したSQLライクな記述に対応したAPIを用いて簡便にCRUD処理を拡張可能です。

3.cap(帽子

cds-dk

【翻译

cds-dkをインストールした環境の终端上で次のコマンドを実行することでプロジェクトを生成できます。

CDS init []>< /代码

外部モデルのインポート

外部モデルのedmxを取り込み,プロジェクトのドメインもしくはサービスのモデルとして定義できます。

CDS导入>< /代码

ローカルテスト

。。

cd表>< /代码

ローカルテストとして立ち上げた帽のサービスは直接アクセスするだけでなく,SAP业务应用程序工作室などのIDEに組み込まれているHTTP REST客户机などを用いても実装された機能を確認できます。。

cd -dk

cd -dk。

cd env>< /代码

4.デモ

4.1 .

★★★★★★★★

  • 答:SAP Business Application Studio(英文)
  • B: VSCode

。SAP业务应用程序工作室の場合は特定の設定で立ち上げることで自動で開発に必要なすべての環境がセットアップされます。VSCode / VSCode / VSCode / VSCode / VSCode / VSCode / VSCode中文:啊哈,啊哈,啊哈。

4.1-A SAP Business Application Studio

前提条件

・SAP业务技术平台の审判アカウントもしくは生产アカウントを持っていること

审判:

  1. 庭审

2.SAP业务应用程序工作室

开发空间(Dev Space)

3.创建目录

4.创建

开发空间(Dev Space)。

5.开发空间

6.Terminal > New Terminal

。”() +ctrl“。

7.“cd -v”,()

帽プロジェクトを操作するツールのバージョンを確認し,そのツールが設定された環境であることを確認します。”Bash: cds: command not found6.“哇!哇!”“。

开发空间の起動するタイミングによってこのツールのバージョンは上記画像と異なる可能性があります。。# # # # # # # # # # # # # # # # # # # # # #cd - help(以降,本ブログにおけるcdコマンドの帮助の前にあるハイフンの数はすべてふたつ)“你说得对,我说得对。”

4.1-B VSCode

前提条件

  1. npm

【中文翻译

  1. (OS, Windows, Windows, OS, Windows, OS, Windows, OS, Windows, OS, Windows, OS, Windows, OS, Windows, OS, Windows, OS, Windows, OS, Windows

ローカル環境でのテスト実行時に使用するSQLite? ? ?。

  1. “Npm install -g @sap/cd -dk

npm。

  1. “cd -v”,

帽プロジェクトを操作するツールのバージョンを確認し,そのツールが設定された環境であることを確認します。”未找到命令2.“中文”的意思是“中文”。“。# # # # # # # # # # # # # # # # # # # # # #cds”の実行で確認できます。

  1. VSCode

VSCode

  1. サイドバーの”扩展(拡張機能)”を押下

“ctrl + shift + x”,。

  1. SAP CDS语言支持“哇!

★★★★★★★★★★★このエクステンションは帽におけるドメイン定義の際に利用する言語のシンタックスやコード補完をSAP业务应用程序工作室のようにサポートします。

  1. “cd -v”

4.2帽子

“终端>新终端”。

CDS init simpledemo“。”cd init(<プロジェクト名>]“を実行することでcds-dkは新規プロジェクトを生成します。Node.js。

カスタムハンドラをJavaで利用したい場合は”CDS init -help“呀!”“哇!”“哇!”“哇!”“哇!”cd初始化-添加样本(添加)“呀!”。

このプロジェクト生成コマンド“cd init”の詳細は“cd init - help”で確認できます。。

  1. 通达
cd表>< /代码

“https://localhost:PORT”! ! ! ! ! !このURLにアクセスすることで公開したサービスのナビゲーションが用意されたページにアクセスすることができます。“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”“”

“cd表”は読み込んでいる帽のファイルが書き換わるごとにサービスを公開しなおします。。

cd表“你说得对吗?”cd运行“? ? ? ?”

4.3

  1. 【翻译

“cat-service.cd”

  1. 通篇通篇

“cat-service.cds”SAP业务应用程序工作室を利用している場合,1行目にある管理をCtrlを押下しながらクリックすることでその実装を確認することもできます。

使用{国家,管理}从'@sap/cds/common';服务目录服务{实体图书{键ID:整数;title:本地化字符串;作者:美国作家协会;stock:整数;}实体作者{键ID:整数;name:字符串;书:联想到许多书上的书。作者= $self;}实体订单:管理{键ID: UUID;图书:图书协会; country : Country; amount : Integer; } }> < /代码

如果cat-service.cds

  1. 通达

記述して保存すると,すぐに下記のような文字列が“cd表”を実行した端末上に表示されます。

[cd] -模型从2个文件加载:srv/cat-service。cd node_modules / @sap / cd / common.cds[cd] -使用绑定从:{registry: '~/.cd -services。json'} [cds] -连接到db > sqlite {database: ':memory:'} />成功部署到sqlite内存db [cds] -服务目录服务{at: '/catalog'} [cds] -启动时间:1557.190ms [cds] -服务器监听{url: 'http://localhost:4004'}[以^C终止]>< /代码

我的意思是,我的意思是,我的意思是,我的意思是我的意思。

[cd] -模型从2个文件加载:srv/cat-service。cd node_modules / @sap / cd / common.cds>< /代码

サービスを定義したcat-service.cdsおよびそのサービス定義内で利用している@sap / cd /常见を定義しているcommon.cdsを読みこみます。

[cd] -使用绑定从:{registry: '~/.cd -services。Json '} [cds] - connect to db > sqlite {database: ':memory:'} />成功部署到sqlite in-memory数据库>< /代码

【翻译】★★★★★★★★★★★★★★★★★★

[cd] -服务目录服务{at: '/catalog'}>< /代码

cat-service。cdで定義したサービスの内容がbaseURL + /目录に公開されることを示しています。“/catalog”(/catalog)路径

[cd] -发射时间:1557.190毫秒>< /代码

★★★★★★★★★★★★★★★★★★★★★★★★

[cd] -服务器监听{url: 'http://localhost:4004'}>< /代码

公開されたサービスのbaseURLがhttp://localhost: 4004であることを示しています。

ODataサービスとしての元数据は以上の実装で利用可能です。しかしこのままではDBの定義がないため,“4.4 DB定義”でこのサービスの定義をDB定義として利用するドメインに定義しなおします。。

4.4 db

。。通达,通达,通达。このステップで実施するサービス定義およびDB定義を読み込んで,帽が自動的にこれらに対応したCRUDサービスを生成します。

  1. 【翻译

. db . db . db . db . db

  1. 【中文译文

“”“”“”。我的书店。

名称空间my.bookshop;使用{国家,管理}从'@sap/cds/common';实体图书{键ID:整数;title:本地化字符串;作者:美国作家协会;stock:整数;}实体作者{键ID:整数;name:字符串;书:联想到许多书上的书。作者= $self;}实体订单:管理{键ID: UUID; book : Association to Books; country : Country; amount : Integer; }> < /代码

db / schema.cds

  1. サービス定義の書き換え

。1。

用我的。Bookshop作为我从'../db/data-model';服务目录服务{实体图书@只读作为投影在my.Books;@readonly作为my.Authors的投影;@insertonly作为my.Orders上的投影;}>< /代码

如果cat-service.cds

  1. 这就是我的梦想

。dbディレクトリ配下にcsvディレクトリを作成し,その中に配置されている次の3つの条件を満たすファイルを配置します。

  • “{namespace}-{}.csv”
  • 中文:
  • csvファイルの二行目以降は各レコードを表す

1 .中文:

ID、姓名101、Emily Brontë 107、charlotte Brontë 150、Edgar Allen Poe 170、Richard Carpenter 181、梅田卓野191、高谷明仁256、浅井亮267、Nabaraj 268、福间神名750、Hummus Motors 840、斋宫秀美子>< /代码

db / csv / my.bookshop-Authors.csv

ID;标题;author_ID;股票201;呼啸山庄;101;12 207;简·爱;107;11 251;乌鸦;150;333 252;埃莉奥诺拉;150;555 271;猫兽;170;22 505;中型;181;256 501;Kittler介绍现代计算机媒体;181;256500;Zex Dynamics和著名的交叉点;191;235 512;如何用你的酷实现吃最好的印度菜;256;16 612;新尼泊尔帕尼尔;267;123 679;鹰嘴豆泥,沙拉三明治,2 .韩式中国料理在日本的应用268;34 681;Hell’s K本土化;268;45 751;摩托车社交游戏;750;125 859>< /代码

db / csv / my.bookshop-Books.csv

[cd] -使用绑定从:{registry: '~/.cd -services。[cd] -连接到db > sqlite {database: ':memory:'} >从db/csv/my. bookstore - authors .csv >填充my. bookstore .books from db/csv/my. bookstore - authors .csv >成功部署到sqlite in-memory db [cd] -服务目录服务{at: '/catalog', impl: 'srv/cat-service.js'} [cd] -启动于:1009.187ms [cd] -服务器监听{url: 'http://localhost:4004'}[以^C终止]>< /代码

“cd手表”、“cd手表”、“cd手表”、“cd手表”、“cd手表”。

> fill my. bookstore . authors from db/csv/my. bookstore - authors .csv > fill my. bookstore .books from db/csv/my. bookstore - books .csv>< /代码

2次の出力は用意したつのcsvファイルが読み込まれたことを示しています。

4.5

  1. ローカル実行

“cd手表”、“cd手表”、“cd手表”、“cd手表”等。

http://localhost: 4004 / cat-service /作者にアクセスします。これは定義したCatalogServiceの作者に対する过滤条件なしの读呼び出しです。

  1. その他CRUD機能のテスト

次のURLに配置した邮差のコレクションを利用して,その他CRUD処理をテスト実行できます。

https://raw.githubusercontent.com/SAPDocuments/Tutorials/master/tutorials/cp-apm-nodejs-create-service/postman.json

? ?

第2页:。

“cd init -help”

“cd init -help”。

@sap/cds-dk: 3.2.0 @sap/cds-foss: 2.2.0 @sap/cds-reflect: 2.13.4 @sap/cds-runtime: 2.7.8 Node.js: v10.23.0 home: /extbin/npm/globals/lib/node_modules/@sap/cds>< /代码
概要cd init[<项目>][<选项>]<项目>で指定したディレクトリ配下に新規プロジェクトを生成する。。オプション——添加<功能|以逗号分隔的功能>単数もしくは複数の機能をプロジェクト生成時に追加する。。nodejs - Node.js。“java”。java - java。“Node.js”。“Java Maven原型”hana - SAP hana。mta——多目标应用程序の設定ファイル“mta.yamlを追加する。cf-manifest - Cloud Foundryネイティブなアプリのための設定ファイル“services-manifest.ymlを追加する。この方法では,“cf install-pluginCreate-Service-Pushを使用して個別にインストールする               必要がある”Create-Service-Pushプラグイン”を利用します。“cf create-service-pushは”               サービスを作成し,アプリケーションをSAP业务技术平台にプッシュします。 pipeline - CI/CDパイプラインのためのファイルを追加する。 samples - シンプルなサンプル実装を追加する。 --java:mvn  アーキタイプのサポートしているパラメータを追加する。 https://jarcasting.com/archetypes/com.sap.cds/cds-services-archetype/1.10.0/ --force 指定したディレクトリ内ですべてのファイルを上書きする。 実行例 cds init test cds init test --add java cds init test --add java,hana cds init --add mta cds init --add cf-manifest cds init --add java --java:mvn groupId=myGroup,artifactId=newId,package=my.company 補足 “cds add”は“cds init --add”の代わりに使用可能です。> < /代码

指定的标签

      11日评论
      你一定是
      作者简介照片刘明万博新体育手机客户端”src=
      明刘
      。1 > > > > > > > > > > >SAP云应用程序编程模型でAPIを呼び出して,S4 hanaの標準テーブルへアクセスできますでしょうか吗?。
      作者简介照片浅井良万博新体育手机客户端”src=
      Asai良
      博客作者

      ★★★★★★★★★★★★★★★★★★★★★★★★★

      1. 4 .
      2. アクセスしたいテーブルのODataサービスのedmxを取得
      3. edmx“cd导入”,CAP:
      4. ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
      5. 【可选】
      6. package.json

      《使用SAP云应用程序编程模型构建应用程序》第4周-第2单元连接远程服务”(英文)。このopenSAPの映像内で触れられている実装のサンプルはGitHub全英文,全英文。> >も合わせてご参照ください。

      作者简介照片刘明万博新体育手机客户端”src=
      明刘

      ★★★★★★★★★★★★★★★★★

      【翻译】

      啊哈,啊哈,啊哈。

      “”“”“”“”“”

      作者简介照片刘明万博新体育手机客户端”src=
      明刘

      浅井

      ★★★★★★

      “”“”“”“”“”“”“”“”“”“”“”

      4、中文:

      ?

      - - - - - - - - - - - - - - - - - - - - - - - - - -
      这个XML文件似乎没有任何与之相关的样式信息。文档树如下所示。
      <错误xmlns= "http://docs.oasis-open.org/odata/ns/metadata>
      <代码>502> < /代码
      <消息>请求远程服务时出错:请求失败,状态码403消息> < /
      > < /错误
      - - - - - - - - - - - - - - - - - - - - - - - - - -
      包。json文件
      ------------------------------------------------------------------------------------------------------------------------------------
      {
      “名称”:“apitest1”,
      “版本”:“1.0.0”,
      "description": "一个简单的CAP项目。"
      "repository": "",
      “许可证”:“无证”,
      “私人”:没错,
      “依赖”:{
      “@sap / cd”:“^ 4”,
      :“@sap / cds-dk ^ 4.0.3”,
      “表达”:“^ 4”
      },
      " devDependencies ": {
      :“sqlite3 5.0.0”
      },
      "脚本":{
      "start": "cd run"
      },
      “cd”:{
      "需要":{
      " API_BUSINESS_PARTNER ": {
      “类型”:“odata”,
      “模型”:“srv /外部/ API_BUSINESS_PARTNER”,
      “凭证”:{
      “目的地”:“je9_clnt272”
      }
      },
      "数据库":{
      “类型”:“sqlite”,
      “模型”:“*”,
      “凭证”:{
      “数据库”:“my.db”
      }
      }
      }
      }
      }
      ---------------------------------------------------------------------------------------------------------------------
      作者简介照片浅井良万博新体育手机客户端”src=
      Asai良
      博客作者

      ★★★★★★★★★★★★★★★★★★★★

      “请求失败状态码403”が出力されているので,S / 4 hanaに対する接続の設定に誤りがありそうです。

      作者简介照片刘明万博新体育手机客户端”src=
      明刘

      cd运行,cd运行,cd运行,cd运行,cd运行

      作者的个人资料照片万博新体育手机客户端大木安乐”src=
      大树Anraku将

      BTPで手順を踏み4の读機能のテストのため,http://localhost: 4004 / cat-service /作者にアクセスしたのですが,下図のようなエラーとなりました。

      ? ?

      % u30B9%u30AF % u30EA % u30FC % u30F3%u30B7%u30E7%u30C3%u30C8”data-index=

      スクリーンショット

      作者资料照片菩萨朋万博新体育手机客户端友”src=
      Bodhisattwa朋友

      你好Asai良

      我对BTP的概念完全陌生。

      你的文章对我的入门很有帮助。

      在命令行中,当我们说“npm install”时,我们指的是节点包管理器

      当我们说“cf push”时,我们指的是云计算。

      当我们说"cds init firstprojects" ....

      这里的cds是什么意思,它是指cds视图模型吗。

      我对整个概念都很陌生,所以我的理解可能是错误的。

      大树Anraku将明刘如果你能回答这个问题,那就太有帮助了。非常感谢你的建议

      ”data-index=

      提前感谢

      作者简介照片小西宏万博新体育手机客户端”src=
      Hiroshi Konishi

      中文:汉译英。

      もし知っていればなのですがSAP S / 4 HANAのイベント通知のやり方を知っていれば,教えていただけるとありがたいです。

      作者简介照片吉田绫万博新体育手机客户端”src=
      阿雅吉田

      Asai様

      4.5 "【中文翻译】

      次のURLに配置した邮差のコレクションを利用して,その他CRUD処理をテスト実行できます。“……

      业务应用程序工作室の場合は,ホスト名やポート番号の修正が必要という認識です。

      ホスト名やポート番号を修正して,邮差からリクエストを送ったところ,401エラーになりました。

      ,邮差,?

      設定手順についてご教示いただけますと幸いです(参考サイトのご紹介だけでも助かります)。