Merge "Update VES Collector stndDefined section RTD"
[dcaegen2.git] / docs / sections / services / ves-http / architecture.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International License.
2 .. http://creativecommons.org/licenses/by/4.0
3
4 VES Architecture
5 ================
6
7 .. image:: ./ves-deployarch.png
8
9 VES Processing Flow
10 -------------------
11
12 1. Collector supports different URI based on single or batch event to be received.
13 2. Post authentication – events are validated against schema. At this point – appropriate return code is sent to client when validation fails.
14 3. Event Processor checks against transformation rules (if enabled) and handles VES output standardization (e.g. VES 7.x input to VES5.4 output).
15 4. Optional (activated by flag *collector.externalSchema.checkflag*) post authentication of stndDefined fields – specific fields are validated against schema. At this point – appropriate return code is sent to client when validation fails.
16 5. If no problems were detected during previous steps, success HTTP code is being returned.
17 6. Based on domain (or stndDefinedNamespace), events are asynchronously distributed to configurable topics.
18     1. If topic mapping does not exist, event distribution is skipped.
19     2. Post to outbound topic(s).
20     3. If DMaaP publish is unsuccessful, messages will be queued per topic within VESCollector.
21
22 Note: As the collector is deployed as micro-service, all configuration parameters (including DMaaP topics) are passed to the collector dynamically. VEScollector refreshes the configuration from CBS every 5 minutes
23
24 .. image:: ./ves-processing-flow.png
25 ..  This image has been created using online editor https://app.diagrams.net/ and can be easily edited there.
26     Editable file version of this image is located in docs/sections/services/ves-http/ves-processing-flow.drawio
27     and might be imported into editor.
28
29 VES Schema Validation
30 ---------------------
31
32 VES Collector is configured to support below VES Version; the corresponding API uses VES schema definition for event validation.
33
34 ===========     ================    ==================================
35 VES Version     API version         Schema Definition
36 ===========     ================    ==================================
37 VES 1.2         eventListener/v1    `CommonEventFormat_Vendors_v25.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_Vendors_v25.json>`_
38 VES 4.1         eventListener/v4    `CommonEventFormat_27.2.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_27.2.json>`_
39 VES 5.4         eventListener/v5    `CommonEventFormat_28.4.1.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_28.4.1.json>`_
40 VES 7.2         eventListener/v7    `CommonEventFormat_30.2_ONAP.json <https://git.onap.org/dcaegen2/collectors/ves/tree/etc/CommonEventFormat_30.2_ONAP.json>`_
41 ===========     ================    ==================================
42
43 Features Supported
44 ------------------
45
46 - VES collector deployed as docker containers
47 - Acknowledgement to sender with appropriate response code  (both successful and failure)
48 - Authentication of the events posted to collector (support 2 types of authentication setting)
49 - Support single or batch JSON events input
50 - General schema validation (against standard VES definition)
51 - StndDefined fields schema validation
52 - Mapping of external schemas to local schema files during stndDefined validation
53 - Multiple schema support and backward compatibility 
54 - Configurable event transformation
55 - Configurable suppression 
56 - Publish events into Dmaap Topic (with/without AAF)
57
58 The collector can receive events via standard HTTP port (8080) or secure port (8443).  Depending on the install/configuration – either one or both can be supported (ports are also modifiable).
59
60 Dynamic configuration fed into Collector via DCAEPlatform
61 ---------------------------------------------------------
62
63 - Outbound Dmaap/UEB topic 
64 - Schema version to be validated against
65 - Authentication account for VNF
66
67 POST requests result in standard HTTP status codes:
68
69 - 200-299  Success
70 - 400-499  Client request has a problem (data error)
71 - 500-599  Collector service has a problem
72  
73