CAPM Flashcards
What is CAPM
The SAP Cloud Application Programming Model (CAP) is a framework of languages, libraries, and tools for building enterprise-grade services and applications. It guides developers along a ‘golden path’ of proven best practices and a great wealth of out-of-the-box solutions to recurring tasks.
CAP places primary focus on domain, by
capturing domain knowledge and intent instead of imperative coding — that means, What, not How — thereby promoting:
Close collaboration of developers and domain experts in domain modeling.
Out-of-the-box implementations for best practices and recurring tasks.
Platform-agnostic approach to avoid lock-ins, hence protecting investments.
What is the backbone of language of CAPM
CDS
What does Domain Models capture?
static aspects of problem domains as well-known entity-relationship models.
What are Associations
capture relationships.
What are Compositions
extend that to easily model document structures.
What are Annotations
allow enriching models with additional metadata, such as for UIs, Validations, Input Validation or Authorization.
What are Aspects
allow to flexibly extend models in same or separate modules, packages, or projects; at design time or dynamically at runtime.
What is an example of separation concerns
// Separation of Concerns
extend Books with @restrict: [
{ grant:’WRITE’, to:’admin’ }
];
What is an example of Verticalization
// Verticalization
extend Books with {
ISBN : String
};
/What is an example of Customization
// Customization
extend Orders with {
customer_specific : String
};
What is Core Query Language (CQL)
CQL is CDS’s advanced query language. It enhances standard SQL with elements to easily query deeply nested object graphs and document structures.
What is an example of CQN in JavaScript language
// In JavaScript code
orders = await SELECT.from (Orders, o=>{
o.ID, o.descr, o.Items (oi=>{
oi.book.title, oi.quantity
})
})
All behavioral aspects in CAP are based on ubiquitous notions of Services and Events, as expressed in this manifest:
- All active things are Services — local ones, remote ones, as well as databases
- Services are declared in CDS — reflected and used in generic service providers
- Services provide uniform APIs — consumed by other services or frontends
4.Services react on Events — covering synchronous and asynchronous APIs - Services consume other Services — in event handler implementations
- All data is passive — that is, without its own behavior, adhering to REST
Are Services in CAPM stateless
True