SAP Cloud Application Programming 编程模型(CAP)的设计准则
在SAP的云應用程序編程模型(CAP)是一個框架,語言,庫和工具,為構建企業級的服務和應用。它引導開發人員沿著經過驗證的最佳實踐和大量現成的解決方案來應對重復性任務的“黃金之路” 。
基于 CAP 的項目受益于對業務領域的主要關注。我們沒有深入研究過于技術性的話題,而是專注于在快速變化的云技術世界中加速開發和保護投資。
CAP 框架融合了經過驗證和廣泛采用的開源和 SAP 技術,如下圖所示。
在開源技術之上,CAP主要增加了:
-
核心數據服務 (CDS)作為我們用于域模型和服務定義的通用建模語言。
-
用于 Node.js 和 Java 的服務 SDK 和運行時,提供用于實現和使用服務的庫以及自動為許多請求提供服務的通用提供程序實現。
在當今的數字化轉型時代,跟上快速變化的云技術和平臺世界是一項重大挑戰。CAP 通過更高級別的概念和 API避免了這種鎖定,它們在很大程度上抽象了低級平臺功能和協議。這尤其適用于以下情況:
- 特定于平臺的部署方法和技術
- 特定于平臺的身份提供者和身份驗證策略
- SaaS 解決方案和租戶隔離中租戶的啟用/停用
- 同步協議,如REST、OData或GraphQL
- 異步通道和代理,如SAP Event Mesh、MQ或Kafka
- 不同的數據庫技術,包括SQL和NoSQL
這些抽象使我們能夠快速適應新興技術或平臺,而不會影響應用程序代碼,從而保護您的投資。
CAP is Open and Opinionated → Zero Lock-in
CAP 始終遵循如下的設計準則:
(1) 從低級平臺功能和協議中抽象出來并避免鎖定到低級平臺功能和協議的高級概念和 API.
但是,所有抽象都遵循玻璃盒模式,允許在需要時不受限制地訪問較低級別的事物。
(2) 最佳實踐為許多重復性任務提供了開箱即用的通用解決方案,但是你總是可以在自定義處理程序中以你的方式處理事情,例如決定是采用CQRS還是事件源…而 CAP 只是試圖讓乏味的任務擺脫你的方式。
(3) 對 SAP Fiori和SAP HANA 的開箱即用支持,同時還可以通過提供新的數據庫集成來選擇其他 UI 技術,例如Vue.js或數據庫。
(4) SAP Business Application Studio和Visual Studio Code或Eclipse 中提供的專用工具支持。但是CAP 不依賴于這些工具。CAP 中的所有內容都可以使用@sap/cds-dkCLI 和您選擇的任何編輯器或 IDE 來完成。
專注領域,由CDS提供支持
CAP主要關注領域,通過捕捉領域知識和意圖而不是命令式編碼——也就是說,是什么,而不是如何——從而促進:
- 開發人員和領域專家在領域建模方面的密切合作。
- 最佳實踐和重復性任務的開箱即用實施。
- 與平臺無關的方法可避免鎖定,從而保護投資。
下圖說明了 CDS 模型的普遍使用,它推動了通用運行時,如 CAP 服務運行時或數據庫。
核心數據服務 (CDS)
CDS是我們的通用建模語言,用于以概念、簡潔和易于理解的方式捕獲問題域的靜態和行為方面,因此是 CAP 的支柱。
下面是 CDS 模型的一個例子:
-
領域模型將問題領域的靜態方面捕獲為眾所周知的實體關系模型。
-
association 捕獲關系。組合將其擴展為輕松建模文檔結構。
-
annotation 允許使用額外的元數據來豐富模型,例如UI、驗證或授權。
CDS Aspects & Mixins
aspect 允許在相同或單獨的模塊、包或項目中靈活地擴展模型;這些擴展可以在設計時或在運行時動態完成。
這極大地促進了垂直化和定制化場景的適應性,尤其是在 SaaS 解決方案中。
此外,這促進了關注點分離,例如通過排除技術關注點來保持領域模型的清潔和可理解性。
更多Jerry的原創文章,盡在:“汪子熙”:
總結
以上是生活随笔為你收集整理的SAP Cloud Application Programming 编程模型(CAP)的设计准则的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 不用拿手机了!高德地图PC体验版上线 大
- 下一篇: 抖音火山版私信显示消息详情怎么关闭