kreizihorse - Fotolia
Applications mobiles : encapsulation ou mise en conteneur ?
Encapsulation et mise en conteneur sont des composants clés de la gestion des applications mobiles. Les deux visent à résoudre le même problème, mais de manière différente.
L’administration des applications mobiles (MAM) - sous partie de l'EMM (Enterpise Mobile Management) - fournit à la DSI un contrôle plus granulaire que le MDM (Mobile Device Management) en lui permettant d’isoler les applications d’entreprise des applications personnelles. Pour cela, les deux principales approches sont la mise en conteneur et l’encapsulation.
Avec la MAM, les utilisateurs peuvent par exemple continuer de discuter avec leurs amis, de partager leurs photos de chats et de tweeter à l’envi, sans affecter leur entreprise. Les données et les applications sensibles restent protégées au sein d’environnements de type bac à sable, avec des contrôles spécifiques et une sécurité plus élevée.
Comment fonctionne la mise en conteneur
Avec une approche fondée sur la mise en conteneur, le code source de l’application mobile doit s’intégrer avec le kit de développement (SDK) proposé par l’éditeur de MDM ou de MAM.
Ce SDK permet au développeur d’intégrer le support de la conteneurisation directement au sein de ses applications, afin de les lier à la plateforme d’administration de l’éditeur. Les applications ainsi préparées peuvent en outre exposer des services à d’autres applications métiers et accéder aux services publiés par celles-ci.
L’intégration avec le SDK d’un éditeur peut être une stratégie efficace. Mais cette approche est susceptible de rendre l’organisation captive. Et elle contribue à segmenter le marché des applications conteneurisées tierces : les éditeurs indépendants ne vont pas construire des versions de leurs applications différentes pour chaque SDK.
Se pose aussi la question des applications métiers déjà construites et déployées : ce n’est pas forcément une mince affaire que de mettre à jour et de réécrire des applications pour intégrer un nouvel SDK.
Comment fonctionne l’encapsulation
L’encapsulation est une manière bien plus simple d’obtenir les mêmes effets que la mise en conteneur.
Dans cette approche, des librairies dynamiques fournies par l’éditeur de MDM/MAM sont ajoutées en surcouche des binaires natifs de l’application, après sa compilation. Les développeurs n’ont pas à intégrer le code de l’application dans le SDK de l’éditeur ou d’utiliser ses API.
En fait, l’encapsulation ne demande aucun travail de développement.
L’administration MDM/MAM peut intégrer les capacités de sécurité et de de contrôle au sein d’une application sans avoir besoin d’accéder à son code source : il s’agit généralement de quelques clics au sein de carrousel de gestion de service.
L’encapsulation remplace les appels système standards par des appels équivalent sécurisés par les librairies de l’éditeur, en ajoutant une couche de protection et d’administration autour de l’application. Elle est donc une excellente solution lorsque l’on n’a pas accès au code source et que l’on ne dispose que de ressources de développement limitées.
Encapsulation contre conteneurisation
Mais l’encapsulation ne supporte pas certaines fonctionnalités sophistiquées offertes par la conteneurisation, comme la possibilité de publier et de consommer des services partagés.
En outre, encapsuler autre chose que ses propres applications métiers peut être délicat en termes de licences. Bien qu’il offre une approche non intrusive, le processus d’ajout d’une couche de sécurité peut en effet violer les conditions d’utilisation de l’application en question. Autrement dit, l’encapsulation est susceptible de contrevenir à certaines législations relatives à protection de la propriété intellectuelle.
Toutefois, à moins d’avoir clairement besoin des fonctionnalités additionnelles offertes par la conteneurisation, l’encapsulation reste la plus attractive. Elle ne nécessite aucun travail de développement et fournit l’une des approches les plus simples de protection des applications mobiles. A condition, donc, de se renseigner en amont sur les licences de son applicatif.