Skip to main content

Overview

Refer to the Practice Shaper documentation in the User Manual for a general introduction and to learn about the property graph with its entities and relationships.

The following sections focus on concepts and guides to help the Platform Team in setting up and evolve the Practice Shaper.

Settings page

The Practice Shaper settings page (Settings > Practice Shaper) allows to define and configure the supported data landscapes and their types.

tip

Make sure the RBAC role assigned to the Platform Team members has all the required permissions to:

  • access the Witboost settings
  • access the Practice Shaper settings page
  • operate on the Witboost catalog

How to register a Data Landscape

Suppose you want to register the same Data Mesh data landscape described in the example in the User Manual.

  • Prepare the Git repository that will host the YAML catalog info files of the Practice Shaper entities you're going to register.
tip

We suggest a single mono-repo with the following structure, but you're free to choose the solution that best fits your use cases:

.
|-- domain-types
| |-- <domain-type-1-catalog-info>.yaml
| `-- <domain-type-2-catalog-info>.yaml
|
`-- data-landscapes
|
|-- data-landscape-1
| |
| |-- system-types
| | |-- <system-type-1-catalog-info>.yaml
| | `-- <system-type-2-catalog-info>.yaml
| |
| |-- component-types
| | |-- <component-type-1-catalog-info>.yaml
| | `-- <component-type-2-catalog-info>.yaml
| |
| `-- <data-landscape-1-catalog-info>.yaml
|
|-- data-landscape-2
| |-- system-types
| |-- component-types
| `-- <data-landscape-2-catalog-info>.yaml
|
`-- data-landscape-3
|-- component-types
|-- system-types
`-- <data-landscape-3-catalog-info>.yaml

  • Register the Business Domain domain type entity (metadata.name set to business-domain)

    • Save its catalog info file in the Git repository (refer to the Property Graph section to learn about structure and properties of a domain type)
    • Click on Register new entity in the Practice Shaper settings page and register the catalog info file by pasting its URL (e.g., https://<git-provider>/practice-shaper/-/blob/master/domain-types/business-domain.yaml)
    • Check that the Business Domain is now visibile in the Practice Shaper graph displayed in the settings page
  • Register the Data Mesh data landscape (taxonomy) entity (metadata.name set to data-mesh)

  • Register the Data Product system type (metadata.name set to dataproduct)

    • Set property spec.belongsTo to taxonomy:default/data-mesh
    • Set property spec.partOfDomain to domaintype:default/business-domain
warning

The registration order of the different entities should be guided by their respective dependencies. Note how we registered Business Domain and Data Mesh before Data Product; this is because Data Product references both of them in its catalog info file.

  • Register the Storage Area component type (metadata.name set to storage-area)

    • Set property spec.partOfSystem to systemtype:default/dataproduct
  • Register the Output Port component type (metadata.name set to outputport)

    • Set property spec.partOfSystem to systemtype:default/dataproduct
  • Register the Workload component type (metadata.name set to workload)

    • Set property spec.partOfSystem to systemtype:default/dataproduct
    • Set property spec.readsFrom to ["componenttype:default/outputport"]

After your data landscape is ready and enabled (spec.enabled property true), you should register some templates to enable end users in creating system and component instances. Remember that every template should declare the system or component type it instantiates in its spec.generates property. For example, the value of spec.generates on a template that instantiates Output Port should be componenttype:default/outputport.

Maintenance page

When no active data landscapes are registered and RBAC is enabled, users without the permissions to act on the Practice Shaper will be redirected to a maintenance page until the first data landscape gets enabled.

Configurations

Refer to the Practice Shaper configuration section for a complete list of configurable settings.

warning

The Practice Shaper has been introduced with Witboost v2. Prior to this, Witboost was purely Data Mesh oriented. As the documentation is currently being refactored, you may find some sections still referring only to Data Mesh and Data Products. However, the same principles apply to systems in other data landscapes.