Skip to content

cna.qualityModel.entities.BackingService

The BackingService Node represents a Backing Service entity. It allows the modeling of Endpoints as well as Links to other Component entities. Additionally, modeled Backing Data and Data Aggregate entities can be referenced. The Node also allows modeling the persistence of a specific Data Aggregate entity.

File references:      TOSCA-File

Shorthand Name BackingService
Type Qualified Name qualityModel:BackingService
Type URI cna.qualityModel.entities.BackingService

1. Properties

Name Required Type Constraints
Description
provided_functionality false string N/A The general functionality the Backing Service provides

2. Attributes

Name Required Type Constraints
Description
N/A N/A N/A N/A N/A

3. Definition

cna.qualityModel.entities.BackingService:
  derived_from: tosca.nodes.Root
  description: Node Type to model Backing Service entities
  properties:
    provided_functionality:
      type: string
      required: false
  requirements:
    # Require deployment on an Infrastructure entity
    - host:
        capability: tosca.capabilities.Compute
        relationship: tosca.relationships.HostedOn
        occurrences: [1, 1]
    # Allow the definition of Links between Components
    - endpoint_link:
        capability: tosca.capabilities.Endpoint
        relationship: cna.qualityModel.relationships.ConnectsTo.Link
        occurrences: [0, UNBOUNDED]
    # Allow the definition of Data Aggregate usage
    - uses_data:
        capability: tosca.capabilities.Attachment
        node: cna.qualityModel.entities.DataAggregate
        relationship: cna.qualityModel.relationships.AttachesTo.Data
        occurrences: [0, UNBOUNDED]
    # Allow the definition of Backing Data usage
    - uses_backing_data:
        capability: tosca.capabilities.Attachment
        node: cna.qualityModel.entities.BackingData
        relationship: cna.qualityModel.relationships.AttachesTo.Data
        occurrences: [0, UNBOUNDED]
  capabilities:
    # Allow assigning Endpoint entities
    endpoint:
      type: tosca.capabilities.Endpoint
      occurrences: [0, UNBOUNDED]
    # Allow assigning External Endpoint entities
    external_endpoint:
      type: tosca.capabilities.Endpoint.Public
      occurrences: [0, UNBOUNDED]
    # Needed so that Data Aggregates can be stored
    persist_data:
      type: cna.qualityModel.capabilities.DataStorage
      valid_source_types: [cna.qualityModel.entities.DataAggregate]
      occurrences: [0, UNBOUNDED]

4. Example

cdc_service:
  type: cna.qualityModel.entities.SoftwareComponent.BackingService
  requirements:
    - host:
        node: docker_host
        relationship: dockerHost_host_cdcService
    # Model Links between Components
    - endpoint_link:
        node: kafka
        relationship: cdcService_publishes-to_Kafka-orderService-sendTo
    - endpoint_link:
        node: mysql_service
        relationship: cdcService_connects-to_MySQL-eventuate
    # Reference to Backing Data
    - uses_backing_data: kafka_server
  capabilities:
    # Add Endpoint entities
    endpoint:
      type: tosca.capabilities.Endpoint
      properties:
        protocol: http
        port: 8099
        url_path: /connect

Last update: 2022-08-31
Back to top