Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
dsa_wiki:home [2017/05/11 22:22]
wikieditor Incorporate feedback from Akiyoshi
dsa_wiki:home [2021/09/20 14:35] (current)
Line 8: Line 8:
 ===== Structure of DSA ===== ===== Structure of DSA =====
 DSA represents each of the entities in the system as one of the following types: DSA represents each of the entities in the system as one of the following types:
-  * **Broker**—A broker does a wide variety of management tasks. For example, a broker manages ​security, links, subscriptions,​ and node permissions. Other entities in the system can operate only as permitted by a broker. A broker also saves configuration data to disk. A broker also routes ​data—that is, it moves data from a source to a destination. +  * **Broker**: Brokers manage ​security, links, subscriptions,​ and node permissions. Other entities in the system can operate only as permitted by a broker. A broker also saves configuration data to disk. A broker also routes data from a source to a destination. 
-  * **DSLink**—A DSLink connects to a broker. A DSLink createspublishes, and interacts ​with data. A DSLink ​can also subscribe to data in the DSA system—that isit can receive data whenever the data changes. You can find DSLinks ​in [[https://​github.com/​iot-dsa|IOT-DSA on Github]]. +  * **DSLink**: DSLinks createpublish, and interact ​with data. DSLinks, which connect to brokers, ​can subscribe to data in the DSA system, ​to receive data whenever the data changes. You can download ​DSLinks ​from [[https://​github.com/​iot-dsa|IOT-DSA on Github]]. 
-  * **Node**—Some nodes are brokers, DSLinks, metrics, actions, ​or attributes. Other nodessuch as folders, do not fit into any of these categories+  * **Node**: General term for the components connected by DSA. Node can be brokers, DSLinks, metrics, actions, attributes, ​or folders ​containing other nodes
-  * **Metric**—A metric can exist on any broker, DSLink, or other organizational node. A metric is a key/value pair, in which the value can be any of the data types listed in Supported Data Types, including an arbitrary value map.  +  * **Metric**A metric is a key/value pair. The value can be any of the data types listed in Supported Data Types, including an arbitrary value map. A metric can originate on any broker, DSLink, or other node.  
-  * **Data Node**Data nodes allow data to be stored on the broker'​s host server. +  * **Data Node**Data nodes enable ​data to be stored on the broker'​s host server. 
-  * **Action**—An action can exist on any broker, DSLink, other node, or metric. ​An action is an invocable command that can affect an entity. For example, an action might create a node or set a metric value. +  * **Action**An action is an invocable command that can affect an entity. For example, an action might create a node or set a metric value. An action ​can exist on any broker, DSLink, other node, or metric. ​ 
-  * **Attribute**—An attribute ​can exist on any broker, DSLink, other node, or metric. An attribute is metadata for the selected entity, represented as a key/value pair.+  * **Attribute**: ​An attribute is metadata for the selected entity, represented as a key/value pair. An attribute can exist on any broker, DSLink, other node, or metric
  
 ---- ----
- 
 ===== Upstream and Downstream Connections ===== ===== Upstream and Downstream Connections =====
-//​Upstream//​ and //​downstream//​ connections are important concepts for permissions configuration when you work with multiple servers or with multiple brokers on one server. ​A downstream entity requests permission, and an upstream entity ​either ​grants or refuses that permission. A broker is always upstream from its DSLinks. A broker can be either upstream or downstream from another broker.+A downstream entity requests permission, and an upstream entity grants or refuses that permission. A broker is always upstream from its DSLinks. A broker can be either upstream or downstream from another broker. Upstream and downstream connections are important concepts to understand when you configure permissions for multiple servers or multiple brokers on one server.
  
 ---- ----
Line 30: Line 29:
 To connect two DSA installations:​ To connect two DSA installations:​
   - From the downstream broker, right-click **sys** > **upstream**,​ and choose **Add Upstream Connection**.   - From the downstream broker, right-click **sys** > **upstream**,​ and choose **Add Upstream Connection**.
-  - For **Name**, specify the node name that you want to appear in the downstream tree to represent the upstream broker. +  - Specify connection settings as follows: 
-  ​- For **Url**, specify the port, followed by ''/​conn'', ​for example ''​http://​localhost:​8081/​conn''​. +  * **Name**: The node name that you want to appear in the downstream tree to represent the upstream broker. 
-  ​- For **Broker Name**, specify the name that you want to appear in the upstream tree to represent the downstream broker. +  ​**Url**: The connection endpoint; ​for example ''​http://​localhost:​8081/​conn''​. 
-  ​- For **Group**, specify the permission group for the upstream ​broker. +  ​**Broker Name**: The name that you want to appear in the upstream tree to represent the downstream broker. 
-  - Log in to the upstream broker. +  ​**Group**: The permission group for the upstream broker.
-  - To authorize the downstream broker to remove it from quarantine, from the upstream broker, choose **sys** > **quarantine** > **Deauthorize**,​ and specify the downstream ​broker.+
  
 +To remove the downstream broker from quarantine:
 +  - Log into the upstream broker.
 +  - Choose **sys** > **quarantine** > **Deauthorize**,​ and specify the downstream broker.
  
----- 
  
 +----
 ===== Supported Data Types ===== ===== Supported Data Types =====
-DSA supports ​these data types: +DSA supports ​the following ​data types: 
-  * **String**sequence ​of characters or an empty string. + 
-  * **Number**A number or a null value. +  * **String**series ​of characters or an empty string. 
-  * **Bool**A true or false value. +  * **Number**A number or a null value. 
-  * **Array**An array object or a null value. The values in the array are of the dynamic data type. An example array of number +  * **Bool**A true or false value. 
-values is ''​[2,​3,​5,​7,​11]''​. An example array of map values is ''​[{"​hello":"​world","​number":​1},​{"​hello":"​world"​}]''​. +  * **Array**An array object or a null value. The values in the array are of the dynamic data type. An example array of number values is ''​[2,​3,​5,​7,​11]''​. An example array of map values is ''​[{"​hello":"​world","​number":​1},​{"​hello":"​world"​}]''​. 
-  * **Map**A map object containing key/value pairs, or a null value. The key is always a string, and the value is the dynamic data type. An example value is ''​{"​hello":"​world","​primes":​[2,​3,​5,​7,​11]}''​. +  * **Map**A map object containing key/value pairs, or a null value. The key is always a string, and the value is the dynamic data type. An example value is ''​{"​hello":"​world","​primes":​[2,​3,​5,​7,​11]}''​. 
-  * **Binary**A byte array expressed as a string, or a null value. The string begins with ''​\u001Bytes:''​ and ends with a byte array encoded in base 64. +  * **Binary**A byte array expressed as a string, or a null value. The string begins with ''​\u001Bytes:''​ and ends with a byte array encoded in base 64. 
-  * **Dynamic**A value that can be any of the above types.+  * **Dynamic**A value that can be any of the above types.
  
 ---- ----
Line 58: Line 59:
 If you are installing DSA on a Raspberry Pi, BeagleBone Black, or DGBox, you can also follow the steps in [[http://​www.dglogik.com/​company/​blog/​206-raspi-dsa|this blog post and video]]. If you are installing DSA on a Raspberry Pi, BeagleBone Black, or DGBox, you can also follow the steps in [[http://​www.dglogik.com/​company/​blog/​206-raspi-dsa|this blog post and video]].
  
-If you install DSA with DGLux5, and do not have a DGLux5 ​license, follow the steps to request a license when you are prompted to do so.+If you install DSA with DG Solution Builder, and do not have a DG Solution Builder ​license, follow the steps to request a license when you are prompted to do so.
  
 ---- ----
  
-===== Orientation to the DGLux5 ​Data and Metrics Panels with DSA ===== +===== Orientation to the DG Solution Builder ​Data and Metrics Panels with DSA ===== 
-The following image shows the [[dglux5_wiki:​workspace_and_workflow:​panels_and_menus:​data_panel|Data panel]] and [[dglux5_wiki:​workspace_and_workflow:​panels_and_menus:​metrics_panel|Metrics panel]] in DGLux5 ​when DSA is used.+The following image shows the [[dgsb_wiki:​workspace_and_workflow:​panels_and_menus:​data_panel|Data panel]] and [[dgsb_wiki:​workspace_and_workflow:​panels_and_menus:​metrics_panel|Metrics panel]] in DG Solution Builder ​when DSA is used.
  
 {{:​dsa_wiki:​data_metrics.png?​300|}} {{:​dsa_wiki:​data_metrics.png?​300|}}
Line 192: Line 193:
  
 ---- ----
-====== The C Broker ====== + 
-The C Broker is a small-footprint ​version of the DGLux Server (to be precise, the DART Broker). The C Broker ​is intended for embedding in devices where economy of scale is important. This document tells you how to build, configure and launch the C Broker. This document assumes you are familiar with DSA and DGLux5. ​+/*====== The C Broker ====== 
 +The C Broker is a small-footprint ​DSA broker that is intended for embedding in devices where economy of scale is important. This document tells you how to build, configure and launch the C Broker. This document assumes you are familiar with DSA and DGLux5. ​
  
 The C Broker receives data from devices by way of DSLinks, in the same way as the DGLux Server. To use the DGLux5 GUI to manage DSLinks that connect to an instance of the C Broker, install and run the LifeCycle Manager as described below. The following figure shows a standard topology on the left and an embedded topology on the right. The C Broker receives data from devices by way of DSLinks, in the same way as the DGLux Server. To use the DGLux5 GUI to manage DSLinks that connect to an instance of the C Broker, install and run the LifeCycle Manager as described below. The following figure shows a standard topology on the left and an embedded topology on the right.
Line 304: Line 306:
   * Name: The name to be displayed in DGLux5   * Name: The name to be displayed in DGLux5
   * Url: The URL required to connect to the DSA Server. For example: http://​101.0.1.197:​8080/​conn   * Url: The URL required to connect to the DSA Server. For example: http://​101.0.1.197:​8080/​conn
-  * Broker Name: The name of the DSA broker ​to which the C Broker connects.+  * Broker Name: The name to be displayed by the upstream ​broker.
   * Token: If required, the name of the token file containing the token needed to authenticate.   * Token: If required, the name of the token file containing the token needed to authenticate.
   * Group: The group defining the permissions to be assigned to the connection.   * Group: The group defining the permissions to be assigned to the connection.
Line 380: Line 382:
 ===== Troubleshooting ===== ===== Troubleshooting =====
 Both the C Broker and LifeCycle Manager log all their messages to standard output and do not create any physical logs. Both the C Broker and LifeCycle Manager log all their messages to standard output and do not create any physical logs.
 +
 +----*/
 +
 +
 +**Using This Wiki**
 +
 +[[dsa_wiki:​dslinks:​home | DSLinks]]