blob: 654a0c1117f6bdb07222b42f449aa6efb9d5b61b [file] [log] [blame]
Ralph Knag1fca6ac2017-12-05 12:05:57 -05001.. This work is licensed under a Creative Commons Attribution 4.0 International License.
2.. http://creativecommons.org/licenses/by/4.0
3
4.. _intro:
5
6
Ralph Knagd2cd31b2018-04-02 16:27:46 -04007Overview
8========
Ralph Knag1fca6ac2017-12-05 12:05:57 -05009
10DCAE components are services that provide a specific functionality and
Ralph Knagd2cd31b2018-04-02 16:27:46 -040011are generally written to be composable with other DCAE components,
12although a component can run independently as well. The DCAE platform is
13responsible for running and managing DCAE service components reliably.
Ralph Knag1fca6ac2017-12-05 12:05:57 -050014
VENKATESH KUMAR64559742020-04-29 18:53:53 -040015The DCAE Design platform aims to provide a common catalog of available DCAE
16Service components, enabling designers to select required
17components to construct and deploy composite flows into DCAE Runtime platform.
18
19Service component/MS to be onboarded and deployed into DCAE platform would
20typically go through the following phases
21
22 - Onboarding
23 - Design
24 - Runtime
25
26DCAE Design Platform supports onboarding and service design through MOD.
27
28
29Onboarding is a process that ensures that the component is compliant
30with the DCAE platform rules. The high level summary of the onboarding process
31is:
32
331. Defining the :doc:`data formats <data-formats>` if they dont already
34 exist.
352. Defining the :doc:`component specification <./component-specification/component-specification>`
363. Validate the component spec schema against
37 `Component Spec json schema <https://git.onap.org/dcaegen2/platform/plain/mod/component-json-schemas/component-specification/dcae-cli-v2/component-spec-schema.json>`__
384. Use :doc:`blueprint-generator tool <./blueprint_generator>` to generate Cloudify blueprint
395. Test the blueprint generated in DCAE Runtime Environment (using either Dashboard UI or Cloudify cli from bootstrap)
406. Using :doc:`DCAE-MOD <../DCAE-MOD/DCAE-MOD-User-Guide>` , publish the component and data formats into DCAE-MOD catalog.
41 (This step is required if Microservice needs to be deployed part of flow/usecase)
42
Ralph Knag1fca6ac2017-12-05 12:05:57 -050043
Ralph Knagd2cd31b2018-04-02 16:27:46 -040044A Component requires one or more data formats.
45~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Ralph Knag1fca6ac2017-12-05 12:05:57 -050046
Ralph Knagd2cd31b2018-04-02 16:27:46 -040047A component is a software application that performs a function. It
48doesnt run independently; it depends upon other components. A
Ralph Knag1fca6ac2017-12-05 12:05:57 -050049components function could require connecting to other components to
50fulfill that function. A component could also be providing its function
51as a service through an interface for other components to use.
52
Ralph Knagd2cd31b2018-04-02 16:27:46 -040053A component cannot connect to or be connected with any other component.
Ralph Knag1fca6ac2017-12-05 12:05:57 -050054The upstream and downstream components must *speak* the same vocabulary
55or *data format*. The output of an one component must match another
56components input. This is necessary for components to function
57correctly and without errors.
58
59The platform requires data formats to ensure that a component will be
60run with other *compatible* components.
61
62Data formats can and should be shared by multiple components.
63
64Each Component requires a component specification.
65~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
66
67The component specification is a JSON artifact that fully specifies the
68component, its interfaces, and configuration. Its standardized for
VENKATESH KUMAR64559742020-04-29 18:53:53 -040069CDAP (deprecated) and Docker applications and is validated using a
70:doc:`JSON schema <./component-specification/component-json-schema>`.
Ralph Knag1fca6ac2017-12-05 12:05:57 -050071
72The component specification fully specifies all the configuration
73parameters of the component. This is used by the designer and by policy
74(future) to configure the runtime behavior of the component.
75
76The component specification is used to *generate* application
77configuration in a standardized JSON that the platform will make
78available to the component. This application configuration JSON will
79include:
80
81- Parameters that have been assigned values from the component
82 specification, policy, and/or the designer
83- Connection details of downstream components
84
85The component specification is transformed by DCAE tooling (explained
86later) into TOSCA models (one for the component, and in the future, one
87for Policy). The TOSCA models then get transformed into Cloudify
88blueprints.
89
90The component specification is used by:
91
VENKATESH KUMAR64559742020-04-29 18:53:53 -040092
93- Blueprint Generator - Tool to generate standalone cloudify blueprint
94 using component spec. The blueprints can be uploaded into inventory
95 using Dashboard and triggered for deployment.
96- MOD Platform - To onboard the microservice and maintain in catalog
97 enabling designer to compose new DCAE service flows and distribute
98 to DCAE Runtime platform.
Ralph Knag1fca6ac2017-12-05 12:05:57 -050099- Policy (future) - TOSCA models are generated from the component
100 specification so that operations can create policy models used to
101 dynamically configure the component.
VENKATESH KUMAR64559742020-04-29 18:53:53 -0400102- Runtime platform - The components application configuration
Ralph Knag1fca6ac2017-12-05 12:05:57 -0500103 (JSON) is generated from the component specification and will be
VENKATESH KUMAR64559742020-04-29 18:53:53 -0400104 provided to the component at runtime (through ConfigBindingService
105 or Consul).
Ralph Knag1fca6ac2017-12-05 12:05:57 -0500106
VENKATESH KUMAR64559742020-04-29 18:53:53 -0400107