Adds documentation
[src/app-framework-binder.git] / doc / afb-overview.md
1 Overview of AFB-DAEMON
2 ======================
3     version: 1
4     Date:    29 mai 2016
5     Author:  José Bollo
6
7 TABLE-OF-CONTENT-HERE
8
9 Roles of afb-daemon
10 -------------------
11
12 The name **afb-daemon** stands for *Application
13 Framework Binder Daemon*. That is why afb-daemon
14 is also named ***the binder***.
15
16 **Afb-daemon** is in charge to bind one instance of
17 an application to the AGL framework and AGL system.
18
19 On the following figure, you can use a typical use
20 of afb-daemon:
21
22         . . . . . . . . . . . . . . . . . . . . . . . . . .
23         .        Isolated security context                .
24         .                                                 .
25         .        +------------------------------+         .
26         .        |                              |         .
27         .        |    A P P L I C A T I O N     |         .
28         .        |                              |         .
29         .        +--------------+---------------+         .
30         .                       |                         .
31         .                       |                         .
32         .   +-------------------+----------------------+  .
33         .   |                            :             |  .
34         .   |    A F B - D A E M O N     :   PLUGINS   |  .
35         .   |                            :             |  .
36         .   +-------------------+----------------------+  .
37         .                       |                         .
38         . . . . . . . . . . . . | . . . . . . . . . . . . .
39                                 |
40                                 v
41                            AGL SYSTEM
42
43 The application and its companion binder run in secured and isolated
44 environment set for them. Applications are intended to access to AGL
45 system through the binder.
46
47 The binder afb-daemon serves multiple purposes:
48
49 1. It acts as a gateway for the application to access the system;
50
51 2. It acts as an HTTP server for serving files to HTML5 applications;
52
53 3. It allows HTML5 applications to have native extensions subject
54 to security enforcement for accessing hardware ressources or
55 for speeding parts of algorithm.
56
57
58