FR3027131A1 - Procede et dispositif d’extraction de donnees standardisees - Google Patents

Procede et dispositif d’extraction de donnees standardisees Download PDF

Info

Publication number
FR3027131A1
FR3027131A1 FR1459861A FR1459861A FR3027131A1 FR 3027131 A1 FR3027131 A1 FR 3027131A1 FR 1459861 A FR1459861 A FR 1459861A FR 1459861 A FR1459861 A FR 1459861A FR 3027131 A1 FR3027131 A1 FR 3027131A1
Authority
FR
France
Prior art keywords
data
request
application server
prerecorded
extraction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1459861A
Other languages
English (en)
Other versions
FR3027131B1 (fr
Inventor
Duy Thong Philippe Tran
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Motilia
Original Assignee
Motilia
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Motilia filed Critical Motilia
Priority to FR1459861A priority Critical patent/FR3027131B1/fr
Publication of FR3027131A1 publication Critical patent/FR3027131A1/fr
Application granted granted Critical
Publication of FR3027131B1 publication Critical patent/FR3027131B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/972Access to data in other repository systems, e.g. legacy data or dynamic Web page generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

Procédé d'extraction de données standardisées caractérisé en qu'il comporte les étapes suivantes : - lecture d'une requête d'extraction préenregistrée comportant des instructions de nommage explicite de colonnes ; lecture d'une source de données selon une association de la requête préenregistrée à ladite source de données ; - exécution de la requête d'extraction lue via une connexion à la source de données lue pour produire un jeu de données extraites ; production, à partir du jeu de données extraites d'un message de données selon les noms des données du jeu de données extraites.

Description

Procédé et dispositif d'extraction de données standardisées DOMAINE TECHNIQUE DE L'INVENTION [0001] L'invention se rapporte à un procédé d'extraction de données standardisées. L'invention se rapporte à la portabilité des applications et a la réduction des investissements pour la réalisation d'une portabilité. En particulier le domaine de l'invention est celui des applications mobiles. En particulier encore le domaine de l'invention est celui des applications connectées à au moins un moteur de stockage de données. [0002] On entendra par portabilité dans le cadre de la présente demande le fait qu'une application soit accessible dans une pluralité d'environnements d'exécution. Les environnements visés sont en particulier les environnements mobiles, mais pas seulement. Par investissement on entend surtout l'acquisition de connaissances spécifiques aux environnements visés.
ETAT DE LA TECHNIQUE ANTERIEURE [0003] Le besoin d'un accès permanent à l'information a conduit les éditeurs de solutions de mobilité à chercher des moyens pour permettre cet accès sur tous supports, ordinateur, tablette et téléphone intelligent. Les paramètres à prendre en compte sont principalement la surface d'affichage, l'interface homme machine et le système d'exploitation sous-jacent. [0004] Les principales difficultés techniques à résoudre pour satisfaire un besoin dans le domaine de la mobilité sont au moins : - diversité et hétérogénéités des données à traiter : - moteurs de stockage différents : SQL-Server, Oracle, MySql, SQLite, MongoDB, ... de tels moteurs sont usuellement désignés comme des bases de données. On inclut y les services web de données ; - différences de modélisations : des données a priori de même nature peuvent être modélisées de façon différentes en utilisant des tables, des relations, des objets dont les structures varient d'une mise en oeuvre à l'autre d'une couche de persistance de données. 3027131 2 - diversité des interfaces hommes machines souhaitées - diversité des plateformes logicielles à partir desquels les données doivent être accessibles : - Androïd ; 5 - iOS ; - Windows ; [0005] La solution historique à ce problème consiste à passer en mode projet avec des phases : 10 - d'identification et de hiérarchisation des besoins ; - de choix des plateformes et des outils de mise en oeuvre associés ; - mise en oeuvre d'une solution logicielle pour chacune des plateformes restantes. Cette phase requiert des compétences de programmation pour chacune des plateformes et des compétences relatives à une 15 couche de persistance de données qui doit être interrogée. [0006] A l'origine les compétences de programmation étaient natives, c'est-à-dire qu'il y avait une branche de code informatique par plateforme le code étant spécifique à chaque plateforme. En cas d'évolution du besoin il fallait donc faire évoluer l'ensemble des branches sans exception et de manière différente. 20 [0007] Avec le temps sont apparus des environnements de développement permettant de « coder une fois, exécuter partout ». Un tel environnement de développement est, par exemple, « Java ». Ces environnements impliquent l'utilisation d'une couche intermédiaire, parfois appelé machine virtuelle, requise pour l'exécution des fichiers produits via un tel environnement. Les machines 25 virtuelles les plus connues sont la machine virtuelle java (ou JVM) et l'interpréteur de code Javascript. [0008] Les principaux problèmes de ces environnements sont : - qu'ils constituent une couche supplémentaire entre l'application et le microprocesseur, limitant ainsi ses performances et rendant, entre 30 autre, l'interface homme machine moins fluide ; - les implémentations des machines virtuelles ne sont pas forcément homogènes d'une plateforme à l'autre ; 3027131 3 - comme pour les plateformes citées précédemment, la mise en oeuvre d'une application nécessite l'écriture de code informatique spécifique à à l'environnement utilisé, voire même, dans certains cas, à la version spécifique de celui-ci 5 - pour certaines plateformes il n'existe tout simplement pas de machine virtuelle. [0009] Une dernière approche est celle du client universel aussi connu sous la dénomination « HTML + Javascript ». Un tel client universel est classiquement un navigateur web ou navigateur. Un tel navigateur est une application en tant que 10 telle, ou un composant logiciel intégré dans une application englobante. Mais là encore tous les navigateurs : - constituent une couche supplémentaire entre le code de l'application et le système d'exploitation. De ce point de vue un navigateur peut être perçu comme une machine virtuelle et tous les inconvénients liés aux 15 machines virtuelles sont donc aussi présents pour les navigateurs ; - ne se valent pas en termes de : - performances, notamment sur les plateformes mobiles, - conformité aux standards, c'est-à-dire qu'une instruction du standard n'implique pas forcément des comportements 20 identiques sur tous les navigateurs prétendant respecter les standards. [0010] Une alternative au client universel est l'application dite hybride dont l'esprit est d'utiliser le plus possible l'aspect client universel en embarquant un composant web mais en conservant quelques parties de l'application en code 25 purement natif. On obtient donc une application native mais développée, au moins pour partie, en langage universel. Les applications hybrides sont donc limitées au même titre que celles basées sur l'approche client universel. [0011] II n'y a donc actuellement pas de bonne solution connus permettant d'une part, de déployer une nouvelle application sur une pluralité de plateformes 30 matérielles et logicielles et, d'autre part, de garantir une homogénéité des expériences sur lesdites plateformes. Les solutions actuelles correspondent à un plus petit dénominateur commun des différentes plateformes ciblées. Ce 3027131 4 dénominateur commun n'exploite pas les ressources spécifiques de chaque plateforme, en particulier les ressources graphiques. EXPOSE DE L'INVENTION 5 [0012] L'invention vise à remédier à tout ou partie des inconvénients de l'état de la technique identifiés ci-dessus, et notamment à proposer des moyens pour permettre de déployer rapidement une nouvelle application. L'invention est basée sur une analyse de l'état de la technique précédemment décrit. [0013] Dans l'invention on considère que, pour garantir une performance 10 optimale sur un support il est préférable d'utiliser ses technologies natives. Cela évite l'empilement de couches logicielles, chaque couche prélevant ses cycles CPU [0014] Dans l'invention on utilise donc des clients natifs consommant chacun des données standardisées produites par un serveur auquel le client adresse une 15 requête. [0015] Les clients, quel que soit la plateforme, sont capables d'interpréter les données reçus. Pour ce faire l'invention propose la mise en oeuvre d'étapes permettant la production de données standardisées. De plus avec l'invention, la configuration de la production de ces données est possible en ne connaissant 20 qu'une technologie, hors celle de l'invention, mais surtout sans avoir de compétence de programmation native. L'invention permet donc de concevoir une application multiplateformes sans connaissance spécifique des dites plateformes. [0016] Dans ce dessein, un aspect de l'invention se rapporte à un procédé d'extraction de données standardisées caractérisé en qu'il comporte les étapes 25 suivantes : - lecture d'une requête d'extraction préenregistrée comportant des instructions de nommage explicite de colonnes ; - lecture d'une source de données selon une association de la requête préenregistrée à ladite source de données ; 30 - exécution de la requête d'extraction lue via une connexion à la source de données lue pour produire un jeu de données extraites ; - production, à partir du jeu de données extraites d'un message de données selon les noms des données du jeu de données extraites. 3027131 5 [0017] Outre les caractéristiques principales qui viennent d'être mentionnées dans le paragraphe précédent, le procédé selon l'invention peut présenter une ou plusieurs caractéristiques complémentaires parmi les suivantes, considérées individuellement ou selon les combinaisons techniquement possibles: 5 - le message est un message texte selon une sérialisation des données extraites ; - le procédé comporte les étapes suivantes : - réception d'une liste de couples d'éléments [nom, valeur] ; - les couples de la liste de couples sont utilisés pour la mise à jour d'un 10 contexte de session ; - le procédé comporte les étapes suivantes : - modification d'une clause de filtrage de la requête enregistrée en fonction des couples de la liste reçue, - remplacement de la requête enregistrée par la requête 15 modifiée pour l'exécution ; - pour la modification, pour un couple d'éléments, l'élément nom est une indirection vers une syntaxe prédéterminée ; - la requête est lue en fonction d'au moins un couple [nom, valeur] ; - les requêtes d'extraction sont des requêtes paramétrées ; 20 - le message de données est associé à un identifiant d'un modèle de consommation des données ; [0018] L'invention se rapporte également à un support d'enregistrement lisible par ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution d'étapes du procédé 25 selon une combinaison des caractéristiques précédentes. [0019] L'invention se rapporte également à un dispositif mettant en oeuvre le procédé selon une combinaison des caractéristiques précédentes. BREVE DESCRIPTION DES FIGURES 30 [0020] D'autres caractéristiques et avantages de l'invention ressortiront à la lecture de la description qui suit, en référence aux figures annexées, qui illustrent : - la figure 1, une vue d'une infrastructure permettant la mise en oeuvre de l'invention ; 3027131 6 - la figure 2, une illustration d'étape du procédé selon l'invention. [0021] Pour plus de clarté, les éléments identiques ou similaires sont repérés par des signes de référence identiques sur l'ensemble des figures. [0022] L'invention sera mieux comprise la lecture de la description qui suit et à 5 l'examen des figures qui l'accompagnent. Celles-ci sont présentées à titre indicatif et nullement limitatif de l'invention. DESCRIPTION DETAILLEE D'UN MODE DE REALISATION [0023] La figure 1 montre un dispositif serveur 100 d'application. Le serveur 10 d'application comporte : - un microprocesseur 110 ; - des moyens de stockage 120, par exemple un disque dur qu'il soit local ou distant, qu'il soit simple ou en grille (par exemple RAID) ; - une interface 130 de communication, par exemple une carte de 15 communication selon le protocole Ethernet. D'autres protocoles sont envisageables comme IP, « Fibre Channel » ou InfiniBand. [0024] Le microprocesseur 110 du serveur d'application, les moyens 120 de stockage du serveur d'application et l'interface 130 de communication du serveur d'application sont interconnectés par un bus 150. 20 [0025] Lorsque l'on prête une action à un dispositif celle-ci est en fait effectuée par un microprocesseur du dispositif commandé par des codes instructions enregistrés dans une mémoire du dispositif. Si l'on prête une action à une application, celle-ci est en fait effectuée par un microprocesseur du dispositif dans une mémoire duquel les codes instructions correspondant à l'application sont 25 enregistrés. Lorsqu'un dispositif, ou une application émet un message, ce message est émis via une interface de communication dudit dispositif ou de la dite application. Un dispositif est réel ou virtuel. [0026] La figure 1 montre que les moyens de stockage du serveur d'application comportent plusieurs zones : 30 - une zone 120.1 d'extraction comportant des codes instructions correspondant à la mise en oeuvre d'étapes du procédé selon l'invention ; - une zone 120.2 de paramétrage structurée pour : 3027131 7 - enregistrer des requêtes d'extraction de données ; - enregistrer des sources de données, une source de données est par exemple une chaîne de connexion à un système de base de données tel que ceux déjà cités, 5 - associer une requête d'extraction de données avec une source de données ; - associer une requête d'extraction de donnée avec un identifiant de modèle de consommation de données. [0027] La zone 120.2 de paramétrage est, par exemple, une base de données 10 selon par exemple l'un des .moteurs déjà cité. Plus généralement la zone 120.2 est une zone de stockage de données dont la structure est connue. [0028] Un modèle de consommation de données est, par exemple un code permettant de déterminer à un traitement à effectuer sur les données. [0029] La figure 1 montre un dispositif serveur 200 de données. Le serveur de 15 données comporte : - un microprocesseur 210 ; - des moyens de stockage 220 ; - une interface 230 de communication. [0030] Le microprocesseur 210 du serveur de données, les moyens 220 de 20 stockage du serveur de données et l'interface 230 de communication du serveur de données sont interconnectés par un bus 250. [0031] Un serveur de données est un dispositif mettant en oeuvre un moteur de stockage de données tel que ceux précédemment cités. Dans la pratique le moteur de stockage de données pourrait être mis en oeuvre par le serveur 25 d'application. [0032] La figure 1 montre un dispositif 300 mobile. Le dispositif mobile comporte : - un microprocesseur 310 ; - des moyens de stockage 320 ; 30 - une interface 330 de communication, par exemple une carte de communication sans fil ; - un écran 340. 3027131 8 [0033] Le microprocesseur 310 du dispositif mobile, les moyens 320 de stockage du dispositif mobile, l'interface 330 de communication du dispositif mobile et l'écran 340 du dispositif mobile sont interconnectés par un bus 350. [0034] La figure 1 montre que les moyens de stockage du dispositif mobile 5 comportent plusieurs zones : - une zone 320.1 de consommation comportant des codes instructions pour consommer des données et des codes instructions pour émettre des requêtes vers le serveur d'application ; - une zone 320.2 de paramétrage comportant, par exemple une adresse 10 du serveur d'application et un identifiant d'une application. [0035] Un identifiant d'application est interprété par le serveur d'application pour sélectionner au moins une requête d'extraction. Un identifiant d'application est, par exemple : connu a priori, ou obtenu pendant une étape préalable d'authentification non représentée. 15 [0036] Un dispositif mobile est par exemple un téléphone mobile ou un une tablette. Mais l'invention fonctionne aussi avec des ordinateurs individuels portables ou fixes. [0037] Le serveur d'application, le serveur de données et le dispositif mobile sont interconnectés par un réseau 500, par exemple le réseau Internet. Ce n'est 20 qu'un exemple, un autre cas fréquent est que le dispositif mobile ne voit que le serveur d'application qui lui voir le serveur de données. [0038] La figure 2 montre une étape 1000 préliminaire dans laquelle un utilisateur du dispositif mobile active un élément d'interface pour provoquer l'émission d'une requête réseau vers le serveur d'application. Cette requête est 25 produite en fonction des données enregistrées dans la zone 320.2 de paramétrage des moyens de stockage du dispositif mobile. La requête émise comporte au moins un identifiant d'application, celui lu dans la zone de paramétrage du dispositif mobile. [0039] Dans une étape 1010 le serveur d'application reçoit la requête réseau 30 émise lors de l'étape préliminaire et en extrait les informations. [0040] Dans une étape 1020 de lecture d'une requête le serveur d'application utilise les données contenues dans la requête reçue pour lire une requête d'extraction préenregistrée associée à l'identifiant contenu dans la requête reçue. 3027131 9 [0041] Toutes les requêtes préenregistrées selon l'invention comportent des instructions de nommage explicite de colonne. Un nom pour le renommage est utilisé en fonction de l'usage qui devra être fait de la colonne au niveau du dispositif mobile. 5 [0042] Une clause de sélection d'une requête préenregistrée obéit donc au formalisme suivant dans un langage SQL : select { nom_de_colonne alias_de_colonne} [1, n] [0043] Ou nom_de_colonne dépend de structure des données enregistrée dans la base de données et alias_de_colonne est un mot clé d'une application 10 selon l'invention. Dans l'invention on utilise donc des alias prédéfinis pour les colonnes extraites des bases de données. [0044] Du point de vue de l'invention, le recours à cette syntaxe permet de standardiser le résultat de l'exécution de la requête. Le résultat peut ainsi être traité sans programmation autre que l'enregistrement de la requête d'extraction.
15 La maîtrise d'un langage d'extraction de données permet donc de paramétrer une application selon l'invention. Dans l'invention alias_de_colonne correspond à un comportement préprogrammé de l'application. [0045] Dans une étape 1030 de lecture d'une source de données le serveur d'application utilise les données contenues dans la requête reçue pour lire une 20 source de données associée à l'identifiant contenu dans la requête reçue. Cette associant peut être : - directe : la source de données et associée à la requête reçue, ou - via une requête d'extraction, la requête reçue étant associée à une requête d'extraction qui est elle associée à une source de données. 25 [0046] Une source de données est un enregistrement qui donne toutes les informations pour se connecter à un moteur de stockage de données, par exemple celui mis en oeuvre par le serveur de données. [0047] Dans une étape 1040 d'exécution de la requête d'extraction lue le serveur d'application, de manière classique effectue les opérations suivantes : 30 - établissement d'une connexion selon les informations de la source de données lue. A cette fin la zone 120.1 d'extraction comporte des codes instruction permettant l'interprétation des sources de données, c'est-à-dire de l'évaluation d'une chaîne de connexion ; 3027131 10 - envoie de la requête d'extraction lue à travers la connexion établie ; - réception d'une réponse comportant les données correspondant à l'interprétation de la requête d'extraction lue par le serveur de données. Une telle réponse s'appelle aussi un jeu de données. 5 [0048] A la fin de l'étape 1040 d'exécution le serveur d'application est en connaissance d'un jeu de données correspondant à la requête d'extraction lue et à la source de données lue. [0049] Dans une étape 1050 de production d'un message de données, le serveur d'application produit un message texte à partir du jeu de données et selon 10 le nom des colonnes de ce jeu de données. Il s'agit, par exemple, d'une sérialisation texte selon un format JSON ou XML. On parle alors d'un message sérialisé. [0050] A ce stade le procédé selon l'invention permet, à quiconque ayant une connaissance d'un langage d'extraction, de produire des données standardisées 15 aptes à être consommées. [0051] Dans une étape 1060 le serveur d'application, émet le message de données en réponse à la requête émise lors de l'étape 1000 préliminaire. [0052] Dans une variante de l'invention, à l'étape 1050 de production d'un message de données, le serveur d'application enrichit ce message avec un 20 identifiant d'un modèle de consommation. [0053] Dans une étape 1100 de réception d'une réponse le terminal mobile reçoit le message de données comportant des données standardisées. Le terminale mobile applique donc un traitement standard à ces données. Le traitement standard en question est soit connu a priori, soit désigné par un 25 enrichissement du message de données. [0054] Le traitement standard est désigné par un code qui va activer un traitement préprogrammé ou préinstallé sur le terminal mobile. On parle de modèle de consommation car un tel traitement est, par exemple la production d'une image. Une image est, par exemple, un graphe, une courbe, un 30 camembert... associé à des éléments d'interface permettant d'interagir avec le serveur d'application. Un autre type de consommateur est, dans un autre exemple, un contrôle. Un contrôle est, par exemple, une liste de sélection, une grille de données,... la liste n'est pas exhaustive. Chacun de ces contrôles a au 3027131 11 moins un paramètre « jeu de donnée » qui est initialisé, dans l'invention, avec les données standardisées. [0055] II est ainsi clair pour l'homme du métier qu'il devient simple de déployer une application basé sur des traitements standards préinstallés. Il suffit de 5 paramétrer une extraction de données selon l'invention. Les possibilités ne sont pas celles d'un codage ouvert en code natif par exemple, mais la mise en oeuvre demande un minimum de connaissance et est universelle. La limitation principale vient du nombre de modèle de consommation préinstallé sur les dispositifs mobiles. L'invention offre un gain important en termes de rapidité de conception et 10 de rapidité de déploiement, la portabilité étant acquise. [0056] Dans une autre variante de l'invention la requête émise lors de l'étape préliminaire comporte des paramètres sous formes de couple [nom, valeur]. [0057] Dans une variante des valeurs de paramètres sont transmises par formatage d'URL aussi connu sous le nom d'« URL-rewriting ». Dans encore une 15 autre variante des valeurs de paramètre sont transmises par intégration dans une URL de paramètres d'URL sans valeur associée. [0058] Ces couples, ou paramètres, sont exploités après la lecture de la requête d'extraction, mais avant son exécution. [0059] Cette exploitation est une modification de la clause de filtrage de la 20 requête. Dans le langage SQL on parle aussi de clause WHERE. La clause de filtrage est augmentée par des critères sur des colonnes dont on obtient le nom via le nom du couple et la valeur via la valeur du couple on obtient alors des critères de sélection tel que. nom = valeur 25 [0060] Dans une autre variante contextuelle, ces paramètres reçus, et leurs valeurs sont utilisés pour alimenter un contexte de session. Un tel contexte est matérialisé par une zone des moyens de stockage du serveur d'application. Un contexte de session est classiquement une liste de clés associées ou non à des valeurs. On parle alors de variables de session. Cette liste est elle-même associée 30 à un identifiant de session. Un identifiant de session a été obtenu lors d'une étape d'authentification. Dans cette variante contextuelle la requête est choisie en fonction du contenu du contexte chaque requête étant associée à une liste de variables, on lit, à l'étape 1020 de lecture d'une requête d'extraction, la requête 3 02 7 13 1 12 dont la liste de variables correspond aux variables contenues dans le contexte. Cette correspondance se fait en fonction du nom et ou de la valeur des variables. [0061] Dans cette variante contextuelle, une zone 120.2 de paramétrage est structurée pour associer des requêtes d'extraction à des listes de variables. Il est 5 ainsi possible de trouver une requête associée à un jeu de variables. [0062] Dans le cas d'une telle association d'une requête à une liste de variables, on prévoit une requête par défaut pour le cas où le contexte serait vide, où pour le cas où le contexte ne contiendrait pas les variables adéquates. Cette requête se fait, par exemple, soit en associant un drapeau « par défaut » à une 10 requête, soit en ayant une requête associée à une liste de paramètre vide. Une telle requête par défaut est aussi utilisée quand il n'a pas été possible d'associer le contenue du contexte à une requête. [0063] Dans une variante un identifiant de session est le « UDID » du dispositif mobile 11 s'agit d'un identifiant unique de dispositif aussi appelé Universal Device 15 ID. Une alternative, dans une autre variante est d'utiliser une adresse MAC. Ces exemples ne sont pas limitatifs. [0064] Par exemple, dans la variante contextuelle, une requête du type : Domain.t1d/Order?continent=EU&year=2014 [0065] On alimente le contexte comme suit : [action, Order ], [continent, EU] et 20 [year, 2014]. On a donc dans le contexte 3 couples ou variables de session, [nom, valeur]. On recherche alors, dans l'étape 1020 de lecture d'une requête d'extraction, une requête d'extraction correspondant. [0066] Cette requête d'extraction sera du type Select * from table where cl = @continenr and c2 = @year 25 [0067] II s'agit d'une requête paramétrée, ses paramètres ayant les noms « continent » et « year ». Ces noms de paramètre sont choisis de manière arbitraire ainsi que les noms de table et de colonnes. [0068] Ici la correspondance est du type : - La requête est associé à une variable nommée « action » dont la valeur 30 est « Order », et - La requête comporte un paramètre nommé « continent », et - La requête comporte un paramètre nommé « year ». 3 02 7 13 1 13 [0069] On voit ici que l'association d'une requête d'extraction à une variable comporte une propriété selon que l'évaluation de cette association se fait en testant la présence de la variable, ou en testant la valeur de la variable. [0070] L'évaluation de la requête d'extraction se fait en utilisant les valeurs des 5 variables contenues dans le contexte. Dans notre exemple une requête équivalente à celle qui est effectivement exécutée est : Select * from table where cl = 'EU' and c2 = 2014 [0071] Dans une autre variante l'opérateur de comparaison est une sous partie du nom ou de la valeur. Par exemple on a un couple [C1, >V1], ce qui donnera le 10 critère suivant : Cl > V1 [0072] Dans une variante le nom du couple est une indirection vers un nom de colonne ou une syntaxe de pagination par exemple. Un ensemble de couples tels que le suivant 15 [tp, 10][p, 3] permettrait d'obtenir une clause offset 30 rows fetch next 10 rows only C'est-à-dire une instruction de pagination selon une syntaxe SQL. tp est la taille de la page à retourner, p est le numéro de la page à retourner. 20 [0073] Les paramètres sont transmis selon le protocole http avec de préférence une requête GET ou POST. D'une manière générale on peut aussi utiliser un protocole de communication réseau de niveau application, selon la normalisation OSI, tel que http, WebSocket, SPDY,... la liste n'est pas limitative. [0074] L'invention est donc un moteur paramétrable d'extraction de données 25 en vue de la consommation des données extraites par un client standardisé.

Claims (11)

  1. REVENDICATIONS1. Procédé d'extraction de données standardisées caractérisé en qu'il comporte les étapes suivantes : lecture (1020), par un serveur d'application, d'une requête d'extraction préenregistrée comportant des instructions de nommage explicite de colonnes ; lecture (1030), par le serveur d'application, d'une source de données selon une association de la requête préenregistrée à ladite source de données ; exécution (1040), par le serveur d'application, de la requête d'extraction lue via une connexion à la source de données lue pour produire un jeu de données extraites ; production (1050), par le serveur d'application, à partir du jeu de données extraites d'un message de données selon les noms des données du jeu de données extraites.
  2. 2. Procédé d'extraction de données selon la revendication 1, caractérisé en ce que le message est un message texte selon une sérialisation des données extraites.
  3. 3. Procédé d'extraction de données selon l'une des revendications précédentes, caractérisé en ce que le procédé comporte les étapes suivantes : réception (1010) d'une liste de couples d'éléments [nom, valeur].
  4. 4. Procédé selon la revendication 3, caratérisé en ce que les couples de la liste de couples sont utilisés pour la mise à jour d'un contexte de session.
  5. 5. Procédé d'extraction de données selon l'une des revendications 3 ou 4, caractérisé en ce que, le procédé comporte les étapes suivantes : modification d'une clause de filtrage de la requête préenregistrée en fonction des couples de la liste reçue, remplacement de la requête préenregistrée par la requête modifiée pour l'exécution.
  6. 6. Procédé d'extraction de données selon la revendication 5, caractérisé en ce que pour la modification, pour un couple d'éléments, l'élément nom est une indirection vers une syntaxe prédéterminée.
  7. 7. Procédé d'extraction de données selon l'une des revendications 3 ou 4, caractérisé en ce que la requête est lue en fonction d'au moins un couple [nom, valeur]. 3027131
  8. 8. Procédé selon l'une des revendications précédentes, caractérisé en ce que les requêtes d'extraction sont des requêtes paramétrées.
  9. 9. Procédé selon l'une des revendications précédentes, caractérisé en ce que le message de données est associé à un identifiant d'un modèle de consommation des données.
  10. 10. Support d'enregistrement lisible par ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions de code de programme pour l'exécution d'étapes du procédé selon l'une des revendications 1 à 9.
  11. 11. Dispositif mettant en oeuvre le procédé selon l'une des revendications 1 à 5 précédentes.
FR1459861A 2014-10-14 2014-10-14 Procede et dispositif d’extraction de donnees standardisees Active FR3027131B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1459861A FR3027131B1 (fr) 2014-10-14 2014-10-14 Procede et dispositif d’extraction de donnees standardisees

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1459861A FR3027131B1 (fr) 2014-10-14 2014-10-14 Procede et dispositif d’extraction de donnees standardisees

Publications (2)

Publication Number Publication Date
FR3027131A1 true FR3027131A1 (fr) 2016-04-15
FR3027131B1 FR3027131B1 (fr) 2017-12-22

Family

ID=53039478

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1459861A Active FR3027131B1 (fr) 2014-10-14 2014-10-14 Procede et dispositif d’extraction de donnees standardisees

Country Status (1)

Country Link
FR (1) FR3027131B1 (fr)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037069A1 (en) * 2000-06-26 2003-02-20 Jeff Davison Method and system for providing a framework for processing markup language documents
US20080071642A1 (en) * 2006-09-15 2008-03-20 Leiba Lior System and method for connecting external product catalog data to business applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030037069A1 (en) * 2000-06-26 2003-02-20 Jeff Davison Method and system for providing a framework for processing markup language documents
US20080071642A1 (en) * 2006-09-15 2008-03-20 Leiba Lior System and method for connecting external product catalog data to business applications

Also Published As

Publication number Publication date
FR3027131B1 (fr) 2017-12-22

Similar Documents

Publication Publication Date Title
US9317392B2 (en) Methods and automated systems for testing, optimization, and analysis that preserve continuity in identities and status of users who access remote information from different contexts
EP2599284B1 (fr) Communication de données entre modules
FR2824160A1 (fr) Conteneur generique configurable de facon dynamique
US11507556B2 (en) Method and system for encapsulating and storing information from multiple disparate data sources
CN106911666B (zh) 一种可穿戴智能设备及其消息处理方法、系统
WO2007141446A1 (fr) Système de gestion d'un service interactif multimodal
US20160154557A1 (en) Method to fetch functionality across applications
FR3027131A1 (fr) Procede et dispositif d’extraction de donnees standardisees
FR2880966A1 (fr) Procede de navigation automatique en mode interposition
EP2674860A1 (fr) Procédé de traitement de données par un module de navigation
FR2966948A1 (fr) Indexation et execution d'applications logicielles dans un reseau
FR2930099A1 (fr) Procede et dispositif de routage de donnees
FR2906382A1 (fr) Procedes et dispositifs pour optimiser le traitement xml
US11636170B1 (en) Normalizing uniform resource locators
FR3089324A1 (fr) Procédé de détermination d’un agent conversationnel sur un terminal
CN103701910A (zh) 支持内容中心网络的资源请求处理方法及Web浏览器
WO2009050375A2 (fr) Procede de representation d'un utilisateur, dispositif, et produit programme d'ordinateur correspondants
WO2018172669A1 (fr) Procédé et dispositif de gestion du stockage de documents numériques
FR2911200A1 (fr) Procede et dispositif de traitement de documents a partir de schemas enrichis et procede et dispositif de decodage correspondants
EP2851793B1 (fr) Procédé de configuration d'au moins un noeud d'une grappe d'ordinateurs, dispositifs correspondant et système correspondant
Minde Automatic collection and storage of smart city data with semantic data model discovery and sample data analysis
FR2857120A1 (fr) Procede de visualisation d'informations accessibles par l'intermediaire d'un reseau de telecommunications, serveur et programme pour sa mise en oeuvre
FR3083891A1 (fr) Procede d’echanges de donnees en un serveur et une pluralite de terminaux connectes clients
WO2013153331A1 (fr) Fichier de donnees de documentation avec niveaux de detail
FR2901380A1 (fr) Support personnel de memoire de masse portatif et systeme informatique d'acces securise a un espace utilisateur via un reseau

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20160415

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5

PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10