Le développement hybride d'application mobile avec IBM Worklight
IBM Worklight
Historique
Worklight était une société israëlienne fondée en 2006 par Shahar KAMINITZ.
Cette société était spécialisée dans le développement et le déploiement d'applications mobiles. En 2012, celle-ci a été rachetée par IBM afin d'élargir le panel des outils proposés par cette multinationale.
Qu'est ce que c'est?
Worklight est une plateforme aidant les entreprises à :
- Créer des applications mobiles multiplateformes et / ou natives (développement)
- Exécuter des applications (Mise en place des container)
- Gérer les applications mobiles depuis une interface unique (mise en place d'un store, push des mises à jours, ...)
Worklight est une suite d'outil permettant aux entreprises de s'ouvrir au monde du mobile. En proposant cet outil, IBM propose une solution permettant de créer, exécuter et gérer des applications mobiles :
- En HTML5 pur
- Hybride
- Native
Nous allons maintenant présenter les différents outils de cette suite.
Les outils
La suite logiciel Worklight permet :
- de prendre en charge de nombreux systèmes d'exploitations et périphériques mobiles de maniè simple
- de connecter et synchroniser les donnés;es de l'entreprise et / ou d'une application et / ou du cloud
- d'assurer la sécurité mobile et de la couche réseau
- Gérer l'ensemble des applications à l'aide d'une seule et unique interface
- Worklight Studio : environnement de développement. Permet l’implémentation des applications, la création des containers et l’intégration dans les containers
- Worklight Server : met en place une passerelle entre les appareils mobiles et l’entreprise
- Worklight Console : interface Web de gestion des mécanismes techniques des applications mobiles
- Worklight Device Component : API permettant d'améliorer la sé, la gouvernance ainsi que la convivialité de l'application
- Worklight Application Center : permet de mettre en place et de gérer un store
Installation
Il existe plusieurs maniè d'installer worklight en tant que développeur. Afin d'obtenir une installation simple et fiable, vous devez :
- Installer une version java 7 sur votre machine (si l'application cible doit être déployée sur iOS, privilégiez un ordinateur Apple avec xCode installé)
- Installer une version eclipse Juno
- Installer les package Android et Android Manager (si besoin de faire une application android)
- Installer les package worklight
L'architecture worklight
Worklight est idéalement conçu pour permettre la conception d'applications communiquant avec le service interne d'une entreprise.
Ce schéma d'architecture permet de mettre en avant cette communication. Les applications développées et déployées avec Worklight pourront jouir d'un panel d'outils permettant non seulement la gestion, mais également effectuer le lien entre les appareils mobiles (smartphones) et le système d'informations de l'entreprise.
Entrons un peu plus dans dans le détail de l'architecture Worklight.
Après avoir créé un projet (File -> new -> Worklight Project), vous retrouverez un projet worklight :
On retrouve les dossiers comprenant les librairies ainsi que des dossiers complémentaires :
- Adapters : permet de mettre en place les communications avec un ou plusieurs WebServices.
- apps : un projet worklight peut contenir 1 à n applications hybride.
Comme dit précédemment, le dossier apps contient de 1 à n applications. Chaque application est représentée comme ceci :
Comme on peut le voir sur la copie d'écran, chaque application contient :
- les implémentations (dans le dossier common)
- les containers choisi (ici Android et iPhone)
- les fichiers de configurations
Il suffit de sélectionner l'environnement ou les environnements souhaités; afin que ceux-ci soient créées.
A cette étape, l'ensemble des pages peuvent être créées. Les pages web (en HTML5, CSS3 et JavaScript) seront inscrites dans le dossier commons tandis que les codes natifs seront directement intégrés dans les environnements respectifs.
Parlons des adapters. Les adapters permettent la communication entre un ou plusieurs ou plusieurs périphériques (smartphone) et le coeur du système de l'entreprise. La communication sera effectuée à via des Web Service (en REST). Au niveau du code de l'application, ces Web Services seront appelés de la même façon que des méthodes JavaScript.
Les adapteurs sont implémentés à l'aide de deux fichiers :
- WSAdapter-impl.js : définition des fonctions utilises dans le code JavaScript
- WSAdapter.xml : configuration des appels aux Web Services et définition des adapters
Dans cette exemple, on retrouve :
- Une application hybride installée sur un device
- Un serveur Worklight permettant la gestion de l'application ainsi que le lien entre l'application et le back-end
- Le service SAP de l'endreprise
- Un ensemble d'outils et logiciels permettant de récupérer les informations SAP
Les données récupérées de SAP ne sont pas interprétables par le serveur Worklight. Il est donc impératif de mettre en place un système permettant d'effectuer une conversion entre le formalisme SAP et les informations interprétables par le serveur Worklight. Un ensemble de Web Services peuvent ensuite être mis en place afin de pouvoir récupérer ces informations formattées comme il se doit. Bien entendu, les requêtes et réponses des web services sont effectuées en JSON.
Une fois que les Web Services ont été créés, il est possible de mettre en place les adapters.
Dans ce fichier, on va définir les éléments permettant de définir les accès aux Web Services. Il faudra renseigner :
- le nom utilisé
- le protocole utilisé
- l'adresse mail ou trouver les Web Services
- le port à utiliser
- le nombre de connexion simultanés aux Web Service
Dans cette image, le premier encadré montre un exemple de définition d'un appel à un Web Service. Lors de cette définition, on définit :
- la méthode http utilisée : POST / GET / ...
- le format de données des requêtes / réponses
- le chemin vers le Web Service
- les différents paramètres à utiliser
Pour finir cette explication de l'architecture, nous allons maintenant présenter la partie common. Cette partie va contenir l'ensemble des pages HTML, des fichiers CSS et framework JavaScripts utilisés.
Au niveau de l'architecture du dosser common, il est possible de mettre en place, en fonction du besoin, plusieurs dossiers. Dans l'exemple présenté on peut remarquer la présence des dossiers suivants :
- css : dossier comprenant les différents fichier de style utilisés
- js : comprenant les différents fichiers JavaScript et les frameworks utilisés
- images : comprenant les différentes images qui seront insérées dans les pages.
Comme nous l'avons dit précédemment, il est possible d'insérer des fonctionnalités et du code natif. En retournant à l'image montrant les environnements, on pourra remarquer la présence des fichiers Android et iPhone (dans notre exemple). En explorant ces dossiers, on remarque que nous avons accès à l'intégralité des codes natifs utilisés. Il est possible, à ce niveau, d'effectuer des modification du code natif afin d'ajouter des fonctionnalités à notre application. Pour plus de souplesse lors de ces modifications, il est tout à fait possible de travailler sur le projet android généré lors de la compilation et / ou travailler sur le projet ipa sous xCode (pour iPhone).
Afin d'obtenir plus amples informations quand à l'API Worklight, vous pouvez vous référer à la documentation fournit par IBM. Vous pouvez également télécharger gratuitement la version développeur sur ce lien.
Les démonstrations proposées dans la rubrique Démonstration ne font l'état que d'exemple simple de fonctionnalités standard.