X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=doc%2Fapplication-framework.html;h=9c51b8e6990a2a15388e41454056e0172045ed11;hb=bad30c92a1cbe0e411f52c277cef37b6570b623f;hp=e909b772b6f515668e67a8ebe26ddbdeedbaf90a;hpb=8b1af713cef4f66d658e304f0ace0820b47d2bc5;p=src%2Fapp-framework-main.git diff --git a/doc/application-framework.html b/doc/application-framework.html index e909b77..9c51b8e 100644 --- a/doc/application-framework.html +++ b/doc/application-framework.html @@ -1,125 +1,80 @@ + - - + + + + + + Application framework + + + - -

Application framework

- +
+

Application framework

+

José Bollo

+

Fulup Ar Foll

+

30 mai 2016

+
+ +

Application framework

version: 1
 Date:    30 mai 2016
-Author:  José Bollo
-
- -

- - -

Foreword

- -

This document describes application framework fundamentals. -FCF (Fully Conform to Specification) implementation is still under development. -It may happen that current implementation somehow diverges with specifications.

- - -

Overview

- -

The application framework on top of the security framework -provides components to install and uninstall applications -as well as to run them in a secured environment.

- -

The goal of the framework is to manage applications and hide security details -to applications.

- -

For the reasons explained in introduction, it was choose not to reuse Tizen -application framework directly, but to rework a new framework inspired from Tizen.

- -

fundamentals remain identical: the applications are distributed -in a digitally signed container that should match widget specifications -normalized by the W3C. This is described by the technical -recommendations widgets and widgets-digsig of the W3 consortium.

- -

As today this model allows the distribution of HTML, QML and binary applications -but it could be extended to any other class of applications.

- -

The management of widget package signatures. -Current model is only an initial step, it might be extended in the -future to include new feature (ie: incremental delivery).

- - -

Comparison to other frameworks

- - -

Tizen framework

- - -

xdg-app

- - -

ostro

- - -

organization of directory of applications

- +Author: José Bollo +

TABLE-OF-CONTENT-HERE

+

Foreword

+

This document describes application framework fundamentals. FCF (Fully Conform to Specification) implementation is still under development. It may happen that current implementation somehow diverges with specifications.

+

Overview

+

The application framework on top of the security framework provides components to install and uninstall applications as well as to run them in a secured environment.

+

The goal of the framework is to manage applications and hide security details to applications.

+

For the reasons explained in introduction, it was choose not to reuse Tizen application framework directly, but to rework a new framework inspired from Tizen.

+

fundamentals remain identical: the applications are distributed in a digitally signed container that should match widget specifications normalized by the W3C. This is described by the technical recommendations widgets and widgets-digsig of the W3 consortium.

+

As today this model allows the distribution of HTML, QML and binary applications but it could be extended to any other class of applications.

+

The management of widget package signatures. Current model is only an initial step, it might be extended in the future to include new feature (ie: incremental delivery).

+

Comparison to other frameworks

+

Tizen framework

+

xdg-app

+

ostro

+

organization of directory of applications

The main path for applications are: APPDIR/PKGID/VER.

-

Where:

- - - -

The advantage of such an organization is to allow several versions to live together. -This is required for multiple reasons (ie: roll back) and to comply with developers habits.

- - -

Identity of installed files

- -

All the files are installed as user “userapp” and group “userapp”. -All files have rw(x) for user and r-(x) for group and others.

- +

The advantage of such an organization is to allow several versions to live together. This is required for multiple reasons (ie: roll back) and to comply with developers habits.

+

Identity of installed files

+

All the files are installed as user "userapp" and group "userapp". All files have rw(x) for user and r-(x) for group and others.

This allows any user to read files.

- - -

labeling the directories of applications

- - -

organization of data

- +

labeling the directories of applications

+

organization of data

The data of a user are contain within its directory and are labeled using the application labels

- - -

Setting Smack rules for the application

- +

Setting Smack rules for the application

For Tizen, the following rules are set by the security manager for each application.

-
System ~APP~             rwx
 System ~PKG~             rwxat
 System ~PKG~::RO         rwxat
@@ -135,15 +90,9 @@ User   ~PKG~::RO         rwxat
 ~APP~  User::Home        rxl
 ~APP~  User::App::Shared rwxat
 ~APP~  ~PKG~             rwxat
-~APP~  ~PKG~::RO         rxl
-
- -

Here, ~PKG~ is the identifier of the package and ~APP~ is the identifier of the application.

- - -

What user can run an application?

- -

Not all user are able to run all applications. -How to manage that?

+~APP~ ~PKG~::RO rxl +

Here, PKG is the identifier of the package and APP is the identifier of the application.

+

What user can run an application?

+

Not all user are able to run all applications. How to manage that?