CAPM Flashcards

(25 cards)

1
Q

What is CAPM

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

CAP places primary focus on domain, by

A

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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the backbone of language of CAPM

A

CDS

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does Domain Models capture?

A

static aspects of problem domains as well-known entity-relationship models.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What are Associations

A

capture relationships.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are Compositions

A

extend that to easily model document structures.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What are Annotations

A

allow enriching models with additional metadata, such as for UIs, Validations, Input Validation or Authorization.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What are Aspects

A

allow to flexibly extend models in same or separate modules, packages, or projects; at design time or dynamically at runtime.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What is an example of separation concerns

A

// Separation of Concerns
extend Books with @restrict: [
{ grant:’WRITE’, to:’admin’ }
];

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is an example of Verticalization

A

// Verticalization
extend Books with {
ISBN : String
};

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

/What is an example of Customization

A

// Customization
extend Orders with {
customer_specific : String
};

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is Core Query Language (CQL)

A

CQL is CDS’s advanced query language. It enhances standard SQL with elements to easily query deeply nested object graphs and document structures.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is an example of CQN in JavaScript language

A

// In JavaScript code
orders = await SELECT.from (Orders, o=>{
o.ID, o.descr, o.Items (oi=>{
oi.book.title, oi.quantity
})
})

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

All behavioral aspects in CAP are based on ubiquitous notions of Services and Events, as expressed in this manifest:

A
  1. All active things are Services — local ones, remote ones, as well as databases
  2. Services are declared in CDS — reflected and used in generic service providers
  3. Services provide uniform APIs — consumed by other services or frontends
    4.Services react on Events — covering synchronous and asynchronous APIs
  4. Services consume other Services — in event handler implementations
  5. All data is passive — that is, without its own behavior, adhering to REST
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Are Services in CAPM stateless

A

True

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Where are services declare

A

in CDS models, used to serve requests automatically. They embody the behavioral aspects of a domain in terms of exposed entities, actions, and events.

17
Q

Provide an example of service definition

A

// Service Definition in CDS
service OrdersService {
entity Orders as projection on my.Orders;
action cancelOrder (ID:Orders.ID);
event orderCanceled : { ID:Orders.ID }
}

18
Q

Every active thing in CAP is a service, including local services or remote ones — even databases are represented as services. provide an example

A

// Consumption in JavaScript
let srv = cds.connect.to(‘OrdersService’)
let { Orders } = srv.entities
order = await SELECT.one.from (Orders)
.where({ ID:4711 })
srv.cancelOrder (order.ID)

19
Q

What is domain modelling

A

Most projects start with capturing the essential objects of their domain in a respective domain model. Find here an introduction to the basics of domain modeling with CDS, complemented with recommended best practices.

20
Q

What is providing servicdes

A

This guide introduces how to define and implement services, leveraging generic implementations provided by the CAP runtimes, complemented by domain-specific custom logic.

21
Q

What is consuming services

A

Learn how to use uniform APIs to consume local or remote services.

22
Q

What is the capture intent philosophy

A

Capture Intent — What, not How!

23
Q

What is ERM

A

Entity Relationship Model

24
Q

What are the uses of the domain models

A

They serve as the sources for persistence models, deployed to databases, as well as the underlying model for services acting as API facades to access data.

25
What is Node.Js
It is a JavaScript runtime, or an environment that allows us to execute JavaScript code outside of the browser. A “runtime” converts code written in a high-level, human-readable, programming language and compiles it down to code the computer can execute.