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