Simplified doc-site generation
[AGL/documentation.git] / docs / 4_APIs_and_Services / 4.5_Message_Signaling / 3_High_Level_VIWI_Service / 1_Architecture_presentation.md
1 ---
2 edit_link: ''
3 title: Architecture presentation
4 origin_url: >-
5   https://git.automotivelinux.org/apps/agl-service-can-high-level-viwi/plain/docs/1-Architecture.md?h=master
6 ---
7
8 <!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/apis_services/master/high-level-developer-guides-api-services-book.yml -->
9
10 # AGL VIWI HIGH-VIWI binding architecture
11
12 This binding is intended to act between low-level binding(s) and clients. It builds ViWi resources as defined in a json configuration file. It implements subscribe/unsubscribe/get verbs for the clients accordingly with protocol specification.
13
14 Each ViWi resource can be composed of several elements, for which subscriptions will be made to the low-level binding with configurable frequencies or filters.
15
16 ![ViWi High Level binding architecture](./images/high-level-arch.png)
17
18 <!-- pagebreak -->
19
20 ## Brief VIWI description
21
22 ViWi (Volkswagen Infotainment Web Interface) protocol defines a serie of objects, which can be queried or updated via JSon messages.
23
24 Each object is assigned with a unique URI.
25
26 The depth of the URI tree is limited to 3, i.e. _/service/resource>/element/_, for instance **/car/doors/3901a278-ba17-44d6-9aef-f7ca67c04840**.
27
28 To retrieve the list of elements for a given resource, one can use the get command, for instance **get /car/doors/**.
29
30 It is also possible to subscribe to elements or group of elements, for instance **subscribe /car/doors/3901a278-ba17-44d6-9aef-f7ca67c04840**. Requests can also have various filters, or specify a frequency.
31
32 More details in the [ViWi general documentation](https://www.w3.org/Submission/viwi-protocol/) and in the [ViWi.service.car documentation](https://www.w3.org/Submission/viwi-service-car/)