Comment assurer la communication entre les applications Android (chacune hébergée dans un processus distinct) ?
Problématique de la communication inter-processus
-
Antagonisme à résoudre
- Nécessité d'assurer une sécurité en cloisonnant les processus (mémoire centrale et mémoire de stockage)
- Nécessité de communiquer entre les différents processus
-
Approche proposée
- Communication par messages synchrones d'un composant (implantant un client) vers un autre (implantant un serveur)
- Implantation : Binder (dérivé du projet OpenBinder pour BeOS)
Binder
-
Implantations à 3 niveaux
- Driver kernel pour partage de mémoire et gestion de la sécurité
- Bibliothèque C++ en espace utilisateur avec support de sérialisation, paradigme client/serveur (threads de traitement pour serveur)
- API Java de communication avec appels JNI à la bibliothèque C++
- Registre des binders assuré par un binder spécial (context manager)