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