Comment générer des formulaires web complexes ? Orbéon bien sûr !
Nous utilisons Orbéon pour des projets intégrant des formulaires complexes. Cet article propose un panorama des nouveautés d’Orbéon.
Quel usage pour Orbéon ?
Pour ceux qui ignorent ce qu’est Orbéon, un rappel s’impose : Orbéon est un outil permettant de gérer des formulaires web complexes en s’appuyant sur la norme XForms. Les formulaires générés sont donc adaptatifs en fonction du modèle XML sous-jacent, valides par rapport à ce modèle et peuvent utiliser des contrôles métiers issus du schéma XML.
Orbéon est composé de différents outils :
Form Builder : est un éditeur graphique qui sert à définir un formulaire de manière visuelle dans un navigateur. Il est possible d’y ajouter des contrôles, de la validation, d’internationaliser le formulaire, de produire des sorties XHTML et PDF, … et finalement de déployer le formulaire construit vers l’outil de run. Il faut noter que le formulaire construit est “responsive design” et s’adapte bien aux affichages sur smartphones.
Form Runner : comme son nom l’indique, il s’agit de l’outil qui va “exécuter” un formulaire, c’est à dire le rendre éditable sur le web, permettre l’exécution des actions définies dedans, gérer le workflow de saisie et assurer la persistance des informations rentrées par l’utilisateur.
Un petit schéma illustre la relation entre builder et runner :
En terme de déploiement, Orbéon accuse un peu son âge. Il s’agit d’une application monolithique déployable sous forme d’un war sur un serveur J2EE (tomcat / websphere ou autre).
Les formulaires exposés par le runner peuvent être accéder ensuite via l’un des modes suivants :
- Via url (par redirection ou en incluant une iframe),
- Par API REST pour accéder aux données persistées,
- Par la définition de mapping entre les champs du formulaire et une API REST exposée par l’application qui souhaite accéder au formulaire
- Par inclusion sous forme de portlet Liferay ou de JSP.
Nouveautés récentes
De grosses améliorations sur le builder qui devient plus ergonomique en version 2017.2.
Une API permettant de passer un scanner de virus directement lors de l’upload des pièces jointes.
Un processus de réplication permettant la gestion de la haute disponibilité:
Un composant utile par exemple pour les formulaires de livraison permettant de gérer les signatures manuelles.
Le support JSon afin de permettre la réception de données dans ce format.
Une amélioration importante des performance d’indexation lors de l’utilisation d’une base SQL.
Un système de permission hiérarchique pour gérer les organisations.
Coûts
La page de prix est disponible ici.
Une solution moyenne composée d’un serveur de test, d’un serveur d’intégration et deux serveurs de production (pour la haute disponibilité) coûte environ 8000 $ par an.
Ce sujet vous intéresse ?