Micro Services Flashcards

1
Q

White Box testing

A

White-box testing (also known as clear box testing, glass box testing, transparent box testing, and structural testing) is a method of software testing that tests internal structures or workings of an application, as opposed to its functionality (i.e. black-box testing)

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

CAP services

A

Primary means for modularization

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

Micro Services

A

Deployment Units

  1. need to scale things differently
  2. different runtimes, for example, Node.js vs Java
  3. loosely coupled, coarse-grained subsystems with separate lifecycles

False reasons are: distributed development, modularization, isolation, …
→ there are well established and proven better ways to address these things, without the pain which comes with microservices.

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

Conceptual Definition Language (CDL)

A

The Conceptual Definition Language (CDL) is a human-readable language for defining CDS models. Sources are commonly provided in files with.cds extensions and get compiled into CSN representations. Following sections provide a reference of all language constructs in CDL, which also serves as a reference of all corresponding CDS concepts and features.

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

Domain Modeling

A

Domain Models capture the static, data-related aspects of a problem domain in terms of entity-relationship models. They serve as the basis for persistence models deployed to databases as well as for service definitions.

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

OData

A

Open Data Protocol (OData) is an open protocol that allows the creation and consumption of queryable and interoperable Web service APIs in a standard way.

OData (Open Data Protocol) is a set of best practices for developing and using RESTful APIs. It helps you to focus on your Business Logic while creating RESTful APIs without the need to worry about various ways to define request and response Headers, HTTP Methods, Status Codes, Media Types, URL Conventions, Payload Formats, and more.

OData carries the following specifications:

It must follow REST principles unless there is a clear reason why it should not.
The OData services MUST have support for Atom encoding.
OData services SHOULD have support for JSON encoding.
REST is the most essential component technology of OData. OData 3.0 standards require OData users to follow REST principles. OData rests on HTML technology, which resolves the problem of being REST-based in a way. It supports two Protocols for Data Transfer, the XML-based Atom format and JSON.

OData also has guidance for performing actions like defining reusable procedures, tracking changes, and sending many REST requests.

https://hevodata.com/learn/odata-vs-rest/

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

Aspect-Oriented Programming

A

Aspect-Oriented Programming (AOP) is a programming paradigm designed to increase modularity by allowing the separation of cross-cutting concerns. Cross-cutting concerns are aspects of a program that affect multiple parts of the application, such as logging, security, or transaction management.
These concerns can lead to code duplication and tangled code if not handled properly.

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

CALESI effect

A

CAP-level Service Integrations” as well as for an initiative we started late 2023 by rolling out the CAP Plugins technique, which promotes plugins and add-ons contributions not only by the CAP team, but also by

SAP BTP technology units and service teams (beyond CAP team)
SAP application teams
Partners & Customers, as well as
Contributors from the CAP community

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

Moduliths

A

Moduliths have their own individually-defined responsibilities and interfaces, but they share a common codebase and are deployed as a unit. Think of these modules as building blocks within a larger structure, offering a balance between the rigidity of a traditional monolith and the distributed complexity of microservices.

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

CAP Low Level Processing Handling

A

Authentication and Authorization, incl. things like Certificates, mTLS, OAuth, …
Service Bindings like K8s secrets, VCAP_SERVICES, …
Multitenancy-related things, especially w.r.t. tenant isolation
Messaging protocols or brokers such as AMQP, MQTT, Webhooks, Kafka, Redis, …
Networking protocols such as HTTP, gRCP, OData, GraphQL, SOAP, RFC, …
Audit Logging → use the Calesi variant, which provides ultimate resilience
Logs, Traces, Metrics → CAP does that behind the scenes + provides Calesi variants
Transaction Management → CAP manages all transactions → don’t mess with that!

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

REST API

A

Understanding the Concept of REST APIs
REST (REpresentational State Transfer) refers to a Software Architectural Style that defines the standards for exchanging information between two different systems via the HTTP Protocol. It is the most popular architecture for exchanging data on the World Wide Web.

REST defines 6 different principles for Web Services:

Uniform Interface: All components in a REST system must adhere to the same interface and rules so as to communicate with each other.
Client-Server: REST separates Servers from Clients. The Servers store information, while the Clients retrieve information from the Servers.
Stateless: All requests made via REST are stateless. They have all the necessary information needed by the Server to execute the request.
Cacheable: In REST, both Clients and Servers can cache resources, which is good for reducing traffic and improving performance.
Layered System: REST supports a Layered System Architecture. The Client may communicate with one Server, while the other Servers perform tasks such as Data Storage and Authentication.
Code on Demand: REST requisitions may return executable code or logic when necessary (optional).
Any API (Application Programming Interface) that follows the above principles is referred to as a REST API. In most cases, REST APIs use XML or JSON, but the REST Architecture doesn’t require anything specific as far as this is concerned. REST does not require any particular format, but it accepts any format that can be used in Content Negotiation.

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

Layered System Architecture

A

layered software architecture remains an essential framework for developers. Serving as a logical structuring mechanism, it segments the software into manageable slices, each with a distinct role and responsibility. This hierarchical model promotes a well-organized and decoupled system, affording software engineers the flexibility to construct, maintain, and scale applications efficiently.

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