D'une façon générale, les applications mobiles d'entreprise sont différentes des applications grand public. Elles ont besoin de fonctionnalités qui n'existent pas dans la plupart des interfaces utilisateurs des applications conçues pour le grand public et ne sont pas proposées par les outils de développement classiques. Pour ajouter les fonctionnalités manquantes, les développeurs doivent faire un gros travail de codage personnalisé afin d'associer chaque application mobile avec une gamme d'applications et de services back-end.

Cette constatation est à l'origine du logiciel Akula Server de Verivo, qui fournit un ensemble de composants middleware côté serveur et de bibliothèques côté client pouvant être utilisés pour connecter de manière sécurisée l'application mobile en front-end avec les systèmes de transaction, au coeur de l'activité de la plupart des entreprises. « Aujourd'hui, les développeurs iOS par exemple, sont confrontés à de gros problèmes pour créer ce genre d'applications, et pour les intégrer avec des ressources comme Active Directory, suivre les modifications hors connexion, et resynchroniser ces changements avec les systèmes de transaction en back-end », explique Steve Levy, CEO de Verivo.

4 fonctionnalités clefs sont indispensables


Pour créer et faire tourner des applications capables de tirer parti des bases de données de l'entreprise, aptes se conformer aux exigences de sécurité, et en mesure d'exploiter des applications comme celles de SAP ou d'Oracle, « les développeurs d'applications mobiles ont besoin de quatre fonctionnalités clés », estime Steve Levy. Les applications mobiles doivent pouvoir interagir avec les systèmes et les ressources en back-end. Elles doivent être « accessibles » aux départements informatiques aussi bien pour le support technique que pour le support client. Elles doivent être capables de manipuler les données d'entreprise et les données client en toute sécurité et être protégées. Et, applications web ou applications natives, les apps mobiles doivent répondre à tous ces critères. Et c'est là qu'intervient Akula.

Akula Server est un serveur J2EE. Il permet à des applications clientes d'accéder à une gamme de fonctions « middleware » classiques : interfaces standards et personnalisées avec les systèmes back-end, sécurité, authentification, gestion des identités, API pour les applications d'entreprise et les logiciels d'administration système comme Tivoli. Le serveur peut fonctionner soit comme un service hébergé, soit derrière le pare-feu de l'entreprise dans un datacenter.

Un SDK Akula pour iOS et Android


En ce qui concerne l'application cliente, les développeurs peuvent utiliser un SDK Akula pour l'OS client afin d'ajouter des instructions de sous-routine à des bibliothèques Akula sélectionnées et intégrées. Celles-ci contrôlent et gèrent les interactions avec Akula Server, comme le login, le stockage de données, le chiffrement et la synchronisation incrémentale des données. Des bibliothèques natives seront disponibles d'abord pour iOS, Android et JavaScript. Un peu plus tard, Verivo proposera une bibliothèque native pour BlackBerry 10 et Windows Phone 8. Ces bibliothèques sont compatibles avec un grand nombre d'interfaces utilisateurs et outils de développement existants, dont XCode, Eclipse, et Dreamweaver, et elles sont compatibles avec PhoneGap et Appcelerator (tous les détails sur le mode de fonctionnement d'Akula sur le site web de Verivo). Pour mettre en place ce dispositif, Verivo s'est appuyé sur plusieurs projets Open Source, dont Shiro, un framework Java qui prend en charge des tâches de sécurité comme l'authentification, l'autorisation, le cryptage et la gestion de session.

Par exemple, avec une application mobile gérée par Akula, un commercial en déplacement peut voir dans son application les derniers achats effectués par le client auquel il s'apprête à rendre visite. L'application client envoie une requête au serveur Akula, qui recueille l'information du client (à partir de plusieurs sources si nécessaire), il l'empaquète, et envoie les données au client pour affichage. Le commercial peut mettre à jour les informations d'un client sur son smartphone ou sa tablette, et si l'appareil est offline, le code d'Akula en local peut valider les changements qu'il transmettra au serveur Akula lorsque l'appareil sera à nouveau connecté. Le serveur redirige les changements vers les systèmes back-end correspondant. Toutes ces interactions sont prêtes à l'usage et les développeurs n'ont pas à les recréer de toutes pièces. Les changements dans le back-end ne sont appliqués qu'au serveur Akula, car les clients ne sont plus reliés physiquement à une base de données ou à des applications spécifiques. Akula Server comprend également une console de gestion qui permet aux administrateurs de surveiller, gérer, dépanner les interactions entre le client mobile, le serveur Akula, et les ressources de l'entreprise.

5 000 $ pour la licence de développement


Akula représente un changement majeur pour Verivo, dont l'activité était essentiellement centrée sur la conception d'applications mobiles pour des sociétés de services financiers. Selon son CEO, « cette évolution est directement liée aux expériences et aux défis auxquels Verivo a été confrontée en matière de création d'applications mobiles pour l'entreprise ». Akula sera livré le 28 juin. La licence de développement coûte 5 000 dollars HT par an et par équipe. Le prix des licences de déploiement commence à 30 000 dollars HT par an. Verivo propose Akula en téléchargement gratuit avec une période d'essai de 30 jours.