L’art du sur mesure
L’approche lowcode est devenue populaire, et a décliné plusieurs fois dans l’histoire de l’informatique. La raison principale de ces échecs précédents est la difficulté de réaliser le dernier pas, les “derniers 10%” de besoins des utilisateurs. Hors, dans beaucoup de cas, une application qui répond à 90% des besoins est inutile ou rejetée. La pertinence d’une approche low-code résulte certes de sa capacité à founir avec une très bonne productivité 90% des besoins utilisateurs, mais c’est la partie facile. La partie difficile est de permettre les derniers 10% avec une productivité équivalente à du développement spécifique. Open Lowcode offre un éventail complet de réponses.
Des objets métiers flexibles, modulaires et puissants
Par rapport à un logiciel métier classique, Open Lowcode vous permet de concevoir votre modèle de données exactement suivant vos besoins, en associant à chaque objet des propriétés, fonctions puissantes répondant aux situations les plus communes du logiciel d’entreprise (workflow, traceabilité, cycle de vie). Des adaptations de l’interface graphique sont prévues aussi pour offrir, de base, une interface correcte.
Actions et pages personalisées
Open Lowcode fournit, une fois les donnnées modélisées, une interface standard. Toutefois, il existe de nombreux cas où l’on souhaite regrouper suivant une logique spécifique plusieurs actions standards. Par exemple, dans la gestion des incidents informatiques (bug), on veut souvent créer un ticket lié à un autre ticket. On peut ainsi concevoir une action spécifique qui crée un nouveau ticket, le lie au ticket existant, et assigne le ticket au même sujet que le sujet d’origine. C’est très facile avec Open Lowcode, puisque le créateur d’actions personalisées a accès à toutes les actions unitaires sur les objets métiers avec une interface très naturelle. Le cas expliqué ci-dessus nécessite beaucoup moins d’une heure de développement, pause café compris. Les actions personalisées s’insèrent dans les pages standards des objets, permettant de lier facilement les personalisations dans l’application.
Les actions personalisées peuvent aussi servir à rassembler toutes les données nécessaires pour l’affichage dans une page personalisée. Pour celles-ci aussi, toutes les primitives servant aux pages standard d’Open Lowcode sont accessibles, avec un langage fortement typé qui détecte la plupart des erreurs dès la compilation.
Personalisation des fonctions complexes
Open Lowcode propose des fonctions complexes comme des workflows. Ces fonctions complexes ont parfois besoin de personalisation sur des parties bien spécifiques. Par exemple, dans un workflow, la plupart des actions sont standard, comme l’envoi de tâches de validation, ou d’e-mail. Néanmoins, certaines parties de ces fonctions complexes nécessitent un algorithme particulier qu’il est beaucoup plus rapide de développer directement, comme une fonction d’aiguillage qui vérifie en fonction de rêgles complexes quelles validations sont nécessaires. Open Lowcode propose, chaque fois que c’est nécessaire, des points de personalisation sur les fonctions complexes.
Les ‘Smart Reports’
La plupart des applications basées sur des tableurs (feuilles de calcul) utilisent massivement la fonction de ‘tableau croisé dynamique’. Elle permet de consolider les données suivant des axes choisis pour obtenir une vue synthétique. Open Lowcode offre une fonction similaire mais plus puissante, puisqu’elle permet de consolider les données de plusieurs objets liés entre eux par des liens. Un rapport se définit par l’assemblage de primitives de base niveau définissant comment parcourir les données, quelles données numériques consolidées et par quelles critères les regrouper en lignes et en colonnes.
Intégration des personalisations
Un piège classique des applications de développement rapide est le mélange de parties de l’application générées automatiquement et d’autres parties personalisées. Si ce mélange est mal géré, l’application n’est plus maintenable. Open Lowcode utilise des techniques de programmation orientées objet pour bien séparer la partie générée de l’application et la partie développée manuellement. Typiquement, chaque fois qu’un code personalisé est nécessaire, une classe abstraite ou une interface sera générée, et le programmeur n’aura plus qu’à implémenter cette interface ou classe abstraite. Cette dernière sera utilisée naturellement par l’application selon le principe de l’inversion des dépendances. Ce mécanisme possède de nombreux avantages:
- un fichier est soit généré automatiquement, soit développé manuellement, il n’y a pas de mélange
- Avec un éditeur comme Eclipse, le cadre de la classe à développer est générée automatiquement, rendant le développement plus rapide
- S’il y a un conflit entre le code spécifique et l’application, une erreur de compilation apparait immédiatement, rendant la correction beaucoup plus rapide et facile. Sur une application de taille importante, le gain de temps est phénoménal.
Le Futur
La première version du framework Open Lowcode, qui sera publié plus tard cette année, a été pensée pour offrir suffisamment de points de personalisations pour les applications développées jusqu’ici. Il est certains que de nouveaux besoins apparaitront. Open Lowcode dispose ici d’un autre avantage: l’approche Open-source permet à n’importe quel utilisateur de développer une extension si celle-ci est nécessaire. Un service d’implémentation d’extensions est également disponible. Cette approche communautaire devrait permettre de converger vers l’ensemble des besoins de points de personalisation, de façon beaucoup plus efficace et rapide que ce que l’on constate aujourd’hui.
Photo by Alexander Andrews on Unsplash
Laisser un commentaire
Participez-vous à la discussion?N'hésitez pas à contribuer!