English

Revelate ERP

Comment cela fonctionne

Un logiciel qui s’auto-écrit

Avertissement: Cette page est quelque peu technique.

En gros, les logiciels de gestion d’entreprise ont la structure suivante :

La rigidité d’un logiciel vient du fait que chacune de ces couches est implémentée manuellement par un programmeur et figé au moment de la compilation. Tout changement nécesssitera qu’un développeur ouvre le projet, change le code ou interface et recompile le programme.

Revelate est basé sur l’idée de stocker l’intention du logiciel en format XML, et laisser le logiciel s’auto générer.

Interface utilisateur

La programmation des interfaces utilisateur est une des parties les plus longues (et ennuyeuses) dans le développement d’applications d’entreprise. Des heures passées à concevoir l’interface, positionner manuellement les champs, les lier à la propriété de l’objet qui leur correspond, tester, trouver une erreur, la réparer, recompiler, etc.

Une approche est de générer l’interface utilisateur directement à partir du schéma de la base de données. C’est une bonne idée d’un point de vue technique mais fondamentalement erronée. Le but d’une interface utilisateur est de créer un environnement convivial du point de vue de l’utilisateur et donc de lui cacher les détails d’implémentation. Lui exposer le modèle de données directement accomplira tout le contraire.

Revelate 3.0 stocke une description des besoins de l’utilisateur en format XML et laisse le système générer les interfaces finales en DHTML.

Diagram of the user interface generator

Cette approche réduit le temps passé à construire des interfaces par un facteur approximatif de 100, sans compromis pour l’utilisateur.

Aussi, bien que le fichier XML est spécifique à l’utilisateur, le cœur du système ne l’est pas. Donc une installation complètement personnalisée peut être crée tout en maintenant la compatibilité avec les versions futures du système.

Objets métier

Aujourd’hui les applications modernes n’accèdent pas la base de données directement mais créent d’abord des objets qui sont ensuite manipulés. Un processus appelé «  object-relational mapping »

De nouveau le problème est que les classes sont figées. Cette couche intermédiaire détermine les capacités de l’application, donc toute inflexibilité à ce niveau rendra très compliquée une personnalisation par client. Aussi, la création manuelle de classes est longue et source d’erreurs.

Une solution envisageable serait de générer les classes directement à partir du modèle de données. Toutefois, il peut y avoir d’importantes différences entre cela et des objets utiles – par exemple des propriétés qui effectuent un calcul plutôt que de retourner une valeur de la base de données.

L’approche de Revelate est de stocker la logique d’entreprise dans un fichier de configuration et laisser le logiciel construire les classes automatiquement.

Class generator diagram

De nouveau, nous constatons des gains importants en temps d’implémentation, tout en gardant une flexibilité complète et la personnalisation séparée du système principal.

Stockage des données

Le modèle de données Revelate satisfait le standard « Fifth normal form », et est fortement optimisé pour la flexibilité. Puisque nous laissons aux couches supérieures (interface utilisateur et objets métier) le soin de parler le langage des utilisateurs, nous pouvons nous concentrer sur la création d’une abstraction puissante qui peut être employée pour tous types de sociétés, qui, malgré des différences superficielles claires, partagent de nombreux concept sous jacents.

Suite

Find out more