[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

WO2009141539A2 - Procede et systeme de configuration de documents - Google Patents

Procede et systeme de configuration de documents Download PDF

Info

Publication number
WO2009141539A2
WO2009141539A2 PCT/FR2009/000553 FR2009000553W WO2009141539A2 WO 2009141539 A2 WO2009141539 A2 WO 2009141539A2 FR 2009000553 W FR2009000553 W FR 2009000553W WO 2009141539 A2 WO2009141539 A2 WO 2009141539A2
Authority
WO
WIPO (PCT)
Prior art keywords
document
configuration
file
data
xml
Prior art date
Application number
PCT/FR2009/000553
Other languages
English (en)
Other versions
WO2009141539A3 (fr
Inventor
Eric Lemaire
François Lemaire
Marc Lemaire
Original Assignee
Activsoft Developpement
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 Activsoft Developpement filed Critical Activsoft Developpement
Publication of WO2009141539A2 publication Critical patent/WO2009141539A2/fr
Publication of WO2009141539A3 publication Critical patent/WO2009141539A3/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets

Definitions

  • the invention relates to a document configuration method, and to a system for implementing this method.
  • the invention relates to the field of data processing, and more particularly to methods and systems for configuring cross-platform documents comprising audio, text and / or video data. This configuration is done so that these documents are decodable by any digital application such as a Web browser, or applications capable of interpreting documents with PDF (Portable Document Format), or Rich Text Formattel (RTF) formats. etc.
  • PDF Portable Document Format
  • RTF Rich Text Formattel
  • formats that can be decoded by a Web browser-type application relate to markup computer languages, in particular to create hypertext.
  • Such formats refer for example to HTML (acronym for Wireless Markup Language) that also allows you to semantically structure and layout the content of pages, to include multimedia resources including images, input forms, and applets, and to create interoperable documents with a variety of equipment and to support Web accessibility.
  • the document WO2005 / 08518 describes a method for generating documents in XML format in a document in HTML format from the features of an XSL file including presentation data to structure the data included in the XML document.
  • a document sent to the browser of a mobile terminal or a computer will have a presentation adapted and compatible with each of these browsers.
  • the present invention aims to solve the problem related to the technical difficulties encountered for the implementation of a method or a document configuration system quickly and easily.
  • the invention proposes to optimize the performance of file configuration mechanisms from a particular filtering process to adapt the characteristics of a document so as to make it quickly decodable by any type of application .
  • the invention relates to a document configuration method for a given application comprising a first configuration step by:
  • the method comprises a preliminary step of receiving a request from an application in order to generate the configured document to be transmitted on the fly. More specifically, the invention also relates to a document configuration system intended for a given implementation application of the method comprising:
  • a configuration component comprising at least one identification filter of at least one reference element of a base file able to generate configuration instructions in a configuration file
  • a document generation tool comprising a server connected to a database, said server comprising processing means able to extract data from said database to create a document that can be modified by a converter when executing configuration file configuration instructions to generate a configured document.
  • the converter is a compiler
  • At least one filter is included in the converter
  • the data relates to selected elements among text, video, and audio
  • the basic file is in XML format
  • the reference elements correspond to XSLT and / or XML tags
  • filter is preconfigured to process a predefined reference element type
  • the document is in XML format
  • the modified document is in the format chosen from XHTML, HTML, and PDF.
  • FIG. 1 illustrates an exemplary embodiment of the invention
  • FIG. 2 defines an embodiment according to the invention
  • FIG. 3 illustrates advanced input controls in one embodiment of the invention.
  • the document configuration system shown in FIG. 1 comprises a configuration component 22 and a document generation tool 23.
  • the configuration component 22 comprises computer equipment interacting with a user of computer applications, not necessarily a professional developer, so as to generate a basic file 4.
  • This basic file 4 includes reference elements such as tags.
  • This computer equipment includes, in these memory means, libraries of XML tags stored in a namespace including more variables, functions, and classes.
  • Each of the XML tag libraries corresponds to XML DSL (meaning XML Domain Specifies Language, the notion of DSL defining a language created specifically for a functional domain: graphic formatting, multilingualism, etc.).
  • the user by interacting with his computer equipment generates from a basic language at least one base file 4 which is then archived in a database connected to a server capable of implementing at least one filter 7, 8.9.
  • This basic file 4 is transmitted to a filter 7 during a step 11.
  • the filter 7 will identify in localized areas of the base file 4 a type of reference element that it is able to process to generate configuration instructions that will be archived in a file 14.
  • the content of a base file 4 produced for the purpose of creating a translation component for an Internet site may comprise the following basic language codes:
  • strings of characters, included in these pairs of elements constitute in this example the contents of the Internet site in two different languages.
  • the filter performs a particular treatment of these zones, and generates the following configuration instructions included in a file 14:
  • One of the advantages of the invention is to allow a user who has no in-depth knowledge in programming languages to be able to make computer components from, in particular, the basic language implemented in the invention.
  • the XML tags included in the base file 4 have been transformed into XSLT code. These XSLT codes are a component of the instructions included in the file 14. This file 14 is then transmitted, during a step 13, to a data processing server included in the generation tool 23.
  • This document generation tool 23 comprises a database 3 comprising various information from heterogeneous sources, the data processing server 15 and an LDAP server (acronym for Lightweight Directory Access Protocol, which corresponds to a standardized protocol facilitating searching for information organized in a directory or directory) and a web server for web pages describing a product or service.
  • LDAP server an LDAP server
  • a web server for web pages describing a product or service.
  • the information included in the LDAP server and the database correspond for example to data such as text, audio and / or video elements, or images.
  • the database 3 and the LDAP server are connected to a processing server comprising a module for extracting data.
  • This data extraction module makes it possible to collect, standardize and assemble the heterogeneous data stored in the database 3 and the LDAP server, in order to generate a document 1 in XML format, during a step 2.
  • this module has the function of normalizing the extracted data by implementing error tolerance algorithms developed so as to restore a document compliant with XML requirements.
  • This module includes an SGML parsing unit for fault tolerance analysis of tagged documents, for XML standards, and for the resulting document tree as a dynamic mode of representing the content of the original data.
  • the XML format of the generated document is not limiting, other formats can be generated by this data extraction module. Examples include CSV, HTML 3.2 or HTML 4.0, and other text formats.
  • the document 1 is transmitted by the processing means to a conversion module 5, during a step 10.
  • the processing server comprises in its memory means a conversion module 5 such as a compiler 5 allowing from the instructions included in the file 14 received and document 1 to generate a configured document 6, during a step 12.
  • the base file 4 containing XSLT tags and other XML DSL is processed by several successive filters to finally generate a file 14.
  • This file 14 is processed by the compiler with the document 1 to obtain a 6.
  • the compiler corresponds for example conversion modules based on languages such as MSXML, Xalan / Java, Xalan / C ++, Saxon, or any other XSLT engine.
  • the configured document 14 can be in XML, XHTML, PDF, etc. format.
  • One of the advantages of the invention is to dispense with computer programming technique that creates the object-oriented database illusion from a relational database by defining correspondences between this database and the objects of the language used, such as ORM (acronym for object-relational mapping, which is translated by correspondence between object world and relational world).
  • ORM synchrom for object-relational mapping, which is translated by correspondence between object world and relational world
  • the coding of access to data sources passes code compiled or automatically generated by ORM that pose problems of maintenance and optimization. It is easy to make an application, but difficult to maintain and optimize afterwards and especially when scaling.
  • the compilation is based on a standard feature of XSLT interpreters that allows to implement its own XML file loader
  • the server provides after processing a standard XSL file to a compiler.
  • This compiler performs, natively, the processing of the reference elements included in the base file.
  • the data processing server 15 comprises processing means 17 comprising memory means 18 and a processor 19. These processing means exchanges data with communication means 20,21. These communication means 20,21 are connected respectively with the database 3 and a computer equipment 16 comprising an application such as a web browser for decoding the configured document 6.
  • These processing means are able to extract data from said database 3 to create a document 1 that can be modified by a converter 5 when executing configuration instructions of the configuration file 14 to generate a configured document 6.
  • the invention can be used as:
  • the invention can be applied to optimize Internet content sites separating the so-called “long-life” data that would be precompiled with data called “short-lived".
  • long-term data is meant textual data corresponding to articles, product descriptions.
  • Short-term data for example ephemeral data such as product purchases (eg the e-commerce basket).
  • the invention makes it possible to develop and implement a supplier control management computer component in the context of the operation of a set of sites, nurseries in this example, through a Web interface searchable in the Intranet network of nurseries.
  • This component is integrated with the existing Web interface.
  • - advanced rights management the web interface before the integration of this component allows any user to access all screens either for a specific nursery or for all nurseries. For this new component, it must be possible to restrict access to certain screens according to several profiles. For example, a crèche employee can create an order, but only the manger can validate it.
  • a rights management system easy to administer for the user and easy to integrate in the development of the graphical interface must be achieved by the invention;
  • - advanced input controls the ordering process is accelerated compared to manual controls; to do this, choosing an article must be a fast operation, and among a large number of possible articles. For that, a graphic control where one chooses an article by typing the beginning of its name should be possible. In this context, the simple implementation of this control in the various screens must be carried out;
  • the main difficulty in a rights management system is to determine the granularity; if the rights are too general (access to a particular screen), the administrator (hereinafter called the client) of the website in which the existing web interface is included can not define the profiles he needs. If the rights are too precise (all screens, buttons, fields), the client abandons the definition of his profiles and gives access to everything. However, when we define the right granularity for the customer, the management becomes tedious in the development; the client may wish to manage access only at the screen level, or button by button.
  • a right can then be defined according to the following code:
  • the command code. changecommand.ethe day corresponds to the order management menu, order modification screen, button to update a command on this screen.
  • the solution is to make available to the developer-integrator a function that allows for each of the rights to determine whether the user has access rights or not, rather than extract tediously from the list raw data that could provide the answer to the developer-integrator.
  • This reference element refers to the button display and rights management.
  • the base file 4 containing this code is then analyzed by at least one filter that detects the "right: visible” reference element and generates configuration instructions included in a file 14. It clearly appears by comparing the lines of the C #, ASP.NET and XSL codes set out above in paragraph 53 of the simplified language code according to the invention in paragraph 55 that the integrating developer gains in readability, simplicity, and development time.
  • an action may be considered as not needing to be filtered by a right of access; with this syntax, adding an access right only requires adding a simple attribute to the GUI area to be filtered.
  • FIG. 3 describes these controls according to the following functionality:
  • the elements 32 are ordered by the login field 30 (in parentheses);
  • control automatically selects the line closest to the entered text.
  • server-side programming languages are known for sorting lists of character strings according to a given language (French, English, Swedish, etc.).
  • javascript script programming language mainly used for interactive web pages
  • ASCII cronym American Standard Code for Information Interchange which is the standard for character encoding in computer science
  • the sort is on the side of the server.
  • the search must be performed at each keystroke.
  • the server returns the order of the element entered by the user, or an element that makes it possible to determine this order in javascript language. If the server returns the order, it must cache a list of what the user sees, which on the one hand is expensive in resources, and secondly complicated to manage since we do not know server side when the client has finished his work (so when the cached list can be released).
  • the solution is to use the standard functions returning a hexadecimal string constituting a sort for a specific language; this hexadecimal string is sortable in javascript since it consists only of ASCII codes.
  • This solution is the optimal solution, but it is complex to implement because it uses many layers (generation of server-side HTML code, manipulation of client side HTML code, AJAX (Asynchronous JavaScript And XML) call). returning the sort string).
  • the "list” attribute containing an "XPath” expression giving the list of elements to choose from, "id-expression” an XPath expression giving an identifier for each line, and "name-expression” an XPath expression giving the name for each line (from which sort is performed).
  • the display code of each line obtained is introduced between these two reference elements.
  • This control includes all the complex solution described above in a few lines, a considerable time-saving of development and debugging.
  • the saving of time is, in this case, important between the use of XHTML code composed of XSLT and the use of pre-compiled control.
  • system according to the invention is capable of configuring on the fly an unlimited number of documents. Subject to the available bandwidth and hardware resource capabilities of the processing server.
  • the present invention as described is an optimal choice among a multiplicity of conflicting approaches, by proposing a unique document configuration technique harmonizing the interactions between a configuration component and a document generation tool. .
  • the present invention is not limited to the embodiments described and illustrated, several filters can be used successively each filter being dedicated to a specific reference element.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Document Processing Apparatus (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Procédé et système de configuration de documents destinés à une application donnée comprenant une première étape de configuration par : - filtrage d'un fichier de base (4) comprenant au moins un élément de référence identifiable par au moins un filtre (7,8,9), - localisation des zones du fichier de base (4) par chaque élément de référence, - génération d'instructions de configuration dans un fichier (14) dit de configuration à partir du contenu des zones localisées dans le fichier de base (4), et une deuxième étape de génération d'un document (1) par : extraction (2) de données d'une base de données (3), création dudit document (1) à partir de ces données, - conversion (5) de ce document (1) par exécution des instructions de configuration de la première étape, et récupération (12) du document configuré (6) à transmettre à l'application donnée.

Description

PROCEDE ET SYSTEME DE CONFIGURATION DE DOCUMENTS
DOMAINE TECHNIQUE DE L'INVENTION
[0001] L'invention se rapporte à un procédé de configuration de documents, et à un système pour la mise en œuvre de ce procédé.
[0002] L'invention se rapporte au domaine de traitement de données, et plus particulièrement aux procédés et systèmes permettant de configurer des documents multiplateformes comportant des données audio, texte et/ou vidéo. Cette configuration est effectuée de sorte que ces documents soient décodables par toute application numérique telle qu'un navigateur Web, ou encore des applications aptes à interpréter des documents ayant des formats de type PDF (Portable Document Format), ou encore RTF (Rich Text Formattel) etc.
ETAT DE LA TECHNIQUE ANTERIEURE
[0003] En quelques décennies, Internet est devenu un réseau informatique mondial quasiment incontournable dans le domaine de la communication. Ce réseau de communication a pris une ampleur rapide en interconnectant des terminaux fixes ou mobiles dans le monde. Ainsi toute information est devenue accessible à partir de tout terminal n'importe où et à tout moment. Engendrant par conséquent, une augmentation conséquente de création et/ou d'ajout de pages Web dans ce système de transmission de l'information.
[0004] Dans un tel système, il est important de pouvoir créer et/ou convertir rapidement et facilement des documents en vue de leur diffusion par ce réseau de communication, en des formats qui soient accessibles par toute application ou terminal connecté à Internet.
[0005] II est conventionnellement connu dans l'art antérieur que les formats décodables par une application de type navigateur Web se rapportent à des langages informatiques de balisage notamment pour créer de l'hypertexte. De tels formats se rapportent par exemple à du HTML (acronyme de Wireless Markup Language) permettant aussi de structurer sémantiquement et de mettre en page le contenu des pages, d'inclure des ressources multimédias dont des images, des formulaires de saisie, et des applets, et de créer des documents interopérables avec des équipements très variés et de soutenir l'accessibilité du Web.
[0006] Le nombre croissant de terminaux et d'applications différentes permettant de décoder des documents nécessite des systèmes dynamiques de conversion de documents compatible avec ces terminaux et ces applications.
[0007]On connaît dans l'art antérieur les documents suivants :
- « Model -driven design of service -enabled web applications », dont les auteurs sont Marco BRAMBILLA, StefanoCERI, Piero
FRATERNALI, Roberto ACERBIS et Aldo BONGIO ;
- « YoLinux tutorial : Java Servlets, JSP, Jakarta-Tomcat, a Database, Apache and Linux » de Greg IPPOLITO, et
- « Multilingual Web Pages with ASP and XML », de Ken COX.
[0008]On connaît aussi dans l'art antérieur, le document WO2005/08518 décrivant un procédé de génération de documents au format XML en un document au format HTML à partir des fonctionnalités d'un fichier XSL comprenant des données de présentation afin de structurer les données comprises dans le document XML. Ainsi un document envoyé au navigateur d'un terminal mobile ou d'un ordinateur aura une présentation adaptée et compatible avec chacun de ces navigateurs.
Cependant, un tel procédé présente des inconvénients liés au fait que la réalisation d'un tel fichier XSL requiert une expérience approfondie pour les types de manipulation de documents et donc se limite à une catégorie restreinte d'utilisateurs, ce qui pose des problèmes de maintenance, d'optimisation en temps lors de la mise en œuvre de ce procédé. EXPOSE DE L'INVENTION
[0009] La présente invention vise à résoudre le problème lié aux difficultés techniques rencontrées pour la mise en œuvre d'un procédé ou un système de configuration de documents de manière rapide et simple.
[0010] L'invention propose d'optimiser les performances des mécanismes de configuration de fichiers à partir d'un processus de filtrage particulier permettant d'adapter les caractéristiques d'un document de manière à le rendre rapidement décodable par tout type d'application.
[0011]Plus précisément, l'invention a pour objet un procédé de configuration de documents destiné à une application donnée comprenant une première étape de configuration par :
- filtrage d'un fichier de base comprenant au moins un élément de référence identifiable par au moins un filtre,
- localisation des zones du fichier de base par chaque élément de référence, - génération d'instructions de configuration dans un fichier dit de configuration à partir du contenu des zones localisées dans le fichier de base, et une deuxième étape de génération d'un document par :
- extraction de données d'une base de données, - création dudit document à partir de ces données,
- conversion de ce document par exécution des instructions de configuration de la première étape, et
- récupération du document configuré à transmettre à l'application donnée.
Selon des modes de réalisation particuliers:
- le procédé comprend une étape préalable de réception d'une requête provenant d'une application afin de générer à la volée le document configuré à transmettre. [0012] Plus précisément, l'invention se rapporte également à un système de configuration de documents destiné à une application donnée de mise en œuvre du procédé comprenant :
- un composant de configuration comportant au moins un filtre d'identification d'au moins un élément de référence d'un fichier de base apte à générer des instructions de configuration dans un fichier dit de configuration, et - un outil de génération de documents comportant un serveur relié à une base de données, ledit serveur comprenant des moyens de traitement aptes à extraire des données de ladite base de données pour créer un document modifiable par un convertisseur lors de l'exécution des instructions de configuration du fichier de configuration pour générer un document configuré.
Selon des modes de réalisation particuliers: - le convertisseur est un compilateur ;
au moins un filtre est compris dans le convertisseur ;
les données se rapportent à des éléments choisis parmi du texte, de la vidéo, et de l'audio ;
le fichier basique est au format XML ;
- les éléments de référence correspondent à des balises XSLT et/ou XML
DSL ;
filtre est préconfiguré de façon à traiter un type d'élément de référence prédéfini ;
le document est au format XML ;
- le document modifié est au format choisi parmi XHTML, HTML, et PDF.
l'application est un navigateur Web. BREVE DESCRIPTION DES FIGURES
[0013] 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 , illustre un exemple de réalisation de l'invention, - la figure 2, définie un mode de réalisation selon l'invention, et
- la figure 3, illustre des contrôles de saisie avancés dans un mode de réalisation de l'invention.
[0014] 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.
[0015] Le système de configuration de documents représenté à la figure 1 comporte un composant de configuration 22 et un outil de génération de documents 23.
[0016] Le composant de configuration 22 comprend un équipement informatique interagissant avec un utilisateur d'applications informatique, pas nécessairement un développeur professionnel, de sorte à générer un fichier de base 4. Ce fichier de base 4 comprend des éléments de référence tels que des balises.
[0017] Cet équipement informatique comprend, dans ces moyens de mémoire, des bibliothèques de balises XML rangés dans un espace de noms regroupant en plus des variables, des fonctions, et des classes. Chacune des bibliothèques de balises XML correspond à du XML DSL (signifiant XML Domain Spécifie Language, la notion de DSL définissant un langage créé spécifiquement pour un domaine fonctionnel : mise en forme graphique, multilinguisme, etc).
[0018] L'utilisateur en interagissant avec son équipement informatique génère à partir d'un langage basique au moins un fichier de base 4 qui est ensuite archivé dans une base de données reliée à un serveur apte à mettre œuvre au moins un filtre 7,8,9.
[0019] Ce fichier de base 4 est transmis à un filtre 7, lors d'une étape 11. [0020] Le filtre 7 va identifier dans des zones localisées du fichier de base 4 un type d'élément de référence qu'il est capable de traiter afin de générer des instructions de configuration qui vont être archivées dans un fichier 14.
[0021] À titre d'exemple, le contenu d'un fichier de base 4 réalisé en vue de créer un composant de traduction pour un site Internet, peut comporter les codes, en langage basique, suivants :
<span xml:lang="fr">La version française de mon contenu <span class="mav">avec des balises dedans !</spanx/span>
ou encore :
<span xml:lang="en">The english version of my content <span class="mav">with tags inside</spanx/span>
avec :
- <span xml:lang="fr"> (ou <span xml:lang="en">) se rapportant à un élément de référence (ou balise) comportant un attribut se rapportant à la langue « fr » pour français et « en » pour anglais ;
- <span class="mav"> qui se rapporte à un élément de référence.
- les deux éléments de référence </span> sont associés aux éléments <span xml:lang="fr"> et <span class="mav"> avec lesquelles ils délimitent le champ d'application des éléments <span xml:lang="fr"> (ou <span xml:lang="en">) et <span class="mav">.
Entre les couples d'éléments de référence <span xml:lang="fr"> (ou <span xml:lang="en">) avec </span>, et <span class="mav"> avec </span>, des chaînes de caractères, comprises dans ces couples d'éléments, constituent dans cet exemple le contenu du site Internet en deux langues différentes. [0022] Le filtre 7 localise des zones dans ce fichier de base 4 à partir des éléments de référence <span xml:lang="fr"> (ou <span xml:lang="en">) avec </span>.
[0023] Le filtre effectue un traitement particulier de ces zones, et génère les instructions de configuration suivantes comprises dans un fichier 14 :
<span>La version française de mon contenu <span class="mav">avec des balises dedans !</spanx/span>
et,
<span>The english version of my content <span class="mav">with tags inside</spanx/span>
Dans ces instructions l'élément de référence <span xml:lang="fr"> (ou <span xml:lang="en">) est transformé en un élément <span> pouvant être traitée rapidement par un convertisseur tel qu'un compilateur.
[0024] On remarque que ces instructions comportent les chaînes de caractères correspondant aux parties française et anglaise du site Internet.
[0025] Par ailleurs, on peut noter que de manière classique, le support multilingue d'une page Web passe par des fichiers compilés, que seul un développeur peut générer alors que les traductions ne sont pas faites par des développeurs.
[0026] Un des avantages de l'invention est de permettre à un utilisateur n'ayant pas de connaissance approfondie dans les langages de programmation de pouvoir réaliser des composants informatiques à partir notamment du langage basique mise en œuvre dans l'invention.
[0027] Les balises XML comprises dans le fichier de base 4 ont été transformées en code XSLT. Ces codes XSLT sont une composante des instructions comprises dans le fichier 14. Ce fichier 14 est ensuite transmis, lors d'une étape 13, à un serveur de traitement de données compris dans l'outil de génération 23.
[0028] Cet outil de génération 23 de documents comprend une base de données 3 comprenant différentes informations provenant de sources hétérogènes, le serveur de traitement de données 15 et un serveur LDAP (acronyme de Lightweight Directory Access Protocol, qui correspond à un protocole normalisé facilitant la recherche d'informations organisées en annuaire ou en répertoire) et un serveur Web pour des pages de la toile décrivant un produit ou un service.
[0029] Les informations comprises dans le serveur LDAP et la base de données correspondent par exemple à des données telles que du texte, des éléments audio et/ou vidéo, ou encore à des images.
[0030] La base de données 3 et le serveur LDAP sont reliés à un serveur de traitement comprenant un module permettant l'extraction de données.
[0031] Ce module d'extraction de données permet de collecter, normaliser et assembler les données hétérogènes stockées dans la base de données 3 et le serveur LDAP, afin de générer un document 1 au format XML, lors d'une étape 2.
[0032] De plus ce module a pour fonction de normaliser les données extraites en mettant en œuvre des algorithmes à tolérances de fautes développés de manière à restituer un document conforme aux prescriptions XML. Ce module comprend une unité d'analyse syntaxique SGML pour une analyse de tolérance de fautes des documents balisés, pour la mise aux normes XML, et pour l'arborescence du document résultant en tant que mode dynamique de représentation du contenu des données originelles.
[0033] Le format XML du document généré n'est pas limitatif, d'autres formats peuvent être générés par ce module d'extraction de données. On peut citer par exemple CSV, HTML 3.2 ou HTML 4.0, et autres formats de type texte.
[0034] Le document 1 est transmis par les moyens de traitement à un module de conversion 5, lors d'une étape 10. [0035] Le serveur de traitement comprend dans ses moyens de mémoire un module de conversion 5 tel qu'un compilateur 5 permettant à partir des instructions comprises dans le fichier 14 reçu et du document 1 de générer un document configuré 6, lors d'une étape 12.
[0036] Ainsi, le fichier de base 4 contenant des balises XSLT et d'autres XML DSL est traité par plusieurs filtres successifs pour finalement générer un fichier 14. Ce fichier 14 est traité par le compilateur avec le document 1 afin d'obtenir un document configuré 6. Ces étapes permettent de faire en sorte que le fichier initial contienne des balises XML plus appropriées à chaque domaine fonctionnel et soit donc plus simple et intuitif à écrire sans que la transformation finale perde en performance voir gagner en performance grâce à l'étape de conversion 12.
[0037] Le compilateur correspond par exemple des modules de conversion basés sur des langages tels que MSXML, Xalan/Java, Xalan/C++, Saxon, ou encore tout autre moteur XSLT.
[0038] Le document configuré 14 peut être au format XML, XHTML, PDF, etc...
[0039] Un des avantages de l'invention est de s'affranchir de technique de programmation informatique qui crée l'illusion de base de données orientée objet à partir d'une base de données relationnelle en définissant des correspondances entre cette base de données et les objets du langage utilisé, tel que des ORM (acronyme de object-relational mapping, qui se traduit par correspondance entre monde objet et monde relationnel).
[0040] En effet, le codage de l'accès aux sources de données passe par du code compilé ou généré automatiquement par des ORM qui posent des problèmes de maintenance et d'optimisation. Il est aisé de réaliser une application, mais difficile de la maintenir et de l'optimiser par la suite et en particulier lors de montée en charge. [0041] Dans l'invention, la compilation s'appuie sur une fonctionnalité standard des interpréteurs XSLT qui permet d'implémenter son propre chargeur de fichier XML
[0042] Dans un mode réalisation de l'invention, le serveur fournit après traitement un fichier XSL standard à un compilateur. Ce compilateur effectue, nativement, le traitement des éléments de référence compris dans le fichier de base.
[0043] À la figure 2, le serveur de traitement de données 15 comprend des moyens de traitement 17 comportant des moyens de mémoire 18 et un processeur 19. Ces moyens de traitement échanges des données avec des moyens de communication 20,21. Ces moyens de communication 20,21 sont reliés avec respectivement la base de données 3 et un équipement informatique 16 comprenant une application telle qu'un navigateur Web permettant de décoder le document configuré 6.
[0044] Ces moyens de traitements sont aptes à extraire des données de ladite base de données 3 pour créer un document 1 modifiable par un convertisseur 5 lors de l'exécution des instructions de configuration du fichier de configuration 14 pour générer un document configuré 6.
[0045] L'invention a des applications dans de nombreux domaines tels que :
- le commerce électronique,
- les applications métier en ligne (ERP, CRM...)
- la publication de document en ligne.
L'invention peut être utilisé en tant que :
- outil de conversion de page Web à destination de matériel,
- outil de conversion de document d'un format à un/des autre (s), - outil multilinguisme pour la traduction à la volet de site Internet ou de documents,
- outil de contrôles graphiques, et
- outil de gestion des droits applicatifs.
[0046] L'invention peut être appliquée pour optimiser des sites Internet de contenu séparant les données dites « à vie longue » qui seraient précompilées avec des données dites « à vie courtes ». On entend par données à vie longue des données textuelles correspondant à des articles, des descriptions de produits. Les données à vie courte celles qui correspondent par exemple à des données éphémères comme celles d'achats de produit (par exemple le panier e- commerce).
[0047] Dans un exemple d'application, l'invention permet de développer et mettre en œuvre un composant informatique de gestion des commandes fournisseur dans le cadre du fonctionnement d'un ensemble de sites, de crèches dans cet exemple, au travers d'une interface Web consultable dans le réseau Intranet des crèches. Ce composant est intégré à l'interface Web existante.
[0048] Ce composant de gestion de commandes fournisseur respecte dans son utilisation les points suivants :
- gestion des droits avancée : l'interface Web avant l'intégration de ce composant permet à tout utilisateur d'accéder à tous les écrans soit pour une crèche précise soit pour toutes les crèches. Pour ce nouveau composant, on doit pouvoir restreindre l'accès à certains écrans suivant plusieurs profils. Par exemple, un employé de la crèche peut créer une commande, mais seul le responsable de la crèche peut la valider. Dans ce cadre la mise en œuvre d'un système de gestion de droits simple à administrer pour l'utilisateur et simple à intégrer dans le développement de l'interface graphique doit être réalisé par l'invention ; - contrôles de saisie avancés : le processus de commande est accéléré par rapport aux commandes manuelles ; pour ce faire, choisir un article doit être une opération rapide, et ce parmi un grand nombre d'articles possibles. Pour cela, un contrôle graphique où l'on choisit un article en tapant le début de son nom devrait être possible. Dans ce cadre la mise en œuvre simple de ce contrôle dans les différents écrans doit être effectuée ;
- développement rapide : le composant doit être développé rapidement pour être intégré dans l'interface Web.
[0049] Concernant le premier point, la principale difficulté dans un système de gestion de droits est d'arriver à doser la granularité ; si les droits sont trop généraux (accès à tel ou tel écran), l'administrateur (ci-après nommé le client) du site Internet dans lequel est comprise l'interface Web existante ne peut pas définir les profils dont il a besoin. Si les droits sont trop précis (tous écrans, boutons, champs), le client abandonne la définition de ses profils et donne accès à tout. Or, quand on définit la bonne granularité pour le client, la gestion devient fastidieuse dans le cadre du développement ; le client peut ne souhaiter gérer l'accès qu'au niveau de l'écran, ou bien bouton par bouton.
[0050] Par conséquent, il convient de mettre en œuvre une gestion arborescente des droits, niveau par niveau : menu, écran, action. Si l'utilisateur a accès à l'écran sans restriction sur des actions présentes au niveau de l'écran, il y accède directement. Ainsi, quand le client veut définir un accès illimité à un écran, il peut le faire sans avoir à donner accès à toutes les actions ; s'il souhaite descendre au niveau action, il peut le faire.
[0051] Un droit peut alors se définir selon le code suivant :
menu.ecran. action,
avec :
- menu correspondant au menu général de l'application, - écran à un écran spécifique du menu ou à un élément géré dans le menu, et
- action une action spécifique sur cet écran ou cet élément.
À titre d'exemple, le code commande. modificationcommande.mettreajour correspond au menu de gestion des commandes, écran de modification d'une commande, bouton de mise à jour d'une commande sur cet écran.
[0052] Reste à intégrer cette gestion de droits dans le codage de l'interface graphique. Pour cela, il est important de savoir si l'utilisateur bénéficie des droits nécessaires menu par menu, écran par écran, action par action. Lors de l'accès à un écran, il est possible de récupérer la liste de tous les droits de l'utilisateur et d'y accéder à la demande. Toutefois un problème peut se poser et résulter du volume de données importantes à extraire d'un coup, et aussi de la gestion des droits arborescents qui serait complexe à effectuer dans le cadre d'une interface graphique, en particulier pour un développeur-intégrateur.
[0053] La solution est de mettre à la disposition du développeur-intégrateur une fonction qui lui permet pour chacun des droits de déterminer si l'utilisateur a un droit d'accès ou pas, plutôt que d'extraire de manière fastidieuse de la liste des données brutes qui pourraient apporter la réponse au développeur-intégrateur.
[0054] Cette fonction correspond par exemple en langage C# au code suivant:
public bool HasAccessRight(string accessRight.string user).
En instanciant cette fonction avec le code suivant menu.ecran. action, défini précédemment, et en précisant à partir de l'élément "string user" le nom d'utilisateur on détermine si celui-ci a un droit d'accès ou pas à chaque menu, écran ou action.
Ainsi, le développeur intégrateur réaliserait dans un tel contexte le code suivant :
- exemple en langage C#, ASP.NET : <script runat="server"> (se rapportant au début classique d'un bloc ASP.NET)
if(HasAccessRight(llcommande.modificationcommande.mettreajour",currentUser) { (test sur le droit d'accès)
[afficher le bouton permettant la mise à jour] (se rapportant àl'affichage du bouton)
}
</script>
- exemple en langage XSL :
<xsl:if test="accessright:HasAccessRight('commande.modificationcommande.mettreajour ',$currentUser)"> (se rapportant au test sur le droit d'accès de l'utilisateur)
<acs:Button id="createProduit" text="Créer un produit" action="go(1 ,311 ,",11,",");"/> (se rapportant à l'affichage du bouton)
</xsl:if>
[0055] On remarque que cette syntaxe est assez lourde, et peu pratique pour un développeur-intégrateur.
[0056] Dans le procédé selon l'invention, le développeur, dans l'optique de résoudre ce problème, réaliserait le code suivant en langage simplifié afin de créer le fichier de base 4 :
<acs:Button id="createProduit" text="Créer un produit" action^goO ^I WVW1 right:visible="'commande.modificationcommande.mettreajour"'Λ>
avec right:visible l'élément de référence. Cet élément de référence se rapporte à l'affichage du bouton et à la gestion des droits.
[0057] Le fichier de base 4 contenant ce code est ensuite analysé par au moins un filtre qui détecte l'élément de référence « right:visible » et génère des instructions de configuration comprises dans un fichier 14. Il apparaît clairement en comparant les lignes de codes en langage C#, ASP.NET et XSL énoncées ci- dessus à l'alinéa 53 au code en langage simplifié selon l'invention à l'alinéa 55 que le développeur intégrateur gagne en lisibilité, simplicité, et en temps de développement.
[0058] De plus, une action peut être considérée comme n'ayant pas besoin d'être filtrée par un droit d'accès ; avec cette syntaxe, ajouter un droit d'accès ne nécessite que d'ajouter un simple attribut sur la zone d'interface graphique à filtrer.
[0059] En référence au deuxième point « contrôle de saisies avancées », la figure 3 décrit ces contrôles selon la fonctionnalité suivante :
- les éléments 32 sont ordonnés par le champ login 30 (entre parenthèses) ;
- le début du login est saisi dans le champ de recherche 31 en haut, et
- le contrôle sélectionne automatiquement la ligne la plus proche du texte saisi.
[0060] Par conséquent, il convient d'une part d'ordonner les éléments de la liste, et, d'autre part, du côté d'un équipement client ou d'un serveur de positionner le texte recherché dans la liste. On connaît dans l'art antérieur, des langages de programmation côté serveur permettant de trier des listes de chaînes de caractère suivant une langue déterminée (français, anglais, suédois, etc.).
[0061] Par contre du côté de l'équipement client, javascript (langage de programmation de scripts principalement utilisés pour les pages web interactives) est connu pour être un langage de choix, ne connaissant que la langue anglaise pour la comparaison de chaînes, car il ne supporte que la norme ASCII (acronyme de American Standard Code for Information Interchange qui est la norme de codage de caractères en informatique).
[0062] Dès lors, le tri se fait du côté du serveur.
[0063] Pour obtenir une interface graphique rapide, la recherche doit être effectuée à chaque frappe. De ce fait, le serveur renvoie l'ordre de l'élément saisi par l'utilisateur, ou bien un élément qui permet de déterminer cet ordre en langage javascript. Si le serveur renvoie l'ordre, il doit maintenir en cache une liste de ce que l'utilisateur voit, ce qui d'une part est coûteux en ressources, et d'autre part compliqué à gérer puisqu'on ne sait pas côté serveur quand le client a terminé son travail (donc quand la liste en cache peut être relâchée). La solution est d'utiliser les fonctions standards renvoyant une chaîne hexadécimale constituant un tri pour une langue spécifique ; cette chaîne hexadécimale est triable en javascript puisque constituée uniquement de codes ASCII.
[0064] La solution complète nécessite donc :
- un champ de recherche ; quand l'utilisateur effectue une frappe clavier dans ce champ, le serveur doit être appelé ;
- un script serveur renvoyant la chaîne hexadécimale de tri ;
- la chaîne hexadécimale de tri pour chaque ligne de la liste de recherche.
Un script côté de l'équipement client pour rechercher la plus proche ligne en fonction de la chaîne renvoyée par le serveur.
[0065] Cette solution est la solution optimale, mais elle est complexe à mettre en œuvre, car elle fait appel à de nombreuses couches (génération du code HTML côté serveur, manipulation du code HTML côté client, appel AJAX (Asynchronous JavaScript And XML) de renvoi de la chaîne de tri).
[0066] Afin de simplifier cette solution, un nouveau contrôle graphique est créé en langage simplifié selon l'invention à partir du code, suivant : <acs:ListChooser id= IiSt= id-expression= name-expression= init=>
Code affichant chaque ligne
</acs:l_istChooser>"/>
Avec, l'attribut "list" contenant une expression "XPath" donnant la liste des éléments parmi lesquels choisir, "id-expression" une expression XPath donnant un identifiant pour chaque ligne, et "name-expression" une expression XPath donnant le nom pour chaque ligne (à partir de laquelle est effectué le tri).
Le code d'affichage de chaque ligne obtenue est introduit entre ces deux éléments de référence.
Ce contrôle inclut toute la solution complexe décrite ci-dessus en quelques lignes, un gain de temps de développement et de déboguage considérable.
[0067] Le gain de temps est, dans ce cas, important entre l'utilisation de code XHTML composé de XSLT et l'utilisation de contrôle pré-compilés.
[0068] En outre, le système selon l'invention est capable de configurer à la volée un nombre illimité de documents. Sous réserve de la bande passante disponible et des capacités des ressources matérielles du serveur de traitement.
[0069] D'autre part, on observera que la configuration de documents dans son application industrielle ne nécessite pas l'apprentissage long d'un nouveau langage de programmation complexe.
[0070] Par ailleurs, la présente invention telle qu'elle est décrite constitue un choix optimal parmi une multiplicité d'approches conflictuelles, en proposant une technique de configuration de documents unique harmonisant les interactions entre un composant de configuration et un outil de génération document.
[0071] La présente invention n'est pas limitée aux exemples de réalisation décrits et illustrés, plusieurs filtres peuvent être utilisés successivement chaque filtre étant dédié à un élément de référence spécifique.

Claims

REVENDICATIONS
1. Procédé de configuration de documents destiné à une application donnée comprenant une première étape de configuration par : - filtrage d'un fichier de base (4) comprenant au moins un élément de référence identifiable par au moins un filtre (7,8,9),
- localisation des zones du fichier de base (4) par chaque élément de référence,
- génération d'instructions de configuration dans un fichier (14) dit de configuration à partir du contenu des zones localisées dans le fichier de base (4), et une deuxième étape de génération d'un document (1 ) par :
- extraction (2) de données d'une base de données (3),
- création dudit document (1 ) à partir de ces données,
- conversion (5) de ce document (1 ) par exécution des instructions de configuration de la première étape, et
- récupération (12) du document configuré (6) à transmettre à l'application donnée.
>
2. Procédé selon la revendication précédente, comprenant une étape préalable de réception d'une requête provenant de l'application donnée afin de générer à la volée le document configuré (6) à transmettre.
3. Système de configuration de documents destiné à une application donnée de mise en œuvre du procédé selon la revendication 1 , caractérisé en ce qu'il comprend :
- un composant de configuration (22) comportant au moins un filtre (7,8,9) d'identification d'au moins un élément de référence d'un fichier de base (4) apte à générer des instructions de configuration dans un fichier (14) dit de configuration, et - un outil de génération (23) de document comportant un serveur (15) reliée à une base de données (3), ledit serveur (15) comprenant des moyens de traitement (17) aptes à extraire des données de ladite base de données (3) pour créer un document (1) modifiable par un convertisseur (5) lors de l'exécution des instructions de configuration du fichier de configuration (14) pour générer un document configuré (6).
4. Système selon la revendication précédente, dans lequel le convertisseur (5) est à un compilateur.
5. Système selon l'une quelconque des revendications 3 à 4, dans lequel au moins un filtre (7,8,9) est compris dans le convertisseur (5).
6. Système selon l'une quelconque des revendications 3 à 5, dans lequel lesdites données se rapportent à des éléments choisis parmi du texte, de la vidéo, et de l'audio.
7. Système selon l'une quelconque des revendications 3 à 6, dans lequel ledit fichier basique (4) est au format XML.
8. Système selon l'une quelconque des revendications 3 à 7, dans lequel, lesdits éléments de référence correspondent à des balises XSLT et/ou XML-DSL.
9. Système selon l'une quelconque des revendications 3 à 8, dans lequel ledit filtre (7,8,9) est préconfiguré de façon à traiter un type d'élément de référence prédéfini.
10. Système selon l'une quelconque des revendications 3 à 9, dans lequel ledit document (1 ) est au format XML
11. Système selon l'une quelconque des revendications 3 à 10, dans lequel ledit document configuré (6) est au format choisi parmi XHTML, HTML et PDF.
12. Système selon l'une quelconque des revendications 3 à 11 , dans lequel ladite application est un navigateur Web.
PCT/FR2009/000553 2008-05-13 2009-05-13 Procede et systeme de configuration de documents WO2009141539A2 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR08/02588 2008-05-13
FR0802588A FR2931270B1 (fr) 2008-05-13 2008-05-13 Procede et systeme de configuration de documents

Publications (2)

Publication Number Publication Date
WO2009141539A2 true WO2009141539A2 (fr) 2009-11-26
WO2009141539A3 WO2009141539A3 (fr) 2010-04-29

Family

ID=39790850

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2009/000553 WO2009141539A2 (fr) 2008-05-13 2009-05-13 Procede et systeme de configuration de documents

Country Status (2)

Country Link
FR (1) FR2931270B1 (fr)
WO (1) WO2009141539A2 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227575A (zh) * 2016-07-26 2016-12-14 浪潮通用软件有限公司 一种生成与解析文本文件的方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005008518A2 (fr) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. Systeme et procede servant a generer html sur la base de xslt commun

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005008518A2 (fr) * 2003-07-11 2005-01-27 Computer Associates Think, Inc. Systeme et procede servant a generer html sur la base de xslt commun

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GREG IPPOLITO: "YoLinux Tutorial: Java Servlets, JSP, Jakarta-Tomcat, a Database (PostgreSQL or MySQL), Apache and Linux" [Online] 21 janvier 2008 (2008-01-21), , WWW.YOLINUX.COM , XP002499626 Extrait de l'Internet: URL:http://web.archive.org/web/20080121113641/http://www.yolinux.com/TUTORIALS/LinuxTutorialTomcat.html> page 1, ligne 1-30 page 2, ligne 40-47 pages 6-9 *
KEN COX: "Multilingual Web Pages with ASP and XML" [Online] 27 avril 2006 (2006-04-27), , DEVX.COM , XP002499627 Extrait de l'Internet: URL:http://web.archive.org/web/20060427214100/archive.devx.com/xml/articles/kc1100/cox01-1.asp> le document en entier *
MARCO BRAMBILLA, STEFANO CERI, PIERO FRATERNALI, ROBERTO ACERBIS, ALDO BONGIO: "Model-driven design of service-enabled web applications" 2005, ACM , MODEL-DRIVEN DESIGN OF SERVICE-ENABLED WEB APPLICATIONS, BALTIMORE, MARYLAND, PAGES 851 - 856 , XP002499628 abrégé page 851, colonne de droite, ligne 11-24 page 853, colonne de droite, ligne 11 - page 854, colonne de gauche, ligne 6; figures 4,5 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227575A (zh) * 2016-07-26 2016-12-14 浪潮通用软件有限公司 一种生成与解析文本文件的方法
CN106227575B (zh) * 2016-07-26 2019-05-07 浪潮通用软件有限公司 一种生成与解析文本文件的方法

Also Published As

Publication number Publication date
FR2931270B1 (fr) 2013-09-06
WO2009141539A3 (fr) 2010-04-29
FR2931270A1 (fr) 2009-11-20

Similar Documents

Publication Publication Date Title
Maximilien et al. A domain-specific language for web apis and services mashups
US8375086B2 (en) Shared state manager and system and method for collaboration
US7970944B2 (en) System and method for platform and language-independent development and delivery of page-based content
US20080195483A1 (en) Widget management systems and advertising systems related thereto
US8548909B1 (en) Method and system for building an internet portal
FR2811782A1 (fr) Systeme de conversion de documents a structure arborescente par parcours selectif de ladite structure
US20020169789A1 (en) System and method for accessing, organizing, and presenting data
US20110161375A1 (en) Systems, methods and articles for template based generation of markup documents to access back office systems
WO2015047467A1 (fr) Outil de bloc-notes api
FR2906383A1 (fr) Referentiel semantique de services web et procede utilisant ce referentiel
Mirri et al. Augment browsing and standard profiling for enhancing web accessibility
US20060212461A1 (en) System for organizing a plurality of data sources into a plurality of taxonomies
Vuorimaa et al. Leveraging declarative languages in web application development
Khorasani et al. Web Application Development with Streamlit
WO2008095800A1 (fr) Procede de transmission d&#39;au moins un contenu representatif d&#39;un service, depuis un serveur vers un terminal, dispositif et produit programme d&#39;ordinateur correspondants
Chow PHP Web 2.0 Mashup Projects: Practical PHP Mashups with Google Maps, Flickr, Amazon, YouTube, MSN Search, Yahoo!
WO2009141539A2 (fr) Procede et systeme de configuration de documents
EP1194868B1 (fr) Methode et systeme de creation de documents electroniques - auto-publiants et adaptatifs
Honkala Web user interaction: a declarative approach based on XForms
EP3881178B1 (fr) Procédé de génération d&#39;un contenu de manière extensible
Jiang et al. UML-level analysis and comparison of Web service descriptions
Hertel Aspects of AJAX
Cazzulino et al. Beginning Visual Web Programming in VB. NET: From Novice to Professional
Kulawongnaunchai MASHUPSHEET: MASHUP FOR ALL
Issa Supporting Mobile Databases By Translating Traditional Web Pages Into Wireless Markup Language (Wml) Pages

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09750020

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09750020

Country of ref document: EP

Kind code of ref document: A2