Brevet FR2858439A1 — publié le 20050204

i PROCEDE PERMETTANT A UN UTILISATEUR DE DEVELOPPER DES APPLICATIONS INFORMATIQUES APPLIQUEES À DES DONNEES QUALIFIEES DANS UN SYSTEME DE GESTION DE DONNEES (SGD) Le problème Lors de développements de systèmes d'informations, l'utilisation de systèmes de gestion de données (SGD) et de langages informatiques indépendants des SGD donnent lieu à des 5 déclarations redondantes du système d'information à gérer. En effet on va jusqu'à trouver une modélisation des données à gérer à la fois dans le SGD et dans la partie traitement de ces données. Cette redondance provoque des difficultés à synchroniser les modèles de données, alourdit la partie traitement. Le résultat est que, même pour gérer un système d'information simple, les couches techniques peuvent devenir si nombreuses que les développements doivent faire appel à des spécialistes pour chaque couche. Ce phénomène est encore renforcé quand on cherche à réaliser des systèmes d'information indépendants du SGD. On trouve alors d'autres couches qui représentent des modélisations des traitements dans les SGD. L'utilisateur final ou le maître d'ouvrage qui définit 20 les données à gérer perd la maîtrise du système d'information car les couches techniques sont des boîtes noires et il est difficile de faire du reverse ingeneering. Le maître d'ouvrage qui, par définition, est capable de décrire les traitements à réaliser à partir des données donne la main au maître d'oeuvre et 5 ne peut que constater le résultat car il n'est pas censé avoir la maîtrise technique du système et ne peut pas contrôler les moyens mis en oeuvre. L'Art antérieur. L'utilisation d'outils de type Ateliers de Génie 10 Logiciels (AGL) permettant de modéliser les systèmes d'information permet en partie de gérer ces problèmes, mais, d'une part, les traitements ne sont que partiellement produits par ces outils et un grand nombre d'entre eux sont écrits manuellement par la maîtrise d'oeuvre et, d'autre part, la 15 redondance est encore présente. Quand ces outils permettent de réaliser ces systèmes d'information, ils sont souvent propriétaires et constituent des boîtes noires qui rendent les systèmes d'information dépendants d'eux. Les migrations vers d'autres technologies sont difficiles 20 et comportent une grande partie d'opérations manuelles, le reverse ingeneering n'est pas automatique. Les SGD les plus courants utilisent un langage d'accès aux données (notamment SQL) qui est différent du langage utilisé pour construire le système d'information (C, Java, Basic, ...). 25 Donc on trouve au sein du langage du système d'information des éléments du langage des SGD avec des systèmes parfois complexes pour passer les informations d'un langage à un autre. La solution La solution, selon l'invention, concerne un procédé 30 permettant à un utilisateur de développer des applications informatiques appliquées à des données qualifiées dans un système de gestion de données (SGD), notamment de type SGBD. Le procédé met en oeuvre un équipement informatique associé au système de gestion de données (SGD). Le procédé comprend les 35 étapes suivantes: - l'étape de qualifier les données dans le système de gestion de données (SGD), notamment en mettant en oeuvre des critères du type liste, vrai/faux, valeur numérique, chaînes de caractères, chaînes binaires, - l'étape de regrouper les données du système de gestion de données (SGD,) notamment en utilisant des bases, des tables, des index, - l'étape de générer, au moyen d'un premier langage notamment de type SQL, des premières phrases permettant de gérer 10 les données ainsi qualifiées et regroupées, notamment en listant et/ou en insérant et/ou en modifiant et/ou en supprimant les données, - l'étape de traduire les premières phrases ainsi générées en premières instructions compatibles avec un deuxième 15 langage spécifique, - l'étape d'écrire des deuxièmes phrases en mettant en oeuvre le deuxième langage spécifique et les premières instructions, - l'étape de transformer les deuxièmes phrases en 20 unités syntaxiques liées en isolant lesdites premières instructions, - l'étape de générer à nouveau les deuxièmes phrases du deuxième langage spécifique à partir des unités syntaxiques liées, - l'étape d'intégrer les unités syntaxiques liées dans le système de gestion de données (SGD), - l'étape d'appliquer aux unités syntaxiques liées un traitement permettant de retrouver une utilisation de chacune des données dans les deuxièmes phrases Il résulte de la combinaison des traits techniques qu'on réalise successivement un traitement des données par les programmes et un traitement des programmes sur les données. Ainsi, une boucle de retour d'information apparaît. Le procédé comprend en outre les étapes suivantes: - l'étape de traduire les unités syntaxiques liées en instructions finales pouvant être exécutées par l'équipement informatique, notamment en instructions écrites en langage binaire, langage assembleur, langage C, langage PHP, langage Java, - l'étape d'exécuter les instructions finales. Il résulte de la combinaison des traits techniques que les données sont traitées par la mise en euvre d'applications informatiques associées au système de gestion de données (SGD). 10 De préférence, selon l'invention, le procédé est caractérisé en ce qu'il est mis en oeuvre, par l'utilisateur, pour décrire les données et écrire les deuxièmes phrases permettant d'ajouter des traitements et/ou des étapes complémentaires au procédé selon la revendication 1. Il résulte de la combinaison des traits techniques que le procédé est mis en euvre pour être enrichi et se développer par lui-même. La solution est donc constituée d'un outil de développement combinant un SGD et un langage. 20 Cet outil permet - de décrire les données à traiter d'une façon compatible avec le SGD, - d'utiliser un langage pouvant intégrer de nouveaux verbes liées aux actions sur les données, - de traduire les instructions du langage du SGD dans le langage de l'outil, d'exécuter les programmes écrits dans le langage de l'outil, - de transformer les programmes écrits dans ce langage 30 en données compatibles avec le SGD pour lier le langage aux données, - l'outil doit être écrit avec ses propres moyens en dehors du noyau permettant de traduire le langage de l'outil dans le langage du processeur. Lors d'un développement avec cet outil, il faut définir les données. Le SGD permet d'exécuter les traitements de base sur ces données (ajout, lecture, modification, suppression). Ces traitements de base sont alors traduits par 5 l'outil en verbes du langage permettant de manipuler ces données. Les verbes concernant les données ne suffisent pas, il faut aussi combiner ces verbes entre eux. Ceci passe par un langage contenant des verbes prédéfinis permettant d'une part de 10 combiner les verbes des données entre eux selon les conditions imposées par les fonctionnalités voulues (Test, boucles, opérations mathématiques...) et, d'autre part, d'exécuter les traitements ne passant pas obligatoirement par le SGD comme par exemple la lecture ou l'écriture de données hors SGD (lecture ou 15 écriture de données sur des interfaces de types écrans, fichiers, souris, ports de communication réseau..). Les programmes résultants de la combinaison de ces verbes doivent être écrits sous une forme syntaxique représentant des actions, mais ils doivent aussi être 20 transformés sous une forme qui puisse être stockée sous la forme de données, compatible avec le SGD. En d'autres termes, les programmes deviennent des données exploitables avec la même méthode que les données gérées. Les données et les programmes sont liés. Seule une partie du noyau est encore et restera écrite manuellement avec un langage de développement qui "parle" le langage du coeur du système de traitement qu'est le processeur. Pour écrire ce noyau, l'utilisation d'un langage intermédiaire connu facilitera le travail car il existe déjà des outils 30 permettant de passer du langage intermédiaire au langage processeur. Le reste du noyau et les programmes écrits avec cet outil sont écrits avec le langage de l'outil. Le noyau se charge de traduire les instructions du langage de l'outil ainsi que les verbes liés aux données en langage intermédiaire ou en langage 35 processeur. La combinaison des deux principes qui sont, d'une part, obtenir à partir du système de gestion des données les verbes du langage permettant d'accéder aux données et, d'autre part, utiliser un langage qui peut être mis sous forme de 5 données permettant de relier, grâce au système de gestion des données, les traitements aux données constitue le coeur de la solution. En effet, le système ci-dessus constitue un système bouclé qui garantit un contrôle des données et des traitements. 10 Le fait que l'outil soit écrit avec ses propres moyens garantit un auto-contrôle (hors noyau qui, étant réduit, peut facilement être contrôlé). Un produit utilise ce principe grâce à un système de gestion de base de données (SGBG), un serveur de données 15 permettant de les visualiser et un langage pour écrire le noyau. Bien qu'il soit toujours en cours de développement, il a déjà été utilisé pour développer des systèmes d'information utiles aux entreprises. REVENDICATIONS 1. Procédé permettant à un utilisateur de développer des applications informatiques appliquées à des données qualifiées dans un système de gestion de données (SGD), notamment de type SGBD; ledit procédé mettant en oeuvre un 5 équipement informatique associé audit système de gestion de données (SGD) ; ledit procédé comprenant les étapes suivantes: - l'étape de qualifier lesdites données dans ledit système de gestion de données (SGD), notamment en mettant en oeuvre des critères du type liste, vrai/faux, valeur numérique, 10 chaînes de caractères, chaînes binaires, l'étape de regrouper lesdites données dudit système de gestion de données (SGD,) notamment en utilisant des bases, des tables, des index, - l'étape de générer, au moyen d'un premier langage 15 notamment de type SQL, des premières phrases permettant de gérer lesdites données ainsi qualifiées et regroupées, notamment en listant et/ou en insérant et/ou en modifiant et/ou en supprimant lesdites données, - l'étape de traduire lesdites premières phrases ainsi 20 générées en premières instructions compatibles avec un deuxième langage spécifique, - l'étape d'écrire des deuxièmes phrases en mettant en ouvre ledit deuxième langage spécifique et lesdites premières instructions, - l'étape de transformer lesdites deuxièmes phrases en unités syntaxiques liées en isolant lesdites premières instructions, - l'étape de générer à nouveau lesdites deuxièmes phrases dudit deuxième langage spécifique à partir desdites 30 unités syntaxiques liées, - l'étape d'intégrer lesdites unités syntaxiques liées dans ledit système de gestion de données (SGD), - l'étape d'appliquer auxdites unités syntaxiques liées un traitement permettant de retrouver une utilisation de chacune desdites données dans lesdites deuxièmes phrases; de sorte qu'on réalise successivement un traitement 5 des données par les programmes et un traitement des programmes sur les données, de sorte qu'une boucle de retour d'information apparaît; ledit procédé comprenant en outre les étapes 10 suivantes: - l'étape de traduire lesdites unités syntaxiques liées en instructions finales pouvant être exécutées par ledit équipement informatique, notamment en instructions écrites en langage binaire, langage assembleur, langage C, langage PHP, 15 langage Java, - l'étape d'exécuter lesdites instructions finales; de sorte que les données sont traitées par la mise en euvre d'applications informatiques associées au système de gestion de données (SGD). 2. Procédé selon la revendication 1; ledit procédé étant caractérisé en ce qu'il est mis en oeuvre, par ledit utilisateur, pour décrire lesdites données et écrire lesdites deuxièmes phrases permettant d'ajouter des traitements et/ou des étapes complémentaires audit procédé selon la revendication 1; 25 de sorte que le procédé est mis en oeuvre pour être enrichi et se développer par lui-même.