diff options
Diffstat (limited to 'doc/afb-overview.md')
-rw-r--r-- | doc/afb-overview.md | 128 |
1 files changed, 127 insertions, 1 deletions
diff --git a/doc/afb-overview.md b/doc/afb-overview.md index a5b19231..a5dcdf0b 100644 --- a/doc/afb-overview.md +++ b/doc/afb-overview.md @@ -1,7 +1,7 @@ Overview of AFB-DAEMON ====================== version: 1 - Date: 29 mai 2016 + Date: 30 mai 2016 Author: José Bollo TABLE-OF-CONTENT-HERE @@ -19,6 +19,8 @@ an application to the AGL framework and AGL system. On the following figure, you can use a typical use of afb-daemon: +<a id="binder-fig-basis"><h4>Figure: binder afb-daemon, basis</h4></a> + . . . . . . . . . . . . . . . . . . . . . . . . . . . Isolated security context . . . @@ -31,6 +33,7 @@ of afb-daemon: . | . . +-------------------+----------------------+ . . | : | . + . | b i n d e r : | . . | A F B - D A E M O N : PLUGINS | . . | : | . . +-------------------+----------------------+ . @@ -54,5 +57,128 @@ The binder afb-daemon serves multiple purposes: to security enforcement for accessing hardware ressources or for speeding parts of algorithm. +Use cases of the binder afb-daemon +---------------------------------- + +This section tries to give a better understanding of the binder +usage through several use cases. + +### Remotely running application + +One of the most interresting aspect of using the binder afb-daemon +is the ability to run applications remotely. This feature is +possible because the binder afb-daemon implements native web +protocols. + +So the [figure binder, basis](#binder-fig-1) would become +when the application is run remotely: + +<a id="binder-fig-remote"><h4>Figure: binder afb-daemon and remotely running application</h4></a> + + +------------------------------+ + | | + | A P P L I C A T I O N | + | | + +--------------+---------------+ + | + ~ ~ ~ ~ ~ ~ + : NETWORK : + ~ ~ ~ ~ ~ ~ + | + . . . . . . . . . . . . . . | . . . . . . . . . . . . . . + . Isolated security | . + . context | . + . | . + . . . . . . . . . . . . . . . . . . . . . . . . . . + . . . . + . . F I R E W A L L . . + . . . . + . . . . . . . . . . . . . . . . . . . . . . . . . . + . | . + . +-------------------+----------------------+ . + . | : | . + . | A F B - D A E M O N : PLUGINS | . + . | : | . + . +-------------------+----------------------+ . + . | . + . . . . . . . . . . . . . . | . . . . . . . . . . . . . . + | + v + AGL SYSTEM + +### Adding native features to HTML5/QML applications + +Applications can provide with their packaged delivery a plugin. +That plugin will be instanciated for each application instance. +The methods of the plugin will be accessible by applications and +will be excuted within the security context. + +### Offering services to the system + +It is possible to run the binder afb-daemon as a daemon that provides the +API of its plugins. + +This will be used for: + +1. offering common APIs + +2. provide application's services (services provided as application) + +In that case, the figure showing the whole aspects is + +<a id="binder-fig-remote"><h4>Figure: binder afb-daemon for services</h4></a> + + . . . . . . . . . . . . . . . . . . . . . . + . Isolated security context application . + . . + . +------------------------------+ . + . | | . + . | A P P L I C A T I O N | . + . | | . + . +--------------+---------------+ . . . . . . . . . . . . . . . . . . . . . . . + . | . . Isolated security context A . + . | . . . + . +-----------------+------------------+ . . +------------------------------------+ . + . | : | . . | : | . + . | b i n d e r : | . . | b i n d e r : service | . + . | A F B - D A E M O N : PLUGINS | . . | A F B - D A E M O N : PLUGINS | . + . | : | . . | : A | . + . +-----------------+------------------+ . . +-----------------+------------------+ . + . | . . | . + . . . . . . . . . . | . . . . . . . . . . . . . . . . . . . . . | . . . . . . . . . . . + | | + v v + ================================================================================ + D - B U S & C Y N A R A + ================================================================================ + ^ ^ + | | + . . . . . . . . . . | . . . . . . . . . . . . . . . . . . . . . | . . . . . . . . . . . + . | . . | . + . +-----------------+------------------+ . . +-----------------+------------------+ . + . | : | . . | : | . + . | b i n d e r : service | . . | b i n d e r : service | . + . | A F B - D A E M O N : PLUGINS | . . | A F B - D A E M O N : PLUGINS | . + . | : B | . . | : C | . + . +------------------------------------+ . . +------------------------------------+ . + . . . . + . Isolated security context B . . Isolated security context C . + . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + + +The plugins of the binder afb-daemon +------------------------------------ + +The binder can instanciate plugins. The primary use of plugins +is to add native methods that can be accessed by applications +written with any language through web technologies ala JSON RPC. + +This simple idea is declined to serves multiple purposes: + +1. add native feature to applications + +2. add common API available by any applications +3. provide customers services +A specific document shows |