Shoppable and Consumable attributes
Overview
As described in the Property Graph section, both system instances and component instances can be marked as shoppable, while component instances can also be optionally flagged as consumable.
Consumable components
A consumable component (also referred to as consumable interface) is ready to be transmitted, used, or processed, indicating that its output is in a format or state that can be readily consumed. The tech adapters of consumable components will be involved in ACL update operations.
A tech adapter is a microservice, usually developed and maintained by the Platform Team, responsible for interacting with and updating the infrastructure on which a component is physically deployed
Consider a data product that represents the cash flow generated by a company. This data can be accessed through an output port that exposes a SQL table. In this scenario, the data product functions as a system, with the output port serving as one of its consumable components. The cash flow data can be ingested and transformed by a workload component, which does not expose data itself but is responsible for populating the SQL table exposed by the output port. This workload is not considered a consumable component.
Once a system and its components are deployed and published, the Witboost marketplace will only display consumable components: the primary objective of marketplace users is to access data.
Shoppable
When a system or component is marked as shoppable, all its consumable components (or subcomponents, if the shoppable attribute applies to a component) are secured under an ACL (Access Control List) mechanism.
This means that for a potential consumer to access the data exposed by the consumable interfaces, they will need to be granted the necessary permissions by the project owner.
The Witboost marketplace will display a Request Access button alongside a shoppable system or component. The following behavior applies:
When the shoppable attribute is on... | the access request is sent to... |
---|---|
a system | the tech adapters of all its consumable components and their subcomponents |
a component | its tech adapter (if the component is consumable) and to the tech adapters of all its consumable subcomponents |
The marketplace will ignore the shoppable attribute on subcomponents; instead, this will be inherited by the parent component if not already shoppable.
Before flagging systems and components as shoppable or consumable, align with your Platform Team to make sure the involved tech adapters support the ACL operations.
Remember that by default, system and components instances inherit these attributes from the types they are instances of, although they can override them.