Services MobileTogether performants, exécutés sur des serveurs backend pour les applications mobiles

Les services de l'édition avancée de MobileTogether Server, exécutés sur des serveurs backend pour les applications mobiles, fonctionnent de manière indépendante, sans dépendre d'une application en cours d'exécution sur un appareil mobile, et ce, en fonction de divers déclencheurs. Les services MobileTogether peuvent fournir des fonctionnalités en arrière-plan aux applications mobiles ou effectuer des actions automatisées de manière autonome, sans nécessiter l'intervention d'un utilisateur. Par exemple, un service MobileTogether pourrait générer un rapport et l'envoyer par e-mail à l'administrateur du serveur à une heure spécifiée. Ou, un service pourrait interroger une base de données en fonction de certains critères externes et effectuer une action, comme l'envoi d'une notification ou d'un e-mail.

Un service MobileTogether Server est un ensemble d'actions du concepteur MobileTogether déployées sur le serveur sous forme d'un fichier de solution spécialisé.

Les services MobileTogether, exécutés sur des serveurs backend pour les applications mobiles, partagent certaines fonctionnalités avec les applications mobiles, mais ne disposent pas d'interface utilisateur. Par exemple, ces services peuvent utiliser les mêmes sources de données qu'une application mobile : une structure de données XML, HTML ou JSON, une requête HTTP/FTP, une base de données ou un arbre XQuery.

Les développeurs qui connaissent déjà le paradigme de MobileTogether Designer pour les applications multiplateformes.. Développement rapide d'applications mobiles (RMAD) pourra mettre à profit son expérience pour concevoir rapidement des services.

Un service MobileTogether Server est créé en sélectionnant l'option "Nouveau service" dans le menu "Fichier" de l'outil MobileTogether Designer, ce qui ouvre une version simplifiée de l'outil. Les services ne nécessitent aucune interface d'application mobile, de sorte que les fenêtres d'assistance pour les pages et les contrôles utilisateur sont désactivées.

Créons un service qui interroge une base de données de ventes pour obtenir le nombre de produits vendus en une journée, convertit les résultats de la requête en données XML structurées, envoie un courriel à l'administrateur des ventes avec les données XML jointes sous forme de fichier, et envoie une notification à certains dirigeants de l'entreprise. Nous utiliserons la base de données de ventes fournie avec l'application de démonstration MobileTogether CompanySales, qui est installée automatiquement avec MobileTogether Designer et déployée sur le serveur de démonstration MobileTogether.

Notre service nécessitera une requête de base de données et une structure XML, comme on peut le constater dans la capture d'écran des sources de la page ci-dessous :

Le service comprend également une structure appelée "Déclencheurs" qui sera présente sur le serveur MobileTogether. Nous définirons ces déclencheurs ultérieurement, lors du déploiement du service.

Une fois les pages sources terminées, nous pouvons définir les actions MobileTogether qui seront exécutées lorsque le service est en cours d'exécution. Le panneau de conception, qui est généralement utilisé pour créer des mises en page pour les applications mobiles, contient désormais un grand bouton qui ouvre l'arborescence des actions du service, où nous définirons les actions pour ce service. Une liste de toutes les actions disponibles pour les services MobileTogether Server est présentée sur cette capture d'écran :

Veuillez noter que toutes les actions de MobileTogether relatives à la navigation, à l'interface utilisateur ou aux fonctionnalités utilisateur sont grisées, ce qui indique qu'elles ne sont pas disponibles pour les services exécutés sur les serveurs backend des applications mobiles.

Un service MobileTogether Server exécute une série d'actions, qui comprendra probablement plusieurs étapes et pourra effectuer une logique complexe de type "si... alors... sinon", appeler des sous-routines définies dans des groupes d'actions distincts, etc.

Les actions effectuées par notre service de reporting des ventes sont présentées ci-dessous. Ce service exécute une requête dans la base de données, effectue une boucle pour mettre à jour la structure XML avec les résultats de la requête, et appelle des groupes d'actions pour envoyer l'e-mail et les notifications push.

Voici le groupe d'actions "Envoyer un e-mail" destiné au destinataire désigné :

Cette fonctionnalité par e-mail nous permet d'envoyer les données XML en tant que pièce jointe, sans jamais enregistrer de fichier temporaire à un autre emplacement.

Le groupe d'actions pour nos notifications push est présenté ci-dessous. Nous pouvons envoyer une notification push à trois utilisateurs en utilisant leurs noms d'utilisateur MobileTogether.

L'action de notification nous permet également d'envoyer des données à une solution MobileTogether. L'application CompanySales effectue ses propres requêtes sur la base de données des ventes, nous n'avons donc pas besoin de transmettre des données supplémentaires pour cette notification.

Les services pour les serveurs backend des applications mobiles sont déployés via l'option "Déploiement" dans le menu "Fichier" de l'outil MobileTogether Designer. La fenêtre de dialogue de déploiement pour les services comprend une option spéciale permettant d'ouvrir l'interface web du serveur MobileTogether et de définir des déclencheurs qui exécuteront le service

Trois types de déclencheurs peuvent exécuter le service : les minuteurs, les modifications du système de fichiers, comme un dossier surveillé ou un fichier, et les déclencheurs HTTP. Pour les tests initiaux, nous pouvons définir un minuteur pour exécuter le service une seule fois :

Le minuteur déclenche l'exécution, et la vue du journal du serveur indique que l'opération a réussi. L'entrée "Service terminé" en haut indique également le succès, et l'entrée juste en dessous détaille l'exécution étape par étape, en commençant par la requête à la base de données.

Pour gagner de la place, nous avons raccourci la capture d'écran, mais elle montre bien le processus jusqu'à la création du message électronique et de la notification.

Voici la pièce jointe du courriel, affichée dans une fenêtre de l'application Altova XMLSpy Éditeur XML:

Voici les notifications qui sont affichées sur un appareil Android et sur un iPhone :

Lorsque le destinataire touche la notification, l'application CompanySales est lancée, affichant des informations détaillées sur les ventes de la journée.

Le résultat du test correspond exactement à ce que nous recherchions, nous pouvons donc définir un nouveau déclencheur pour exécuter le service chaque jour après la fin des heures de travail :

Découvrez par vous-même à quel point il est facile de définir des services sur les serveurs de backend pour les applications mobiles et de créer vos propres applications mobiles multiplateformes riches en fonctionnalités grâce au concepteur MobileTogether Designer, qui vous permet de développer une application gratuitement et avec de nombreuses fonctionnalités avancées.