SAP云应用程序编程模型(CAP)是用于构建企业级服务和应用程序的框架、语言、库和工具。它引导开发人员沿着经过验证的最佳实践的“黄金之路”和大量针对重复性任务的现成解决方案。基于CAP的项目受益于对业务领域的主要关注。我们没有深入研究过于技术性的话题,而是专注于在瞬息万变的云技术世界中加速开发和保护投资。CAP框架结合了经过验证和广泛采用的开源和SAP技术,如下图所示。在开源技术之上,CAP有一个重要的补充:核心数据服务(CDS)作为我们用于域模型和服务定义的通用建模语言。适用于Node.js和Java的服务SDK和运行时,提供用于实现和使用服务的库以及自动为许多请求提供服务的通用提供程序实现。在当今的数字化转型时代,跟上快速变化的云技术和平台世界是一项重大挑战。CAP通过在很大程度上抽象低级平台功能和协议的高级概念和API避免了这种锁定。这尤其适用于:特定于平台的部署方法和技术特定于平台的身份提供者和身份验证策略在SaaS解决方案中启用/禁用租户和租户隔离同步协议,例如REST、OData或GraphQL异步通道和代理,例如SAPEventMesh,MQ或Kafka不同的数据库技术,包括SQL和NoSQL这些抽象使我们能够在不影响应用程序代码的情况下快速适应新兴技术或平台,从而保护您的投资。CAP是OpenandOpinionated→ZeroLock-inCAP始终遵循以下设计准则:(1)从低级平台功能和协议中抽象出来,避免锁定到低级平台功能和协议的高层概念和API。但是,所有抽象都遵循玻璃盒模式,允许在需要时不受限制地访问较低级别的事物。(2)最佳实践为许多重复性任务提供了开箱即用的通用解决方案,但您始终可以在自定义处理程序中按自己的方式处理事情,例如决定是使用CQRS还是事件溯源……以及CAP只是想摆脱繁琐的任务。(3)对SAPFiori和SAPHANA的开箱即用支持,同时还提供新的数据库集成以选择其他UI技术,例如Vue.js或数据库。(4)SAPBusinessApplicationStudio和VisualStudioCode或Eclipse中提供的专用工具支持。但CAP并不依赖于这些工具。CAP中的所有内容都可以使用@sap/cds-dkCLI和您选择的任何编辑器或IDE来完成。以领域为中心,由CDS提供支持CAP以领域为中心,通过捕获领域知识和意图而不是命令式编码——也就是说,是什么,而不是如何——从而促进:领域建模方面的开发人员和领域专家密切合作。开箱即用的最佳实践和重复性任务的实施。与平台无关的方法避免锁定,保护投资。下图说明了CDS模型的普遍使用,它驱动常见的运行时,例如CAP服务运行时或数据库。核心数据服务(CDS)CDS是我们的通用建模语言,用于以概念化、简洁和易于理解的方式捕获问题域的静态和行为方面,因此是CAP的支柱。下面是一个CDS模型的例子:领域模型将问题领域的静态方面捕获为众所周知的实体关系模型。关联捕获关系。Composition将其扩展为轻松地对文档结构进行建模。注释允许使用额外的元数据来丰富模型,例如UI、身份验证或授权。CDSAspects&Mixinsaspect允许在相同或不同的模块、包或项目中灵活扩展模型;这些扩展可以在设计时或运行时动态完成。这极大地促进了垂直化和定制场景的适应性,尤其是在SaaS解决方案中。此外,这促进了关注点的分离,例如通过排除技术关注点来保持领域模型的清洁和可理解性。更多Jerry原创文章在这里:《王子熙》:
