afb-apiset: Fix start of apis
[src/app-framework-binder.git] / old-docs / afb-daemon-vocabulary.md
1
2 Vocabulary for AFB-DAEMON
3 =========================
4
5 ## Binding
6
7 A shared library object intended to add a functionality to an afb-daemon
8 instance. It implements an API and may provide a service.
9
10 Binding made for services can have specific entry point called after
11 initialisation and before serving.
12
13 ## Event
14
15 Message with data propagated from the services to the client and not expecting
16 any reply.
17
18 The current implementation allows to widely broadcast events to all clients.
19
20 ## Level of assurance (LOA)
21
22 This level that can be from 0 to 3 represent the level of
23 assurance that the services can expect from the session.
24
25 The exact definition of the meaning of these levels and how to use it remains to
26 be achieved.
27
28 ## Plugin
29
30 Old name for binding, see binding.
31
32 ## Request
33
34 A request is an invocation by a client to a binding method using a message
35 transferred through some protocol: HTTP, WebSocket, DBUS... and served by
36 ***afb-daemon***
37
38 ## Reply/Response
39
40 This is a message sent to client as the result of the request.
41
42 ## Service
43
44 Service are made of bindings running by their side on their binder.
45 It can serve many client. Each one attached to one session.
46
47 The framework establishes connection between the services and
48 the clients. Using DBus currently but other protocols are considered.
49
50 ## Session
51
52 A session is meant to be the unique instance context of a client,
53 which identify that instance across requests.
54
55 Each session has an identifier. Session identifier generated by afb-daemon are
56 UUIDs.
57
58 Internally, afb-daemon offers a mechanism to attach data to sessions.
59 When the session is closed or disappears, the data attached to that session
60 are freed.
61
62 ## Token
63
64 The token is an identifier that the client must give to be authenticated.
65
66 At start, afb-daemon get an initial token. This initial token must be presented
67 by incoming client to be authenticated.
68
69 A token is valid only for a period.
70
71 The token must be renewed periodically. When the token is renewed, afb-daemon
72 sends the new token to the client.
73
74 Tokens generated by afb-daemon are UUIDs.
75
76 ## UUID
77
78 It stand for Universal Unique IDentifier.
79
80 It is designed to create identifier in a way that avoid has much as possible
81 conflicts. It means that if two different instances create an UUID, the
82 probability that they create the same UUID is very low, near to zero.
83
84 ## x-afb-reqid
85
86 Argument name that can be used with HTTP request. When this argument is given,
87 it is automatically added to the "request" object of the answer.
88
89 ## x-afb-token
90
91 Argument name meant to give the token without ambiguity.
92 You can also use the name **token** but it may conflicts with others arguments.
93
94 ## x-afb-uuid
95
96 Argument name for giving explicitly the session identifier without ambiguity.
97 You can also use the name **uuid** but it may conflicts with others arguments.
98