diff options
author | Jan-Simon Möller <jsmoeller@linuxfoundation.org> | 2020-10-14 13:26:09 +0200 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2020-10-14 11:28:17 +0000 |
commit | 93c1058794d8bdab19c49df6d402a40963be65ec (patch) | |
tree | ab893f78a3b9928cf409cd3b63f6129381e4f5aa /docs/4_APIs_and_Services/4.3_Application_Framework_Binder/0_Overview/0_Overview.md | |
parent | 11d46ac01cf2b4bbc2e8ffe9b70ca27783af0137 (diff) |
Added Documentation for Jellyfish
(rewrote majority of them and updated with minor changes)
(removed whitespaces, added contribution guide, corrected rcar-gen3 section 7, added aglsetup.h flags to hardware support, some minor changes)
Bug-AGL: [SPEC-3633]
Signed-off-by: Shankho Boron Ghosh <shankhoghosh123@gmail.com>
Change-Id: Ifd6b3c1cdaa41f05a74c1affe6db9e24763921b9
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/documentation/+/25411
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
Diffstat (limited to 'docs/4_APIs_and_Services/4.3_Application_Framework_Binder/0_Overview/0_Overview.md')
-rw-r--r-- | docs/4_APIs_and_Services/4.3_Application_Framework_Binder/0_Overview/0_Overview.md | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/docs/4_APIs_and_Services/4.3_Application_Framework_Binder/0_Overview/0_Overview.md b/docs/4_APIs_and_Services/4.3_Application_Framework_Binder/0_Overview/0_Overview.md deleted file mode 100644 index f265558..0000000 --- a/docs/4_APIs_and_Services/4.3_Application_Framework_Binder/0_Overview/0_Overview.md +++ /dev/null @@ -1,100 +0,0 @@ ---- -edit_link: '' -title: Overview -origin_url: >- - https://git.automotivelinux.org/src/app-framework-binder/plain/docs/afb-overview.md?h=master ---- - -<!-- WARNING: This file is generated by fetch_docs.js using /home/boron/Documents/AGL/docs-webtemplate/site/_data/tocs/apis_services/master/app-framework-binder-developer-guides-api-services-book.yml --> - -# Binder Overview - -The ***binder*** provides the way to connect applications to -the services that it needs. - -It provides a fast way to securely offer APIs to applications -written in any language and running almost anywhere. - -- The ***binder*** is developed for AGL (Automotive Grade Linux) but it is not bound to AGL. -- The ***binder*** is the usual name. -- The binary is named **afb-daemon**. -- The name **afb-daemon** stands for ***Application Framework Binder Daemon***. - -The word *daemon*, here, denote the fact that the ***binder*** makes witchcraft to -connect applications to their expected services. (note: that usually the term of -daemon denotes background process but not here). - -Each ***binder*** **afb-daemon** is in charge to bind one instance of -an application or service to the rest of the system, applications and services. -Within AGL, the connection between services and/or applications -is tuned by the AGL framework and the AGL system. - -## The basis of the binder - -The following figure shows main concepts linked to the ***binder***. - -<a id="fig-binder-basis"></a> -![Figure: binder basis](pictures/basis.svg) - -The shown elements are: - -- The SECURITY CONTEXT - - The primary intention of any ***binder*** is to provide - a secured environment for any application. - On AGL, the **security context** is ensured by [Smack] - , the security context of the application or service. - -- The BINDER - - This is the central element. - It makes possible to run HTML5 applications and provides - the unified access to APIs provided by the ***bindings***. - - Running a pure HTML5 application doesn't require any ***binding***. - In that case , the ***binder*** acts as a simple HTTP server for - the web runtime. - -- The BINDINGs - - A ***binding*** adds one **API** to the ***binder***. - - An **API** is a set of **verbs** that can be called - using either REST over HTTP or a kind of JSON RPC. - - ***bindings*** are either: - - - dynamically loaded libraries in the ***binder*** process - - remote service running on the same host - - remote service running on other hosts - - When acting as an HTTP server, the binder treats the language - settings of the HTTP requests to provide internationalized - content as specified by - [widget specifications](https://www.w3.org/TR/widgets/#internationalization-and-localization). -- The APPLICATION - - An ***application*** connects to the binder to get access to - the **API** that it provides or to get its HTTP services to access - resources. - -<!-- pagebreak --> - -## Interconnection of binders - -The AGL framework interprets the **widget/application** manifests -to setup the ***bindings*** configuration of the ***binders***. - -The figure below shows that ***binders*** are interconnected. - -<a id="fig-binder-interconnection"></a> -![Figure: binder interconnection](pictures/interconnection.svg) - -The figure shows 4 several **application/service**: **A**, **B**, -**C** and **D**. - -The application **A** might use an **API** that is shown as a -local ***binding*** but that in reality runs within the context -of **D**. - -The framework AGL takes care of making the plumbing working. |