DCAE components are services that provide a specific functionality and are generally written to be composable with other DCAE components, although a component can run independently as well. The DCAE platform is responsible for running and managing DCAE service components reliably.
Currently, the DCAE platform supports two types of components, CDAP applications and Docker containers. For each, there are requirements that must be met for the component to integrate into the DCAE platform (see CDAP and Docker).
A component is a software application that performs a function. It doesn't run independently; it depends upon other components. A component's function could require connecting to other components to fulfill that function. A component could also be providing its function as a service through an interface for other components to use.
A component cannot connect to or be connected with any other component. The upstream and downstream components must speak the same vocabulary or data format. The output of an one component must match another component's input. This is necessary for components to function correctly and without errors.
The platform requires data formats to ensure that a component will be run with other compatible components.
Data formats can and should be shared by multiple components.
The component specification is a JSON artifact that fully specifies the component, it's interfaces, and configuration. It's standardized for CDAP and Docker applications and is validated using a JSON schema.
The component specification fully specifies all the configuration parameters of the component. This is used by the designer and by policy (future) to configure the runtime behavior of the component.
The component specification is used to generate application configuration in a standardized JSON that the platform will make available to the component. This application configuration JSON will include:
The component specification is transformed by DCAE tooling (explained later) into TOSCA models (one for the component, and in the future, one for Policy). The TOSCA models then get transformed into Cloudify blueprints.
The component specification is used by:
Onboarding is a process that ensures that the component is compliant with the DCAE platform rules. A command-line tool called dcae-cli
is provided to help with onboarding. The high level summary of the onboarding process is: