Merge "Add and update Guide 'Running BP Processor in IDE"
[ccsdk/cds.git] / docs / index.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0
2 .. International License. http://creativecommons.org/licenses/by/4.0
3 .. Copyright (C) 2019 IBM.
4 .. _master_index:
5
6 .. _cds_main-doc:
7
8 CONTROLLER DESIGN STUDIO (CDS)
9 ==============================
10 .. toctree::
11    :maxdepth: 1
12
13 Introduction
14 ------------
15 The system is designed to be self service, which means that users, not just
16 programmers, can reconfigure the software system as needed to meet customer
17 requirements. To accomplish this goal, the system is built around models that
18 provide for real-time changes in how the system operates.  Users merely need
19 to change a model to change how a service operates.
20 Self service is a completely new way of delivering services.  It removes the
21 dependence on code releases and the delays they cause and puts the control of
22 services into the hands of the service providers.  They can change a model and
23 its parameters and create a new service without writing a single line of code.
24 This makes SERVICE PROVIDER(S) more responsive to its customers and able to
25 deliver products that more closely match the needs of its customers.
26
27 Architecture
28 ------------
29 The Controller Design Studio is composed of two major components:
30    * The GUI (or frontend)
31    * The Run Time (or backend)
32
33 The GUI handles direct user input and allows for displaying both design time
34 and run time activities. For design time, it allows for the creation of
35 controller blueprint, from selecting the DGs to be included, to incorporating
36 the artifact templates, to adding necessary components.  For run time, it
37 allows the user to direct the system to resolve the unresolved elements of the
38 controller blueprint and download the resulting configuration into a VNF.
39 At a more basic level, it allows for creation of data dictionaries,
40 capabilities catalogs, and controller blueprint, the basic elements that are
41 used to generate a configuration. The essential function of the Controller
42 Design Studio is to create and populate a controller blueprint, create a
43 configuration file from this Controller blueprint, and download this
44 configuration file (configlet) to a VNF/PNF.
45
46 |cdsArchitectureImage|
47
48
49 Modeling Concept
50 ----------------
51
52 In Dublin release, the CDS community has contributed a framework to automate
53 the resolution of resources for instantiation and any config provisioning
54 operation, such as day0, day1 or day2 configuration.
55
56 The content of the CBA Package is driven from a catalog of reusable data
57 dictionary, component and workflow, delivering a reusable and simplified
58 self service experience.
59
60 TOSCA based JSON formatted model following standard:
61 http://docs.oasis-open.org/tosca/TOSCA-Simple-Profile-YAML/v1.2/csd01/TOSCA-Simple-Profile-YAML-v1.2-csd01.html
62
63 Most of the TOSCA modeled entity presented in the bellow documentation can
64 be found here:
65 https://github.com/onap/ccsdk-cds/tree/master/components/model-catalog/definition-type/starter-type
66
67 Tosca Model Reference:
68
69 |image0|
70
71 Modeling Concept Links:
72 ~~~~~~~~~~~~~~~~~~~~~~~
73
74 .. toctree::
75    :maxdepth: 1
76
77    modelingconcepts/overview
78    microservices/controllerBlueprintStudioProcessorMS
79    microservices/bluePrintsProcessorMS
80    microservices/expression
81    microservices/dynamicapi
82    microservices/flexibleplugin
83
84
85 Design tools
86 ------------
87 .. toctree::
88    :maxdepth: 1
89    :glob:
90
91    CBA/index
92    datadictionary/index
93
94 Scripts
95 -------
96
97 Library
98 ~~~~~~~
99
100 * NetconfClient
101
102 In order to facilitate NETCONF interaction within scripts, a python NetconfClient binded to our Kotlin implementation is made available. This NetconfClient can be used when using the component-netconf-executor.
103
104 The client can be find here: https://github.com/onap/ccsdk-cds/blob/master/components/scripts/python/ccsdk_netconf/netconfclient.py
105
106 * ResolutionHelper
107
108 When executing a component executor script, designer might want to perform
109 resource resolution along with template meshing directly from the script
110 itself.
111
112 The helper can be found in below link: 
113 https://github.com/onap/ccsdk-apps/blob/master/components/scripts/python/ccsdk_netconf/common.py
114
115 .. |image0| image:: media/tosca_model.jpg
116    :width: 7.88889in
117    :height: 4.43750in
118
119 .. |cdsArchitectureImage| image:: media/CDS_architecture_latest.png
120    :scale: 30 %
121
122 Developer Guide
123 ----------
124
125 .. toctree::
126    :maxdepth: 1
127
128    developerguide/developer-guide
129
130 User Guide
131 ----------
132
133 .. toctree::
134    :maxdepth: 1
135
136    installation
137    designtime
138
139 CDS Desginer UI
140 ---------------
141
142 .. toctree::
143    :maxdepth: 1
144
145    CDS_Designer_Guide
146
147
148 Controller Design Studio Presentation
149 -------------------------------------
150
151 Details about CDS Architecture and Design detail, Please click the link.
152 :download:`CDS_Architecture_Design.pptx`