Le marché de la création d’applications mobiles d’entreprise est désormais estimé à 100 milliards. Les entreprises ont besoin de nouveaux outils et de plateformes permettant à la fois de créer des applications innovantes, sans sacrifier les investissements déjà réalisés dans le système d’information. Mais, créer des applications mobiles d’entreprise accédant au système d’information est un casse-tête épineux. Pour les y aider, deux gammes d’outils autrefois disjoints sont en train de fusionner : les outils de développement mobiles et les outils de « Mobile Backend As A Service ».
Développer une application hybride ou native
Lorsqu’on désire développer des applications mobiles en entreprise, on peut bien entendu choisir sa plateforme (iOS pour Apple, Android Google, Windows mobile) et développer en utilisant les outils ad’hoc proposés par ces entreprises ou la communauté de développeur. Il faut alors développer par en ObjectiveC ou Swift pour iOS, en Java pour Android, ou en C# pour Microsoft. Développer des applications en utilisant les kits de développement logiciels (SDK) natifs est coûteux et requiert des compétences rares.
Des solutions, « Outils de développement multi-plateforme », ont été créées pour simplifier et faciliter la création d’applications mobiles multiplateformes en utilisant un langage unique, la plateforme se chargeant de faire les transformations nécessaires lors de la création des applications. On peut citer par exemple Apache Cordova (PhoneGap) associé à Ionic, Sencha ou Onsen UI ou encore Xamarin.
Pour la plupart, elles utilisent au mieux le standard HTML 5 (toujours en évolution mais relativement stable) et les standards du W3C et complètent ce qui manque par des librairies supplémentaires utilisées pour donner un « look and feel » proche des applications développées avec des SDK natifs.
Le choix d’une solution native ou hybride anime depuis longtemps la blogosphère et les conférences sur le développement mobile. Aujourd’hui, outre les aspects factuels, le choix est avant tout doctrinal (au sein de la DSI ou des Métiers), financier (développer pour plusieurs plateformes à un coût), et humain (de quelles compétences dispose-t-on en interne). Dans tous les cas, une application mobile hybride coutera moins cher en maintenance, même si les mises à jour ou nouvelles versions des systèmes d’exploitation et les innovations qu’elles apportent, entraine souvent de revoir son application et de la republier dans les app store.
Les plateformes de développement d’applications mobiles pour entreprise (ou MADP)
Développer une application mobile pour l’entreprise, se décompose en deux parties. Créer la partie cliente, ce qu’offrent déjà les outils « Cross Platform », mais aussi, une partie dédiée à l’intégration au SI. Pour accéder de manière sécurisée et adapter les formats et les services du système d’information aux contraintes des communications mobiles, elles proposent des connecteurs paramétrables permettant d’accéder aux données ou aux services applicatifs internes et de les exposer via un middleware adapté vers une application mobile externe. Certaines de ces plateformes proposent également des mécanismes d’accès aux données hors connexion.
Ces plateformes, encore méconnues par une majorité d’entreprises, sont une véritable révolution dans le processus de création d’applications mobiles. Et pourtant, qui se souvient de l’époque où les entreprises créaient leurs sites intranet ou internet sans portails ou CMS ? De nos jours il n’en est évidemment plus question. Il en est de même pour l’adoption des MADPs pour les applications mobiles.
Les MADP se décomposent donc en une partie cliente (l’application mobile) et une partie serveur à installer dans le système d’information (pour réaliser les services d’intégration, de gestion de la sécurité et des droits d’accès, d’accélération des communications, etc.). Les principales solutions de MADP sont Convertigo, IBM MobileFirst Platform Foundation (ex: Worklight), Kony, SAP Mobile (ex: Sybase Unwired Platform), Pegasystems (Ex Antenna) ou Verivo. Notons que parmi ces plateformes, seule Convertigo est open source (ce qui résout le problème du « Vendor Lock in »), avec un modèle de licences payantes pour le déploiement en production.
La plupart de ces plateformes permettent de générer des applications hybrides, mais offrent aussi des SDKs pour permettre à ceux qui le désirent de créer des applications natives en bénéficiant des services de la partie serveur. Ils s’intègrent aussi aux plateformes standards de développement continu.
L’émergence des MBaaS
Mais le client en veut toujours plus, et créer une application mobile de nos jours requiert des services additionnels qui n’existent pas dans le système d’information. Les services les plus couramment requis étant les services de notifications (push de données), de synchronisation de données entre l’application et le serveur d’entreprise ou de passerelles d’API transformant les API internes en API optimisées pour les mobiles. D’où l’idée de les offrir à la demande, via un serveur dédié. On parle alors de Mobile Backend as a service (ou MBaaS) que l’on peut séparer en deux grandes familles : les solutions purement cloud et les solutions d’entreprise qui permettent un déploiement local.
Il est à noter que les solutions Cloud ont aussi pour objectif de proposer une solution complètement alternative au backend système d’information. Elles proposent alors en sus des services déjà évoqués, des services à la demande de bases de données, de création et de gestion d’API et de gestion de la sécurité dans le Cloud. Ces plateformes sont adaptées aux approches de développement microservice, ou chaque service offert est développé comme un ensemble indissociable. Ce sont les startups et les entreprises qui utilisent déjà le Cloud qui en sont les premiers utilisateurs. Le coût de leur utilisation basé sur l’usage pouvant devenir rapidement important si l’application a du succès. L’offre est pléthorique : Appacitive, Appery.io (Exadel), Buddy Platform, CloudMine, FatFractal, Kii, Kumulos, Structum iKNode, StrongLoop.
Enfin, l’offre Entreprise est-elle composée de « pure player », comme AnyPresence, Convertigo, FeedHenry (RedHat), ou Kidozen.
La fusion des plateformes MBaaS et des MADP
Selon le cabinet Markets and Markets, les revenus des MBaaS devraient atteindre 7,7 milliards en 2017. Et le marché est en constante évolution, avec une fusion en cours des offres MADP et MBaaS, tout en préservant la dichotomie entre les solutions pure cloud et entreprise.
Concernant l’offre Pure Cloud, elle s’est récemment enrichie de solutions venant des géants du domaine, comme : AWS Mobile Services (Amazon), Azure APP Service Mobile (Microsoft), IBM MobileFirst associé à BlueMix, Pivotal CF Mobile Services, et Salesforce1.
Du côté de l’offre entreprise, citons une société française, Convertigo, qui propose d’ors et déjà une solution complétement intégrée MADP et MBaaS déployée chez des grands comptes Français et Américains dans le domaine du transport, de la banque et de la distribution.
____________
William El Kaim est Consultant nouvelles technologies – Consultnoo