Fundamentals Flashcards
What are the 3 API Resource Archetypes?
- Resource Collection
- Managed Resource
- Tasks
What are the Uniform Contract Elements?
Resource identifier syntax, Methods, Media types
“All API operations are based on the REST uniform Contract operations (GET, POST, DELETE, PUT, PATCH, HEAD, etc)
“
What Uniform operation(s) is used to create a single Entity?
A) POST or PUT
B) POST
C) PUT
D) PATCH
B) POST
Why do we need REST API Design Patterns?
A) RESTful web services have strict specifications for designing and building APIs but variations exist
B) There are a couple of standards of how RESTful Web API should work. We need to pick one
C) REST is a software architectural style, not a specification, for building scalable web services
D) All of the above
C) REST is a software architectural style, not a specification, for building scalable web services
Which of the following statements is NOT correct?
A) All TM Forum APIs are based on a common set of Patterns
B) The TM Forum API patterns are documented in the TM Forum REST Guidelines (Also knows as TMF 630 and TMF 631)
C) TM Forum API Patterns for supporting Notification Management in REST based systems are described in the TM Forum REST Guidelines
D) TM Forum REST Guidelines is used only by TM Forum members
D) TM Forum REST Guidelines is used only by TM Forum members
Which of the following is NOT addressed by the TM Forum REST Design Guidelines?
A) Patterns for using Uniform Contract operations for the implementation of Entity CRUD operations and Task operations
B) Patterns on filtering and attribute selection
C) Federated Identity Pattern
D) Patterns for supporting Notification Management in REST based systems
C) Federated Identity Pattern
Which of these statements is NOT correct?
When using the Update Entities Design Pattern..
A) PUT or PATCH can be used to change an entity
B) PUT may be used to change a subset of the entity attribute values without changing the resource representation (the set of supported properties)
C) PATCH support changing al the entity attribute values in a single operation
D) PATCH can be used to change the representation (the set of supported properties) of an entity
D) PATCH can be used to change the representation (the set of supported properties) of an entity
What is the Notification Design Pattern?
A) A Publish Subscribe Pattern where a callback is specified when executing a REST operation
B) A Publish Subscribe Pattern where clients can pull events
C) A Publish Subscribe Pattern where a Hub is used to register a client subscription for receiving events
D) A Publish Subscribe Pattern supporting only one kind of event
C) A Publish Subscribe Pattern where a Hub is used to register a client subscription for receiving events
Does JSON support generalization or inheritance?
No
Can API SID JSON Resources be extended?
Yes, The REST API Design Patterns support the “@type” property
Which of the following is NOT addressed by the SID to API Data model mapping patterns?
A) Flattening Inheritance Hierarchy
B) SID Relationships and Links
C) JSON Resource Model and SID Entity Types
D) Decoration Pattern for Complex Inheritance Hierarchies
D) Decoration Pattern for Complex Inheritance Hierarchies
Which of the following statements is NOT correct?
A) SID is static, it focuses on the data
B) SID is an information model not a data model
C) SID out-of-the-box is typically implemented as is for SOAP APIs
D) TMF APIs uses SID as the basis for its data model
C) SID out-of-the-box is typically implemented as is for SOAP APIs
When using Entity collapsing which of the following statements is correct?
A) SID Entity is modeled as a REST Resource with all the inherited attributes embedded into the JSON representation
B) SID Entity is modeled as a REST Resource with some of the inherited attributes embedded into the JSON representation
C) SID Entity is modeled as a REST Resource with all of the inherited relationships embedded as dependent entities into the JSON representation
D) SID Entity is modeled as a REST Resource with some of the inherited relationships embedded as dependent entities into the JSON representation
B) SID Entity is modeled as a REST Resource with some of the inherited attributes embedded into the JSON representation
How is SID inheritance supported by the TMF Open APIs?
A) TMF Open APIs use the most derived SID classes for Resource representations
B) TMF Open APIs are always relative to the root class in SID
C) TMF Open APIs use an Entity composition model for representing SID generalizations
D) TMF Open APIs use the most derived SID classes for Resource representations and include all the properties and the relationships of the collapsed classes
A) TMF Open APIs use the most derived SID classes for Resource representations
What are the choices of link data model when mapping SID relationships to a REST based representational model?
A) Hyperlinks
B) Link Headers
C) Dependent Entities
D) All of the above
D) All of the above
Which of the following statements is correct?
When mapping SID relationships to the API Data Model:
A) Always embed the related object properties within the entity representation
B) Always define resources for the related entities in the API resource model and use href to the related resources
C) Always use href to related resources if they actually exist as resources
D) Always add properties to the href for filtering and quick retrieval purpose
C) Always use href to related resources if they actually exist as resources
What is API Certification?
Process by which an implementation is confirmed to support the standard definition of an API
What are the 3 Main Artifacts in the API Conformance Activity?
- API Conformance Profile Document”
- CTK Script
- Cloud based Reference Implementation of the API
What is an API Conformance Profile document?
It describes what Mandatory attributes and Operations are tested
What is a CTK Script?
It is provided by TMF to be executed against certified implementation of the API
What is the cloud based Reference Implementation of an API?
It is provided by TMF as an implementation test bed
Is an example of a certified API
What is tested by a CTK?
1- Implementation of all the mandatory operations
2- Support of the core data model of the API presence and proper constructs for entities in the data model
3- Support of mandatory filters and attribute selection constructs as defined in the API specification
4- Support of all mandatory notifications
5- Support of the core event data model of the API
6- Mandatory relationships between entities (resources) defined and managed by the API are present and operation (href leads to real resources within the API)
7- Mandatory relationships between entities (resources) not defined and managed by the API are present
Which of the following elements are part of the Open API Developer Ecosystem Sandbox and Testing environment?
A) Reference Implementations
B) Conformance Test Kits
C) POSTMAN and Swagger
D) All of the above
D) All of the above
Name 2 elements that are tested via the CTK?
A) Implementation of all the operations and all notifications
B) Implementation of all the API mandatory operations and support for the core event data model
C) Implementation of all the API mandatory operations and of all relationships
D) Implementation of all the mandatory operations and all filter and attribute selection constructs defined in the API specification
B) Implementation of all the API mandatory operations and support for the core event data model
Which of the following statements is NOT correct?
A) API Certification is a process by which an implementation is confirmed to support the standard definition of an API
B) TM Forum provides the tools required to certify implementations against API definitions
C) API Certification is only against mandatory features of an API
D) API Certification is about testing extensions to the APIs
D) API Certification is about testing extensions to the APIs
Can an API be certified if it fails one CTK test?
A) Yes, if the failed test was about an optional feature
B) Yes, if the failed test is about the presence of a relationship
C) Yes, if the failed test is about an extension to the API
D) No
D) No
A) TM Forum provides the tools required to certify implementations against API definitions
B) Vendors can claim certification as long as they post a conformance statement on their product site
C) APIs must be certified by the TM Forum (same as for SID or eTOM Certification)
D) A SID certified vendor is automatically API certified
A) TM Forum provides the tools required to certify implementations against API definitions
What is the TM Forum Open API Sandbox?
A) A cloud-based implementation of all the TM Forum Open APIs
B) An environment where vendor APIs are deployed and tested
C) An environment providing a mock-up implementation of all the APIs
D) A downloadable environment running on Node.js
A) A cloud-based implementation of all the TM Forum Open APIs
What is MicroService Architecture?
A design pattern to build a software system composed of multiple reusable services that interacts with each other to provide a business capability.
What are the 3 key characteristics of a Micro Service?
- Isolated
- Autonomous
- Context-bound
What does the isolation principle enable (in regards to Micro Services)?
- Design, Build, Test and Release Isolation
- Database isolation
- Failure isolation
Provide more info on Data Encapsulation (in regards to Micro Services)?
- Micro Services encapsulate the data (or state) and behavior as a single unit
- Persistent data for each service must be private
- Consumers can access data only through its published interfaces or API
What is the distributed Monolith Anti Pattern
Where a bunch of so called independent services shares a common database for persistent state
Which of the following statements is correct?
In Micro Service Architecture a consumer can
A) Choose to accept or reject the promise offered by a Micro Service Provider
B) Direct a Micro Service to behave in a particular way via policies
C) Choose between different APIs
D) None of the above
A) Choose to accept or reject the promise offered by a Micro Service Provider
What does the Isolation principle ensure?
A) Continuous delivery
B) Binding to a single business context
C) Consumers cannot impose obligation
D) Micro Service behaviour by publishing its interface (API)
A) Continuous delivery
Which of the following statements is NOT correct?
Micro Services typically implement Data Encapsulation where:
A) Micro Service encapsulates the data (or state) and behaviour as a single unit
B) Persistent data for each service can be shared
C) Consumer can access data only through its published interfaces or API
D) None of the above
B) Persistent data for each service can be shared
What is a Micro Service Architecture?
A) Micro Service Architecture is a design pattern to build software system composed of multiple reusable services that interacts with each other to provide a business capability
B) A Micro Service Architecture is a design pattern to build software system composed of multiple reusable services that interacts with each other to provide a business capability normally layered on top of monolithic applications
C) A Micro Service Architecture is the same as SOA architecture but for REST
D) All of the above
A) Micro Service Architecture is a design pattern to build software system composed of multiple reusable services that interacts with each other to provide a business capability.
Why do Open APIs provide a a natural point for the creation of Micro Services?
A) Open APIs are based on the Integration Framework SOA concepts
B) Open APIs are REST based
C) Open APIs are Business Framework based
D) Open API are domain-drive and well encapsulated
D) Open API are domain-drive and well encapsulated
Which of the following statements is NOT correct?
Micro Services are characterized by the fact that they are:
A) Isolated
B) Autonomous
C) Event Driven
D) Context Bound
C) Event Driven
What are the 5 industry-standard principles that guide the construction of good APIs?
- Abstraction
- Loose-coupling
- Reusability
- Discoverability
- Developer-friendly
What is Level 0 in the API Map?
The standard Frameworx business domains
What is Level 1 in the API Map?
The main TM Forum APIs, typically the primary resource, and aligned to TMF Information Framework ABEs
What is Level 2 in the API Map?
The component resources exposed by the API.
It shows the API which inherits from the current TM Forum API or extends on the base of TM Forum API
If you need to query an entity, which Uniform API Operation would you use?
A) GET Resource B) POST Resource C) PATCH Resource D) PUT Resource E) DELETE Resource F) POST on TASK Resource
A) GET Resource
If you need to create an entity, which Uniform API Operation would you use?
A) GET Resource B) POST Resource C) PATCH Resource D) PUT Resource E) DELETE Resource F) POST on TASK Resource
B) POST Resource
If you need to do a partial update on an entity, which Uniform API Operation would you use?
A) GET Resource B) POST Resource C) PATCH Resource D) PUT Resource E) DELETE Resource F) POST on TASK Resource
C) PATCH Resource
If you need to do a complete update on an entity, which Uniform API Operation would you use?
A) GET Resource B) POST Resource C) PATCH Resource D) PUT Resource E) DELETE Resource F) POST on TASK Resource
D) PUT Resource
If you need to remove an entity, which Uniform API Operation would you use?
A) GET Resource B) POST Resource C) PATCH Resource D) PUT Resource E) DELETE Resource F) POST on TASK Resource
E) DELETE Resource
If you need to execute an action, which Uniform API Operation would you use?
A) GET Resource B) POST Resource C) PATCH Resource D) PUT Resource E) DELETE Resource F) POST on TASK Resource
F) POST on TASK Resource
What are the 4 TM Forum Open APIs Benefits?
- Business agility and interoperability
- Partnering for new services
- Simplification of the IT estate
- Reduced time to market
What is the set of patterns called for the mapping between the SID entity types and the corresponding TMF REST API Resource model ?
SID JSON Mapping Patterns
When there is no resource defined for the associated entity in the API Ecosystem, which type of link model should be used?
A) Hyperlinks
B) Link Headers
C) Dependent Entities
D) All of the above
C) Dependent Entities
What is the preferred link model to be used when the related object is treated as a resource?
A) Hyperlinks
B) Link Headers
C) Dependent Entities
D) All of the above
A) Hyperlinks