HC450SHC Application Development Flashcards
SAP BTP account types are
enterprise and trial.
What is entitlement
is the right to provision and consume resources such as the amount of memory.
What is Quotas
this is the numeric quantity defining the maximum allowed consumption of a resource.
What are the components of an environment
- Runtime
- Services
- tools
Sub account environment provides the atmosphere for creating CAPM applications such as
- Services
- Applications
- Tools
What are the visual overview representation of SAP BTP
- Persistency
- Domain model
- Access
- Application development
What is the visual process followed for the application development for SAP Hana Cloud
- SAP BTP
- SAP Hana Cloud
- SAP BAS
- CAP project
What is the scenario overview – visual representation
- Application Development – SAP FIORI.
- Access – Odata Services + custom Handlers.
- Domain model – CDS Models.
- Persistency – SAP Hana Cloud – Tables.
What are the personas for SAP Hana Cloud Application Development:
- DB developer
- Application developer
- Client UI developer
Within DB development, what are the main areas:
- Data Persistency
- Analytical modelling
- Data Processing
What is SAP Cloud Foundry?
is an open Platform-as-a-Service (PaaS) targeted at microservice development and orchestration.
Can the Cloud Foundry reduce cost, and complexity associated with configuring, managing, and securing infrastructure for your applications?
True.
What are the Cloud Foundry significant benefits to developers and organizations:
- Language independent
choose any language runtime, and add new languages as needed. - Admin separation
administrators and developers can work in parallel. - Standard Command Line Interface
the same CLI is used by all CF providers, not just SAP. - Open Source
Can the Cloud Foundry be accessed via URL?
True
The application can provide various types of content via the URL, such as the following:
- A set of HTML5 pages that you can access from a web browser
- A REST service to be read by a client application
Applications are deployed to the target platform by using the push operation of the platform API. Is it true these applications are pushed to the platform?
True.
Pushing an application works as follows:
- The application files are uploaded to the platform.
- Programs called buildpacks are executed to create archives that create the self-contained and ready-to-run executable applications.
What are buildpacks:
programs
The following functions are accessible as services:
- The SAP HANA database
- The XSUAA identity provider
- The SAPUI5 core library
Which of the following is the correct sequence when using Business Technology Platform and its components for Application development?
Create SAP BTP Trial Account,
Create SAP HANA Cloud Trial Account,
Subscribe to Business Application Studio Trial,
Create CAP Project using SAP Business Application Studio
Which of the Personas are involved in Application development in SAP HANA Cloud?
DB developer and application programmer.
What is SAP Cloud Application Programming Model” (CAPM)
It is an open and opinionated, framework of languages, libraries, and tools for building enterprise-grade services and applications.
What are the environments in SAP BTP
- Cloud foundry
- Kubernetes
- XSA
- Local
What are the datasources feeding CAPM
- SAP Hana
- PostgreSQL
- Sqlite
What are the front ends used for CAPM:
- SAP Fiori
- Angular
- React
- Vue
Can CAPM be used partially or totally?
True
Can CAP supports both open-source and SAP tools and technologies?
True
What are the cloud technologies provided by CAPM to complement native cloud technologies
- CDS also known as Core data Services.
Is the data modelling infrastructure also known as Backbone of the Programming Model that provides means to capture service definitions and data models. - Service SDKs
SAP Cloud Application Programming Model has libraries available for both Java and Node.js, which you can use to provide and consume services through synchronous and asynchronous APIs.
The SDKs include out-of-the-box integration to lower-level platform services, such as authentication and credential-flows or on and off-boarding of SaaS tenants. - (Generic) Service Providers
Interpret CDS models to automatically serve metadata and CRUD requests out of the box. - Data Access Layers
Use the CDS models to support higher-level data access options. For example, from data models in CDS we generate corresponding sets of JPA classes. - SAP Business Application Studio
is our IDE of choice as well as other tools tailored for the new programming model such as CDS Editors, Code Assists, Outline Views, new Project Explorer, etc. can also be used.
What is the Purpose of SAP Cloud Application Programming Model
to focus on the domain problems
What are the domain problems to be resolve by experts in each area
- Declaratively capture domain knowledge in CDS models
- Fuels generic runtimes to serve recurring tasks automatically.
- Minimizing boilerplate code to real custom logic
What is the golden path to create CAPM applications
- Define your Data Model using CDS
- Define your Services using CDS
- Add Custom Logic using Java or Node.js
- Add Fiori UIs using CDS Annotations
- Reuse existing Services using CDS Service SDKs
Which of the two libraries are available for the Service SDKs?
Java, and Node.JS
Which is the IDE of choice when using CAP on SAP Business technology Platform?
SAP BAS
You are programming using the . You need to define an OData service. What is the extension of the file that you create?
BAS
Once a Development Space is created, its name and kind of application cannot be changed
True
What is the cli to include mta.yml file to a project
cds add mta for creating the mta.yaml.
What are the business artefacts used in SAP BAS – CAPM project
- db :
For the database level schema model. - srv :
For the service definition layer - app :
For UI artifacts
What are the folders within a CAPM project
App => Web browser a@ runtime
SERV: => application runtime in cloud foundry
DB => stored in SAP Hana.
When deployed, every module of the project will have
- Builpack
- Development language
- Runtime environment.
In BAS there are two ways to create a project type
basic MTA and CAPM
MTA contains the following
- Global Elements
- Modules
- Resources
- Properties
- Parameters
What does the MTA – Global Elements have:
These include the application identifier and version,
a description (optional),
copyrights,
author, and so on.
What does the MTA – Modules contain
Modules created in the application, such as the SAP HANA database and the Node.js module,
including name,
type,
path, and requirements on other modules.
What does the MTA – Resources contain
Dependent services which are not provided by the application, such as XS (XSUAA),
(XSHDI) container, and
XSJob-Scheduler.
What does the MTA – Parameters contain:
Reserved variables of a module, which can be accessed by other modules, for example, user, app-name, default-host, or default-url using the placeholder notation.
Parameters can be read-only or read/write enabled.
MTA - Global Elements have mandatory fields which are:
ID and version.
MTA - Modules has mandatories fields such as:
Name, Path and Type.
MTA - Resources has mandatories fields such as:
Name and Type.
We have two options to create the CAPM project:
- Using Terminal window command cds init <project></project>
- Alternatively we can use the wizard to create projects using the Project template either from Welcome page or via the View: Find Command option in the menu bar.
The Wizard (MTA) consists of the following user Inputs:
- Name :
Name of the Project is mandatory and unique and is valid across platforms. - Runtime :
Two runtimes are available from the dropdowns, Node.js and Java. Once a runtime is selected and confirmed, this cannot be changed. In case a change is required a new project need to be created.
After a project is created, some capabilities can be added to MTA via the following CLI:
cds add mta
What are the list of capabilities currently available:
- CI/CD Pipeline Integration
- Configuration of SAP HANA deployment
- MTA based SAP Business Technology Platform deployment.
- Multitenancy
- Cloud
What are the two runtime environments:
Node.js and Java.
What is YAML:
it is human friendly data serialization language for all programming languages.
What are the purposes of MTA model:
- Define an application composed of multiple (heterogeneous) sub-components (benefit: tools can establish a unique lifecycle of these sub-components)
- Declare resources the application depends upon at runtime and/or deployment time (benefit: tools can allocate and bind such resources)
- Define configuration variables (and their relation), whose values distinguish different deployments of the application (benefit: tools can bind sub-components, can automate deployment based on default settings, or request missing mandatory values interactively
An administrator optionally augments the MTA model in the deployment descriptor with an extension descriptor(mtaext.yaml),and uses the MTA deployer to orchestrate the actual deployment.
True
What is MTAD.YML
Deployment descriptor for mta. The info provided contains instruction to the deploy service.
MTAEXT.YML
Deployment extension descriptor, this is used to provide system specific details not known until deployment.
What are the MTA development descriptor:
o Global elements
o Modules
o Resources
o Properties
o Parameters
The MTA development descriptor contains the following parts:
- Global elements
These include the application identifier and version, a description (optional), copyrights, author, and so on. - Modules
Modules created in the application, such as the SAP HANA database module and the Node.js module, including name, type, path, and requirements on other modules. - Resources
Dependent services that are not provided by the application, such as XS Advanced User Account and Authentication (XSUAA), XS Advanced HANA Deployment Infrastructure (XSHDI) container, and XSJob-Scheduler. - Properties
These can be specified when the value has to be determined during the deployment, for example, for generated URLs of other services or API keys. - Parameters
Reserved variables of a module, which can be accessed by other modules, for example, user, app-name, default-host, or default-uri using the placeholder notation. Parameters can be read-only or read/write enabled.
What are the global elements contained in the MTA.YML file:
- _schema_version
- ID **
- Description
- Version *****
- Provider
What is the content of _schema-version:
Specifies the version of the MTA descriptor in the following schema: <major>.<minor>.<patch> Indicating a major version is enough</patch></minor></major>
What does the ID contain:
Mandatory string to identify the application.
What does the description contain in MTA?
Optional description text
Is the Version compulsory - MTA:
True
What does version of MTA.YML contain:
Mandatory version of the application: <major>.<minor>.<patch></patch></minor></major>
What is the Provider of the MTA.YMLS file:
Optional string to specify the organization providing the application.
What is the Copyright of the MTA.YMLS file:
is an Optional copyright information
What are the components of modules of the MTA project – file
- Name **
- Type **
- Path **
- Description
- Requires
- Provides
- Properties
- parameters
What are the mandatory elements of the Modules component of the MTA.yml file
Name, type, and path.
Within the MTA development descriptor, the modules element declares the source modules of the MTA project.
- Name
- Type
- Path
- Description
- Requires
- Provides
- Properties
- Parameters
What does MTA development descriptor Name include:
Mandatory name of the module. Unique in the descriptor file
What does MTA development descriptor type include:
Mandatory content of the module, for example, HDB, Node.js, JAVA, HTML5
What does MTA development descriptor Path include:
Mandatory file system path starting from the applications root director.
What does MTA development descriptor Requires include:
Optional section containing required sources of other modules.
What does MTA development descriptor Provides:
Optional section containing configuration data used by other modules.
What does MTA development descriptor Parameters include:
Optional named variable to be used by the deployer, for example, the amount of memory for the module.
Within the MTA development descriptor, the Resources section of the MTA project, includes:
- Name
- Type
- Description
- Properties
- Parameters
What is a resource: it is something that is required by a module of the MTA at runtime.
True
More precisely, an MTA descriptor declares a resource dependency, not the resource itself. Sometimes they are referred to as Backing Services.
True
What are the backing services:
- Name
Mandatory name of the module, unique in the descriptor file. - Type
Mandatory content of the resource, for example, com.sap.xs.uaa or com.sap.xs.hdi-container - Description
Optional description text - Properties
Optional named variable containing application-specific configuration data. - Parameters
Optional named variable to be used by the deployer, for example, the amount of memory for the module.
Within the MTA development descriptor, the Parameters section of the MTA project, includes:
Reserved variables – read only, read or write or write only values
Refer to parameters via the placeholder (4) notation ${<parameter>}
Default – URL, memory, disk – quota or service name</parameter>
What are Parameters
Parameters are reserved variables that influence the behavior during the deployment process and/or during runtime.
In addition, we refer to the service-name and default-url parameters that are filled by the system, using the placeholder notation ${<parameter_name>}. During the deployment, the parameter value is determined, and the placeholder is replaced with the actual value.</parameter_name>
True
What are the sections of the MTA.yml file on the graphical editor:
- Modules
- Resources
- Basic information
What is the origin of the name “Multi-Target Application”?
”? It is an application made of multiple modules running in different runtime environments.
Which of the below parameters are mandatory in the Modules section of mta.yaml?
- Name
- Type
- Path
Which of the below option is used to Move the staged files to the Local Repository:
commit.
What is Git?
A tool for tracking changes in source code during software development.
What is the runtime structure:
- Browser
- Http
- Router
- Node.Js/Java->
- Hana Service
- HDI container
What are the SAP Hana DB module containing the design-time definitions of all the objects to be created in the database:
- Domain Models (Persistence).cds
- Tables and Views(.hdbtable and .hdbview)
- Calculation Views(.hdbcalculationview)
- Procedures (.hdbprocedure)
What are the minimum components when creating a CAPM project:
- An src folder, made to store the design time definitions of the database objects.
- A package.json file for configuration for the MTA project is required for example, to set the version and the options of the deploy program. In case of CAP projects this file is shared by all three modules.
A service of type HANA (technical name com.sap.xs.hdi-container) needs to exist for the HDI container to be accessible from Cloud Foundry.
True
.hdiconfig file contains all plug ins name and version for every supported file suffix.
True
.hdinamespace contains namespace configuration for the HDB module, including:
- Name
- Subfolder
- Append
- ígnore
What is domain model:
static and data related aspect of a problem domain in terms of entity relationship model. It is the base for persistence models.
What is persistence model:
a set of entities mapped from a domain model and deploy to the database.
What are Services:
They are exposed interfaces based on domain model.
What are consumers:
Other services or UIs which call services via an API.
The goal is to keep domain models clean, concise, and comprehensible by factoring out technical aspects separating concerns according to:
- Fiori markup
- Authorization
- Persistence
A GIT repository has at least one branch known as:
master
What are the names and type of the Remote GIT repository:
private and corporate
SAP Cloud Application Programming Model follows two major paradigms:
A declarative paradigm using CDS to capture knowledge about problem domains, and
A service-centric paradigm, with widespread usage of Services, Events and Queries.
What is our universal modeling language to capture static, as well as behavioral aspects of problem domains in conceptual, concise, and comprehensible ways:
CDS
Use namespaces if reusing models:
True
Use namespaces over top level context.
True
Using enterprise features for:
localized data, authentication and authorization
Reusability has several benefits - Repeat of @SAP/CDS/COMMOM
- Concise and comprehensible models
- Foster interoperability between all applications
- Proven best practices captured from real applications
- Streamlined data models with minimal entry barriers.
- Optimized implementations and runtime performance
What is another name for reusable objects:
aspects
Who provides the common types and aspects for applications:
@SAP/CDS/COMMON
What are the benefits of using @sap/cds/common:
- Concise and comprehensible models
- Foster interoperability between applications
- Proven best practices captured from real applications.
- Streamlined data models with minimal entry barriers.
- Optimized implementations and runtime performance.
What are the benefits of reusability:
models are concise and comprehensible by applied classic conceptual modeling methods.
@sap/cds/common defines the following aspects for use in your entity definitions:
- CUID: Use cuid as a convenient shortcut to add canonical, universally unique primary keys to your entity definitions.
- Managed: used managed to add four elements to capture created by/created at and latest changed by/changed at management information for records.
- Temporal: use temporal to take advantage of the built-in support that handles date-effective records and time slices, including time travel.
The common aspects are declared by:
“using” statement
What is Aspect cuid :
it is a shortcut to add a universally unique primary key to your definitions.
What is Aspect managed:
it is used to add the four audit dimensions created by, created at data, latest changed by and changed at
What is Aspect temporal:
It enables temporal data, which allows maintaining information relating to past, present, and future application time.
@sap/cds/common provides predefines easy to use types for:
- Countries
- Currency
- language
What is Localization:
it refers to adapting your business application to different languages to cater to specific regional markets.
Localization is split into two categories:
- localization for static content
- localization for dynamic content
How can the localization for static content be achieved:
This is achieved by externalizing all your text literals into separate text bundle files that we call the internationalization files, or in short, i18n files
How can localization for dynamic content be achieved by:
marking the attributes that need to support multiple languages with a special keyword called “localized”, this then creates a text table for each entity which has attributes defined as “localized”
What are Domain models used for:
They are static and data related aspects of problem domain in terms of entity relationship models.
What are persistence models:
a set of entities mapped from a domain model and deployed to the database.
SAP Cloud Application Programming Model follows two major paradigms
A declarative paradigm using CDS to capture knowledge about problem domains, and
A service-centric paradigm, with widespread usage of Services, Events and Queries.
What are aspects:
they are the reusable models that can be defined and then reused in other entities. They allow factoring out cross cutting or technical concerns into separate models or files.
What is the name of the pre build model delivered in CAPM:
common
What are the benefits of using applications provided by @sap/cds/common:
- Concise and comprehensible models
- Foster interoperability between all applications
- Proven best practices captured from real applications
- Streamlined data models with minimal entry barriers
- Optimized implementations and runtime performance
What are the aspects defined by @sap/cds/common:
- Cuid
- Managed
- Temporal
What is cuid:
It is a convenient shortcut to add canonical universally unique primary keys to your entity definitions.
What is managed:
this is used for adding four elements to capture created by/created at and latest changed by/changed at management information for records.
What is temporal:
this is used to handles date effective records and time slices including time traveling.
What is localization for dynamic content:
This is achieved by marking the attributes that need to support multiple languages with a special keyword called “localized”, this then creates a text table for each entity which has attributes defined as “localized”
What are associations:
They define relationships between entities
CDS associations define:
Relationships between entities.
Which is the parent folder for the data folder?
DB
Which DB Artifact is generated when the CDS entity is deployed to database?
DB table
Which folder is required under the db folder as a minimal requirement?
SRC
Which category of localization is used to define static content?
I18N
When using CAP in the SAP Business Application Studio, you want to use Core Data Services to define the persistence layer. Which extension do you use for the design-time file?
CDS
Which of the following are the categories for Localization?
Localized and localization.
What are services:
They exposed interfaces based on a domain model.
What are aspects:
reusable objects
What does CAPM provides:
the means to declaratively capture service definitions and data models, queries, and expressions in plain (JavaScript) object notations. CDS features to parse from a variety of source languages and to compile them into various target languages.
What are the source languages used in CAPM:
- CDS
- Json
- YML
- Code
Source languages are parse into CSN then those languages are compiled into the following language as:
- OData
- Open API
- Async API
- Json and YML
- SQL DDL
- Hana DDL
Is CSN derived from Json schema:
True
What is Definition Language (CDL):
Definition Language (CDL): A reference and overview of all CDS concepts and features with compact examples written in CDS’ definition language.