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 à :

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 :

Nous allons maintenant présenter les différents outils de cette suite.

Les outils

La suite logiciel Worklight permet :

Afin de permettre aux entreprises de réaliser ces actions, plusieurs outils sont mis à disposition :

Installation

Il existe plusieurs maniè d'installer worklight en tant que développeur. Afin d'obtenir une installation simple et fiable, vous devez :

Votre système est désormais installé, vous pouvez l'utiliser.

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 :


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 : Lors de la création d'une application (clique droit sur apps -> new -> Worklight Hybrid Application), aucun container n'est sélectionné. Afin de définir le container souhaité : clique droit sur le nom de l'application -> new Worklight Environment la fenêtre suivante apparait :


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 :

Partons d'un exemple en image :


Dans cette exemple, on retrouve : Imaginons un scénario. Une entreprise lambda utilise SAP afin de récupérer et de gérer ses clients, commandes, facturations, ... . Cette même entreprise souhaite fournir à ses commerciaux une application leur permettant de gérer les comptes clients ainsi que les commandes. Rentrons maintenant un peu plus dans la technique.

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 :

Cette configuration sera embarquée dans l'application afin de pouvoir être utilisée. Une fois la configuration mise en place, il est nécessaire de définir les différents appels aux Web Services :


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 : Dans le second encart, on peut remarquer la façon dont les Web Services sont appelés dans le code contenu dans le container. Comme on peut le remarquer, on utilise la librairie Worklight afin d'effectuer les appels aux adapters.

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 :

A l'aide de ces éléments, on est en mesure de pouvoir mettre en place les différentes pages HTML utilisées dans notre application.

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.