FR2892836A1 - Computer based application e.g. word processor, and remote site interaction method, involves translating elements derived from client application into representation by web site objects, and generating macro object having in linking objects - Google Patents

Computer based application e.g. word processor, and remote site interaction method, involves translating elements derived from client application into representation by web site objects, and generating macro object having in linking objects Download PDF

Info

Publication number
FR2892836A1
FR2892836A1 FR0511123A FR0511123A FR2892836A1 FR 2892836 A1 FR2892836 A1 FR 2892836A1 FR 0511123 A FR0511123 A FR 0511123A FR 0511123 A FR0511123 A FR 0511123A FR 2892836 A1 FR2892836 A1 FR 2892836A1
Authority
FR
France
Prior art keywords
client
event
server
events
objects
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.)
Pending
Application number
FR0511123A
Other languages
French (fr)
Inventor
Nicolas Korboulewsky
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.)
CYBERTRONIQUE SA
Original Assignee
CYBERTRONIQUE SA
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 CYBERTRONIQUE SA filed Critical CYBERTRONIQUE SA
Priority to FR0511123A priority Critical patent/FR2892836A1/en
Priority to EP06778890A priority patent/EP1904939A2/en
Priority to PCT/FR2006/001771 priority patent/WO2007010139A2/en
Publication of FR2892836A1 publication Critical patent/FR2892836A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/545Gui

Abstract

The method involves translating elements (210) derived from a source spreadsheet program type client application (205) to a representation by set of V.D.O.M. elementary objects (220) of web sites. A W.H.O.L.E. macro object (230) consisting in linking elementary objects from the application is generated, where the macro object is incapable of being dissociated from other objects constituting the macro object. The elementary objects of the web sites are translated towards client elements when site is accessed by a word processor type client application (255).

Description

PROCEDE ET DISPOSITIF DE TRAITEMENT D'UN EVENEMENT DETECTE AU NIVEAU DEMETHOD AND DEVICE FOR PROCESSING AN EVENT DETECTED AT THE LEVEL

L'INTERFACE D'UN NAVIGATEURTHE INTERFACE OF A BROWSER

10 La présente invention concerne un procédé et un dispositif de traitement d'information. Elle s'applique, en particulier, au traitement d'événements entre un client Web, par exemple un navigateur, et un serveur en utilisant des technologies standard du web, le protocole http (acronyme de Hyper Text Transfer Protocol pour protocole de transfer hyper texte), le client supportant le DOM, niveau 2 (DOM étant l'acronyme de Document Object 15 Model pour modèle d'objet de document). Le DOM est, pour les navigateurs, une représentation objet interne permettant à un script, comme Javascript (marque déposée), d'interagir avec la représentation mémoire du code HTML (acronyme de HyperText Markup Language pour langage avec liens hypertextes), et ainsi de modifier dynamiquement la page, le serveur Web permettant l'exécution de script, ainsi que la modélisation par objets 20 d'un site Internet. On désigne par événement , l'intervention d'un utilisateur sur l'interface graphique d'un logiciel de navigation ou navigateur ou toute autre action asynchrone au programme comme l'arrivée de données ou la fin d'un chronomètre ou timer . Par exemple, cette action est crée par le mouvement de la souris, l'appui sur l'un des boutons de la souris ou 25 l'action sur une touche du clavier. L'application du réseau Internet appelée web fonctionne sur la base d'un client ou navigateur, d'un serveur hébergeant le contenu à fournir au client et d'un réseau permettant la communication entre le client et le serveur. Les protocoles mis en jeu dans le cadre de l'échange d'informations entre le client et 30 le serveur sont notamment le protocole http. Ce dernier ne permet pas de traiter un système événementiel complexe. La capacité de ce protocole au traitement des événements se résume en une requête GET ou POST qui appelle une nouvelle page à être charger sur le client en passant un ensemble de couple champ / valeur. Ce support très simple de traitement des événements clients ne satisfait pas la réalisation d'applications complexes et 35 hautement Interactives. Deux obstacles majeurs nuisent au bon fonctionnement de telles applications, premièrement le rechargement complet d'une page à chaque événement provoque un désagrément graphique pour l'utilisateur et un comportement de l'application non-conforme aux standards des applications usuelles, d'autre part, il est impossible de traiter par ce système des évènements très rapide comme le déplacement de la souris. En effet il n'est pas concevable d'émettre une requête vers le serveur pour chaque mouvement de la souris.  The present invention relates to a method and an information processing device. It applies, in particular, to the treatment of events between a Web client, for example a browser, and a server using standard web technologies, the http protocol (acronym for Hyper Text Transfer Protocol for hyper text transfer protocol). ), the DOM-supported client, level 2 (DOM is the acronym for Document Object Model 15 for Document Object Model). The DOM is, for browsers, an internal object representation allowing a script, like Javascript (registered trademark), to interact with the memory representation of the HTML code (acronym for HyperText Markup Language for language with hypertext links), and thus of dynamically modify the page, the web server allowing the execution of script, as well as the modeling by objects 20 of a website. By event, is meant the intervention of a user on the graphical interface of a browser software or browser or any other asynchronous action in the program such as the arrival of data or the end of a stopwatch or timer. For example, this action is created by the movement of the mouse, pressing one of the mouse buttons or pressing a key on the keyboard. The application of the Internet called web operates on the basis of a client or browser, a server hosting the content to provide the client and a network for communication between the client and the server. The protocols involved in the context of the exchange of information between the client and the server include the http protocol. The latter does not make it possible to process a complex event system. The ability of this protocol to handle events is summed up as a GET or POST request that calls a new page to be loaded on the client by passing a set of field / value pairs. This very simple support for client event processing does not satisfy the realization of complex and highly interactive applications. Two major obstacles impede the proper functioning of such applications, firstly the full reloading of a page at each event causes graphic inconvenience for the user and behavior of the application that does not comply with the standards of the usual applications, on the other hand , it is impossible to deal with this system very fast events like moving the mouse. Indeed it is not conceivable to send a request to the server for each movement of the mouse.

La présente invention vise à remédier à ces inconvénients. A cet effet, la présente invention s'appui sur une représentation du contenu des pages de site par des objets, comme exposé dans le document FR 2797336, du même inventeur que la présente invention, quant à sa possibilité de modéliser un site Internet comme un ensemble d'objet. Ce document propose une extension sémantique de la structure DOM des navigateurs. La présente invention vise à obvier à ces inconvénients ou impossibilités en proposant un nouveau système de gestion événementiel entre un client et un serveur en utilisant les technologies standard du web (Protocole http, Client supportant le DOM niveau 2 et le javascript, serveur Web permettant l'exécution de script), ainsi que la modélisation de site Internet exposée dans le document FR 2797336. Cette technologie met en oeuvre des éléments représentatifs des contenus des pages et de la structure des sites Web dans des bases de données situées sur un serveur central, lesdits éléments représentatifs étant constitués : d'objets contenus dans une base de données, un objet étant une entité autonome encapsulant des fonctions pour générer un code informatique interprétable par une application de navigation cliente, - d'attributs "desdits objets, lesdits attributs étant des paramètres modifiables pour constituer l'interface de l'objet vis à vis de l'utilisateur des applications clientes, - de données de structure définissant la manière dont les objets sont positionnés dans une page ainsi que la structure des différentes pages de sites entre elles. Chaque propriétaire de site peut modifier, via le réseau Internet, le comportement de ces objets en agissant sur leurs attributs au travers d'un gestionnaire d'objets. Il peut aussi agencer, via le réseau Internet, ces objets librement dans au moins une page et agencer les pages entre elles en agissant sur la structure au travers d'un éditeur. La consultation par un internaute du site déclenche l'activation, sur le serveur central, d'une procédure d'élaboration de pages dynamiques par un moteur d'application, à partir des informations contenues dans les bases de données de structure et d'objets, les pages dynamiques étant ensuite interprétées par un serveur HTTP et transmises sous forme de code HTML à l'application cliente.  The present invention aims to remedy these disadvantages. For this purpose, the present invention is based on a representation of the content of site pages by objects, as disclosed in document FR 2797336, of the same inventor as the present invention, as to its ability to model an Internet site as a set of object. This document proposes a semantic extension of the DOM structure of browsers. The present invention aims to obviate these drawbacks or impossibilities by proposing a new event management system between a client and a server using the standard technologies of the web (HTTP protocol, Client supporting the DOM level 2 and javascript, Web server allowing the script execution), as well as the website modeling disclosed in document FR 2797336. This technology implements elements representative of the contents of the pages and the structure of the websites in databases located on a central server, said representative elements being constituted of: objects contained in a database, an object being an autonomous entity encapsulating functions for generating a computer code interpretable by a client navigation application, - attributes "of said objects, said attributes being modifiable parameters to constitute the interface of the object with respect to the user client applications, - structure data defining how the objects are positioned in a page as well as the structure of the different pages of sites between them. Each site owner can modify, via the Internet, the behavior of these objects by acting on their attributes through an object manager. It can also arrange, via the Internet, these objects freely in at least one page and arrange the pages between them by acting on the structure through an editor. The user's consultation of the site triggers the activation, on the central server, of a procedure of elaboration of dynamic pages by an application engine, based on the information contained in the databases of structure and objects , the dynamic pages are then interpreted by an HTTP server and transmitted as HTML to the client application.

A cet effet, la présente invention vise, selon un premier aspect, un procédé de traitement d'information, caractérisé en ce qu'il comporte : -une étape de détection d'un événement au niveau de l'interface d'un navigateur mis en oeuvre sur un terminal client, - pour au moins une partie des événements détectés, une étape de gestion de cet événement, symétriquement, d'une part, par un processus client et, d'autre part, par un processus serveur asynchrone au processus client. La mise en oeuvre de la présente invention autorise des temps de réponses de l'application instantané dans la mesure où le traitement du serveur n'entraîne pas de modifications dans le contenu de l'interface graphique. II résulte de la mise en oeuvre de la présente invention, que la capture des événements se fait relativement aux objets, par exemple les objets définis dans le document FR 2797336, et que l'action qui peut résulter du traitement par le serveur de cet événement agit sur le rendu de ce même type d'objet ou autre actions de traitement. Selon des caractéristiques particulières, le traitement de chaque événement par le serveur n'entraîne pas le rechargement d'une page en cours d'affichage par le navigateur, sauf si le rechargement est explicitement requis par le terminal client. Grâce à ces dispositions, la gestion de l'événement par le serveur ne nuit pas à l'interactivité de l'application cliente. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape de traitement, dans le terminal client, de tout événement détecté pour déclencher soit une action directe, action ne nécessitant pas traitement de la part du serveur, sur un objet de l'interface client, soit la mémorisation de données représentatives de l'événement, dans une pile d'événements simples, soit la mémorisation de données représentatives de l'événement, dans une pile d'événements complexes. Les événements complexes sont des événements qui comportent des informations complémentaires à l'événement lui-même. Par exemple, l'événement `onmoumouve' lorsque la souris bouge, est un événement simple, mais `onmousmouve(x,y)' avec x et y les coordonnées de la souris au moment de l'événement, est un événement complexe. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, pour les événements mémorisés dans la pile d'événements simples, une étape de transmission au serveur. Selon des caractéristiques particulières, l'étape de transmission est effectuée par l'intermédiaire d'une requête http simple de type GET. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, pour les événements mémorisés dans la pile d'événements complexes, une étape de sérialisation des données représentatives de l'événement complexe et une étape de transmission au serveur des données sérialisées.  For this purpose, the present invention aims, in a first aspect, an information processing method, characterized in that it comprises: a step of detecting an event at the interface of a browser set implemented on a client terminal, - for at least part of the detected events, a step of managing this event, symmetrically, on the one hand, by a client process and, on the other hand, by an asynchronous server process to the process customer. The implementation of the present invention allows response times of the instant application insofar as the processing of the server does not lead to changes in the content of the graphical interface. As a result of the implementation of the present invention, the capture of the events is done relatively to the objects, for example the objects defined in the document FR 2797336, and the action that may result from the processing by the server of this event. acts on the rendering of this same type of object or other actions of treatment. According to particular characteristics, the processing of each event by the server does not result in the reloading of a page being displayed by the browser, unless the reloading is explicitly required by the client terminal. Thanks to these provisions, the management of the event by the server does not harm the interactivity of the client application. According to particular features, the method as briefly described above includes a step of processing, in the client terminal, any event detected to trigger either a direct action, action that does not require processing by the server, on an object the client interface, either storing data representative of the event, in a simple event stack, or the storage of data representative of the event, in a complex event stack. Complex events are events that contain additional information to the event itself. For example, the `onmoumouve 'event when the mouse is moving is a simple event, but` onmousmouve (x, y)' with x and y the coordinates of the mouse at the time of the event, is a complex event. According to particular features, the method as briefly described above comprises, for the events stored in the stack of simple events, a step of transmission to the server. According to particular characteristics, the transmission step is performed via a simple http request of type GET. According to particular features, the method as briefly described above comprises, for the events stored in the complex event stack, a step of serializing the data representative of the complex event and a step of transmitting serialized data to the server. .

Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, pour les événements transmis au serveur, une étape de stockage, par le serveur, dans au moins une base de données associée aux piles. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci- dessus comporte, une étape de génération de requête de traitement des événements stockés dans chaque base de données, au travers d'un gestionnaire d'événements. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte, au niveau du gestionnaire d'événements, une étape de génération dynamique d'un script client et une étape de transmission, par le serveur, dudit script client au terminal client. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-dessus comporte une étape d'action, dans le terminal client, du script client sur des objets clients pour en modifier le rendu. Selon des caractéristiques particulières, le procédé tel que succinctement exposé ci-15 dessus comporte une étape de gestion des quatre types d'événements suivants : i. client û client, action directe d'un événement sur un objet client sur autre objet client ou lui-même, ii. client - serveur synchrone simple, événement standard du DOM n'impliquant pas d'autres informations que l'identifiant objet récepteur et le nom de 20 l'événement, nécessitant un traitement serveur dont le résultat modifie le rendu graphique de l'interface cliente, iii. client û serveur synchrone complexe, événement non standard du DOM ou nécessitent plus d'informations que pour le point ii et iv. client û client synchrone I client û serveur asynchrone complexe, événement 25 standard ou non du DOM ayant à la fois une action directe sur l'interface cliente et un traitement serveur dont le résultat n'interfère pas avec l'action cliente û cliente. D'autres avantages, buts et caractéristiques de la présente invention ressortiront de la description qui va suivre, faite, dans un but explicatif et nullement limitatif en regard du 30 dessin annexé, dans lequel la figure 1 représente le schéma fonctionnel de l'invention. On rappelle que l'on désigne par événement , l'intervention d'un utilisateur sur l'interface graphique d'un logiciel de navigation ou navigateur. Par exemple, cette action est crée par le mouvement de la souris, l'appui sur l'un des boutons de la souris ou l'action sur une touche du clavier ou toute autre action asynchrone au programme comme l'arrivée de 35 données ou la fin d'un limer'. Le procédé de traitement d'information objet de la présente invention comporte : - une étape de détection d'un événement au niveau de l'interface d'un navigateur mis en oeuvre sur un terminal client, - pour au moins une partie des événements détectés, une étape de gestion de cet événement, symétriquement, d'une part, par un processus client et, d'autre part, par un processus serveur asynchrone au processus client. Ainsi, l'application peut répondre instantanément dans la mesure où le traitement du serveur n'entraîne pas de modifications dans le contenu de l'interface graphique. Il résulte de la mise en oeuvre de la présente invention, que la capture des événements se fait relativement aux objets, par exemple définis dans le document FR 2797336, et que l'action qui peut résulter du traitement par le serveur de cet événement agit sur le rendu de ce même type d'objet ou autre actions de traitement. Préférentiellement, le traitement de chaque événement par le serveur n'entraîne pas le rechargement d'une page en cours d'affichage par le navigateur, sauf si le rechargement est explicitement requis par le terminal client. La gestion de l'événement par le serveur ne nuit donc pas à l'interactivité de l'application cliente. On observe, en figure 1, que trois couches sont mises en oeuvre. Ces couches sont le client Cl, le réseau Internet C2 et le serveur C3. L'événement 11 est capté sur une interface graphique du client et est géré par la logique interne de cette interface graphique pour être ensuite intercepté par un dispatcher 12 de modélisation objet client qui décide quelles sont les actions à mener pour cet événement. Le dispatcher 12 effectue une étape de traitement, dans le terminal client, de tout événement détecté pour déclencher soit une action directe, action ne nécessitant pas de traitement de la part du serveur, sur un objet de l'interface client, soit la mémorisation de données représentatives de l'événement, dans une pile d'événements simples, soit la mémorisation de données représentatives de l'événement, dans une pile d'événements complexes. Les événements complexes sont des événements qui comportent des informations complémentaires à l'événement lui-même. Par exemple, l'événement 'onmoumouve' lorsque la souris bouge, est un événement simple, mais 'onmousmouve(x,y)' avec x et y les coordonnées de la souris au moment de l'événement, est un événement complexe. Plusieurs cas de figure sont possibles et sont déterminés en amont par un compilateur qui analyse le code programme et génère les éléments de programmes nécessaires et, en particulier indique le cas dans lequel on se trouve. Dans un premier cas de figure, l'action, ou l'événement, n'a pas à être traitée par le serveur et n'a d'action que sur le client, une action 15 client - client est alors émise et agit sur un autre objet de la page affichée comportant les objets 25.  According to particular features, the method as succinctly set forth above includes, for the events transmitted to the server, a storage step, by the server, in at least one database associated with the stacks. According to particular features, the method as briefly described above comprises a step of generating a request for processing the events stored in each database, through an event handler. According to particular features, the method as briefly described above comprises, at the level of the event manager, a step of dynamic generation of a client script and a step of transmission, by the server, of said client script to the client terminal . According to particular features, the method as briefly described above includes a step of action, in the client terminal, client script on client objects to change the rendering. According to particular features, the method as succinctly set forth above includes a step of managing the following four types of events: i. client - client, direct action of an event on a client object on another client object or itself, ii. client - simple synchronous server, standard DOM event not involving other information than the receiver object identifier and the name of the event, requiring server processing whose result modifies the graphical rendering of the client interface, iii. client - complex synchronous server, non-standard DOM event or require more information than for point ii and iv. client - synchronous client I client - complex asynchronous server, a standard or non-DOM event having both a direct action on the client interface and a server processing whose result does not interfere with the client-client action. Other advantages, aims and features of the present invention will emerge from the description which follows, made for an explanatory and non-limiting purpose with reference to the appended drawing, in which FIG. 1 represents the block diagram of the invention. It is recalled that we denote by event, the intervention of a user on the graphical interface of a browser or browser. For example, this action is created by mouse movement, pressing one of the mouse buttons or pressing a key on the keyboard, or any other asynchronous action on the program such as the arrival of data or the end of a limer '. The information processing method that is the subject of the present invention comprises: a step of detecting an event at the interface of a browser implemented on a client terminal, for at least part of the detected events , a step of managing this event, symmetrically, on the one hand, by a client process and, on the other hand, by an asynchronous server process to the client process. Thus, the application can respond instantly since the server processing does not cause changes in the content of the GUI. As a result of the implementation of the present invention, the capture of the events is done relative to the objects, for example defined in the document FR 2797336, and the action that may result from the processing by the server of this event acts on the rendering of this same type of object or other processing actions. Preferably, the processing of each event by the server does not result in the reloading of a page being displayed by the browser, unless the reloading is explicitly required by the client terminal. The management of the event by the server does not affect the interactivity of the client application. It can be seen in FIG. 1 that three layers are used. These layers are the client Cl, the Internet network C2 and the server C3. The event 11 is captured on a graphical interface of the client and is managed by the internal logic of this graphical interface to be then intercepted by a client object modeling dispatcher 12 which decides what actions to take for this event. The dispatcher 12 performs a step of processing, in the client terminal, any detected event to trigger either a direct action, action that does not require processing by the server, on an object of the client interface, or the storage of data representative of the event, in a simple event stack, namely the storage of data representative of the event, in a complex event stack. Complex events are events that contain additional information to the event itself. For example, the event 'onmoumouve' when the mouse moves, is a simple event, but 'onmousmouve (x, y)' with x and y the coordinates of the mouse at the time of the event, is a complex event. Several cases are possible and are determined upstream by a compiler which analyzes the program code and generates the necessary program elements and, in particular, indicates the case in which one is located. In a first case, the action, or the event, does not have to be processed by the server and has no action on the client, a client-client action is then issued and acts on another object of the displayed page containing the objects 25.

Dans un deuxième cas de figure, l'action est purement synchrone au résultat du serveur et ne nécessite pas d'argument supplémentaire que l'événement lui-même et que l'objet sur lequel il a été intercepté. Cet événement est alors mis dans une pile FIFO (acronyme de First ln First Out pour premier entré premier sorti) des événements simples 13.  In a second case, the action is purely synchronous with the result of the server and does not require any additional argument than the event itself and the object on which it was intercepted. This event is then put into a FIFO (First First Out First Out) stack of simple events.

A intervalle de temps régulier, le navigateur scrute cette pile interne afin de transmettre les événements au serveur s'il y en a dans la pile. La transmission des événements au serveur ainsi que de l'identifiant objet référent se fait grâce à la capacité des navigateurs à exécuter plusieurs requêtes http dans la même instance d'un navigateur. Le procédé utilisé pour générer cette requête alors que la page est complètement chargé peut être multiple. II peut être, par exemple, initié dans une Frame (ou trame) (nouvelle instance de chargement d'une page dans le navigateur) ou par des techniques autre comme par exemple celle connue sous le nom de remote scripting . On effectue donc une requête de type GET HTTP dans laquelle on transmet le contenu de la pile 13 qui contient les événements à transmettre.  At regular intervals, the browser scans this internal stack in order to transmit events to the server if there are any in the stack. The transmission of events to the server as well as the referent object identifier is done thanks to the ability of browsers to execute several http requests in the same instance of a browser. The process used to generate this query while the page is fully loaded can be multiple. It can be, for example, initiated in a frame (or frame) (new instance of loading a page in the browser) or by other techniques such as for example that known as remote scripting. Thus, an HTTP GET request is made in which the contents of the stack 13 which contains the events to be transmitted are transmitted.

On rappelle qu'une requête HTTP est une requête selon le protocole HTTP, le protocole de base des échanges de données entre un client web et un serveur web, par exemple la version de ce protocole HTTP vl.0 (RFC 1945) v.1.1 (RFC 2068). On l'observe, par exemple, dans les adresses électroniques, communément appelées URL , acronyme de Uniform Resource Locator pour localiseur de ressources uniforme, par l'en-tête http:// .  It is recalled that an HTTP request is a request according to the HTTP protocol, the basic protocol for data exchange between a web client and a web server, for example the version of this HTTP protocol vl.0 (RFC 1945) v.1.1 (RFC 2068). It can be seen, for example, in email addresses, commonly known as the URL, which stands for Uniform Resource Locator for Uniform Resource Locator, by the http: // header.

On précise qu'une requête simple est une requête de type GET suivie de l'uri (l'uri est une sous partie de l'url, celle qui fait référence au document) c'est-à-dire '/<document> ?<données>' ce qui signifie que l'on passe les données directement dans les informations de requête du document ce qui limite la quantité de données transmissible (256 caractères selon les spécifications des uri ), contrairement à une requête de type POST qui permet de passe des données en quantité arbitraire. Un script serveur transfert les données de la requête dans une base de données 17 du serveur associée à une pile d'événement simples 19, consécutivement, un générateur de requête 24 commande le traitement de l'événement par le gestionnaire du serveur 21. Le gestionnaire d'événements 21 du serveur dépile les événements. Le processeur de traitement exécute le script associé à l'événement. Le résultat est la génération dynamique d'un script client effectuant des actions sur les objets instanciés sur le client. Ainsi, le procédé objet de la présente invention comporte, dans des modes de réalisation exemplaires, une étape de génération de requête de traitement des événements stockés dans chaque dite base de données, au travers d'un gestionnaire d'événements. Le gestionnaire d'événements effectue une étape de génération dynamique d'un script client, une étape de transmission de ce script client au terminal client, étant effectuée par le serveur. II s'en suit une étape d'action, dans le terminal client, du script client sur des objets clients pour en modifier le rendu. Dans un troisième cas de figure, l'action est synchrone avec le traitement sur le serveur et nécessite des paramètres additionnels à l'identifiant objet et au nom de l'événement, ou n'est pas un événement standard supporté par le DOM, il s'agit alors d'un événement dit complexe . On rappelle que les événements complexes sont des événements qui comportent des informations complémentaires à l'événement lui-même. Par exemple, l'événement 'onmoumouve' lorsque la souris bouge, est un événement simple, mais 'onmousmouve(x,y)' avec x et y les coordonnées de la souris au moment de l'événement, est un événement complexe. Cet événement est matérialisé, coté client, par un objet Java Script contenant un nombre de bases d'informations qui sont l'Identifiant Objet, le type d'événement, les coordonnées (X,Y) de l'objet et un champ data supplémentaire contenant une quantité arbitraire de couple (étiquette, valeur) représentant les paramètres spécifiques à cet événement.  It is specified that a simple request is a request of type GET followed by the uri (the uri is a subpart of the url, the one which refers to the document) that is to say '/ <document> ? <data> 'which means that we pass the data directly into the query information of the document which limits the amount of data transmitted (256 characters according to the specifications of the uri), unlike a request of type POST that allows pass data in arbitrary amount. A server script transfers the data of the request into a database 17 of the server associated with a stack of simple events 19, consecutively, a request generator 24 controls the processing of the event by the server manager 21. The manager Server Event 21 unpacks events. The processing processor executes the script associated with the event. The result is the dynamic generation of a client script that performs actions on instantiated objects on the client. Thus, the method that is the subject of the present invention comprises, in exemplary embodiments, a step of generating a request for processing the events stored in each said database, through an event manager. The event manager performs a step of dynamic generation of a client script, a step of transmission of this client script to the client terminal, being performed by the server. It follows a step of action, in the client terminal, the client script on client objects to modify the rendering. In a third case, the action is synchronous with the processing on the server and requires additional parameters to the object identifier and to the name of the event, or is not a standard event supported by the DOM. this is a so-called complex event. Complex events are events that include information that is complementary to the event itself. For example, the event 'onmoumouve' when the mouse moves, is a simple event, but 'onmousmouve (x, y)' with x and y the coordinates of the mouse at the time of the event, is a complex event. This event is materialized, client-side, by a Java Script object containing a number of information bases which are the Object Identifier, the type of event, the coordinates (X, Y) of the object and an additional data field containing an arbitrary amount of torque (tag, value) representing the parameters specific to this event.

Dans ce cas, le dispatcher d'événement 12 stocke l'objet événement dans la pile FIFO des événements complexes 14. A intervalle de temps régulier, le navigateur scrute cette pile interne 14 afin de transmettre les événements au serveur, s'il y en a dans la pile. La transmission des événements au serveur ne peut pas, dans ce cas, être une simple requête http. En effet le protocole http ne peut transmettre des objets java script directement au serveur. Un serialisateur 16 transforme alors les objets de la pile 14 en un ensemble de données transmissibles par http. La sérialisation effectuée et le stockage de l'événement dans une base de données 18 du serveur associée à une pile 20 d'événements complexes conservée dans le serveur, le générateur de requête 24 commande le traitement de l'événement par un gestionnaire d'événement 21 du serveur. Le gestionnaire d'événements 21 du serveur dépile les événements. Le processeur de traitement 22 exécute le script associé à l'événement. Le résultat est la génération dynamique d'un script 23 client effectuant des actions sur les objets instanciés sur le terminal client. Dans un quatrième cas de figure, l'action est synchrone au client et asynchrone au traitement serveur. Dans ce cas, le dispatcher génère parallèlement un événement de type direct destiné à être traité par le serveur. La condition pour un bon fonctionnement du système est que le résultat du traitement du serveur n'agisse pas en contradiction avec l'événement Client-Client. Ainsi, la mise en oeuvre de la présente invention permet de gérer les quatre types d'événements suivants : i. client û client, action directe d'un événement sur un objet client sur autre objet client ou lui-même, ii. client -serveur synchrone simple, événement standard du DOM n'impliquant pas d'autres informations que l'identifiant objet récepteur et le nom de l'événement, nécessitant un traitement serveur dont le résultat modifie le rendu graphique de l'interface cliente, iii. client û serveur synchrone complexe, événement non standard du DOM ou nécessitant plus d'informations que pour le point ii et iv. client û client synchrone / client û serveur asynchrone complexe, événement standard ou non du DOM ayant à la fois une action directe sur l'interface cliente et un traitement serveur dont le résultat n'interfère pas avec l'action cliente û cliente.  In this case, the event dispatcher 12 stores the event object in the FIFO stack of the complex events 14. At regular time interval, the browser scans this internal stack 14 in order to transmit the events to the server, if there are any. has in the pile. The transmission of events to the server can not, in this case, be a simple http request. Indeed the http protocol can not transmit java script objects directly to the server. A serializer 16 then transforms the objects of the stack 14 into a set of data transmittable by http. The serialization performed and the storage of the event in a database 18 of the server associated with a stack of complex events stored in the server, the request generator 24 controls the processing of the event by an event manager 21 of the server. The server's event handler 21 unpacks the events. The processor 22 executes the script associated with the event. The result is the dynamic generation of a client script 23 performing actions on the instantiated objects on the client terminal. In a fourth case, the action is synchronous to the client and asynchronous to the server processing. In this case, the dispatcher simultaneously generates a direct type event intended to be processed by the server. The condition for proper operation of the system is that the result of the server processing does not conflict with the Client-Client event. Thus, the implementation of the present invention makes it possible to manage the following four types of events: i. client - client, direct action of an event on a client object on another client object or itself, ii. client-simple synchronous server, standard DOM event not involving other information than the receiver object identifier and the name of the event, requiring server processing whose result modifies the graphical rendering of the client interface, iii . client - complex synchronous server, non-standard DOM event or requiring more information than for point ii and iv. client - synchronous client / client - complex asynchronous server, a standard or non-DOM event that has both a direct action on the client interface and a server process whose result does not interfere with the client-client action.

Claims (3)

REVENDICATIONS 1 - Procédé de traitement d'information, caractérisé en ce qu'il comporte : - une étape de détection d'un événement (11) au niveau de l'interface d'un navigateur mis en 5 oeuvre sur un terminal client (Cl), - pour au moins une partie des événements détectés, une étape de gestion de cet événement, symétriquement, d'une part, par un processus client et, d'autre part, par un processus serveur (C3) asynchrone au processus client.  1 - Information processing method, characterized in that it comprises: a step of detecting an event (11) at the interface of a browser implemented on a client terminal (Cl) for at least a part of the detected events, a step of managing this event, symmetrically, on the one hand, by a client process and, on the other hand, by a server process (C3) asynchronous to the client process. 2 û Procédé selon la revendication 1, caractérisé en ce que le traitement de chaque 10 événement (11) par le serveur (C3) n'entraîne pas le rechargement d'une page en cours d'affichage par le navigateur, sauf si le rechargement est explicitement requis par le terminal client.2 - Process according to claim 1, characterized in that the processing of each event (11) by the server (C3) does not result in the reloading of a page being displayed by the browser, unless the reloading is explicitly required by the client terminal. 3 û Procédé selon l'une quelconque des revendications 1 ou 2, caractérisé en ce qu'il comporte une étape de traitement, dans le terminal client, de tout événement (11) détecté 15 pour déclencher soit une action directe, action ne nécessitant pas traitement de la part du serveur (C3), sur un objet de l'interface client, soit la mémorisation de données représentatives de l'événement, dans une pile d'événements simples (13), soit la mémorisation de données représentatives de l'événement, dans une pile d'événements 1 complexes (14). 20 4 û Procédé selon la revendication 3, caractérisé en ce qu'il comporte, pour les événements (11) mémorisés dans la pile d'événements simples (13), une étape de transmission au serveur (C3). û Procédé selon la revendication 4, caractérisé en ce que l'étape de transmission est effectuée par l'intermédiaire d'une requête http simple de type GET. 25 6 û Procédé selon l'une quelconque des revendications 3 à 5, caractérisé en ce qu'il comporte, pour les événements (11) mémorisés dans la pile d'événements complexes (14), une étape de sérialisation (16) des données représentatives de l'événement complexe et une étape de transmission au serveur (C3) des données sérialisées. 7 û Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce qu'il 30 comporte, pour les événements (11) transmis au serveur (C3), une étape de stockage, par le serveur, dans au moins une base de données (17, 18) associée aux piles (19, 20). 8 û Procédé selon la revendication 7, caractérisé en ce qu'il comporte, une étape de génération de requête (24) de traitement des événements (11) stockés dans chaque dite base de données (17, 18), au travers d'un gestionnaire d'événements (21). 35 9 û Procédé selon la revendication 8, caractérisé en ce qu'il comporte, au niveau du gestionnaire d'événements (21), une étape de génération dynamique d'un script client (23) et une étape de transmission, par le serveur (C3), dudit script client au terminal client (Cl).10 û Procédé selon la revendication 9, caractérisé en ce qu'il comporte une étape d'action, dans le terminal client (Cl), du script client (23) sur des objets clients (25) pour en modifier le rendu. 11 û Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce qu'il 5 comporte une étape de gestion des quatre types d'événements (11) suivants : i. client (Cl) û client, action directe d'un événement sur un objet client sur autre objet client ou lui-même, ii. client û serveur (C3) synchrone simple, événement standard du DOM n'impliquant pas d'autres informations que l'identifiant objet récepteur et le nom 10 de l'événement, nécessitant un traitement serveur dont le résultat modifie le rendu graphique de l'interface cliente, iii. client û serveur synchrone complexe, événement non standard du DOM ou nécessitant plus d'informations que pour le point ii et iv. client û client synchrone / client û serveur asynchrone complexe, événement 15 standard ou non du DOM ayant à la fois une action directe sur l'interface cliente et un traitement serveur dont le résultat n'interfère pas avec l'action cliente û cliente.3 - Process according to any one of claims 1 or 2, characterized in that it comprises a step of processing, in the client terminal, any event (11) detected 15 to trigger either a direct action, action not requiring processing by the server (C3), on an object of the client interface, or the storage of data representative of the event, in a simple event stack (13), or the storage of data representative of the event, in a complex event stack 1 (14). 4. Process according to claim 3, characterized in that it comprises, for the events (11) stored in the simple event stack (13), a step of transmission to the server (C3). Process according to claim 4, characterized in that the transmission step is carried out via a simple http request of the GET type. 6. Process according to any one of claims 3 to 5, characterized in that it comprises, for the events (11) stored in the complex event stack (14), a serialization step (16) of the data. representative of the complex event and a step of transmitting serialized data to the server (C3). 7. Process according to any one of claims 1 to 6, characterized in that it comprises, for the events (11) transmitted to the server (C3), a storage step, by the server, in at least one base data (17, 18) associated with the batteries (19, 20). 8 - Process according to claim 7, characterized in that it comprises, a step of generating request (24) processing events (11) stored in each said database (17, 18), through a event manager (21). 35 9 Procédé Process according to claim 8, characterized in that it comprises, at the level of the event manager (21), a step of dynamic generation of a client script (23) and a transmission step, by the server (C3), from said client script to the client terminal (Cl) .10 - The method according to claim 9, characterized in that it comprises an action step, in the client terminal (C1), of the client script (23) on client objects (25) to modify the rendering thereof. 11. Process according to any one of claims 1 to 10, characterized in that it comprises a step of management of the following four types of events (11): i. client (Cl) - client, direct action of an event on a client object on another client object or itself, ii. simple synchronous server-client (C3), standard DOM event not involving other information than the receiver object identifier and the event name, requiring a server processing whose result modifies the graphic rendering of the client interface, iii. client - complex synchronous server, non-standard DOM event or requiring more information than for point ii and iv. client - synchronous client / client - complex asynchronous server, event 15 standard or not the DOM having both a direct action on the client interface and a server processing whose result does not interfere with the customer action-client.
FR0511123A 2005-07-19 2005-11-02 Computer based application e.g. word processor, and remote site interaction method, involves translating elements derived from client application into representation by web site objects, and generating macro object having in linking objects Pending FR2892836A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
FR0511123A FR2892836A1 (en) 2005-11-02 2005-11-02 Computer based application e.g. word processor, and remote site interaction method, involves translating elements derived from client application into representation by web site objects, and generating macro object having in linking objects
EP06778890A EP1904939A2 (en) 2005-07-19 2006-07-19 Method and device for interaction between computer-based applications and a remote site
PCT/FR2006/001771 WO2007010139A2 (en) 2005-07-19 2006-07-19 Method and device for interaction between computer-based applications and a remote site

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0511123A FR2892836A1 (en) 2005-11-02 2005-11-02 Computer based application e.g. word processor, and remote site interaction method, involves translating elements derived from client application into representation by web site objects, and generating macro object having in linking objects

Publications (1)

Publication Number Publication Date
FR2892836A1 true FR2892836A1 (en) 2007-05-04

Family

ID=36668828

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0511123A Pending FR2892836A1 (en) 2005-07-19 2005-11-02 Computer based application e.g. word processor, and remote site interaction method, involves translating elements derived from client application into representation by web site objects, and generating macro object having in linking objects

Country Status (1)

Country Link
FR (1) FR2892836A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005026946A2 (en) * 2003-09-17 2005-03-24 Research In Motion Limited System and method for dynamic content processing with extendable provisioning

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005026946A2 (en) * 2003-09-17 2005-03-24 Research In Motion Limited System and method for dynamic content processing with extendable provisioning

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
G. MURRAY: "Asynchronous JavaScript Technology and XML (AJAX) With Java 2 Platform, Enterprise Edition", 9 June 2005 (2005-06-09), XP007900932, Retrieved from the Internet <URL:http://java.sun.com/jsp_utils/PrintPage.jsp?url=http%3A%2F%2Fjava.sun.com%2Fdeveloper%2FtechnicalArticles%2FJ2EE%2FAJAX%2F> [retrieved on 20060802] *
J. J. GARRET: "Ajax: A New Approach to Web Applications", 18 February 2005 (2005-02-18), XP007900931, Retrieved from the Internet <URL:http://adaptivepath.com/publications/essays/archives/000385.php> [retrieved on 20060802] *
MCCARTHY P.: "Ajax for Java Developers: Build dynamic Java applications", 20 September 2005 (2005-09-20), XP007900944, Retrieved from the Internet <URL:http://www-128.ibm.com/developerworks/library/j-ajax1/> [retrieved on 20060802] *

Similar Documents

Publication Publication Date Title
US7890604B2 (en) Client-side callbacks to server events
US8001551B2 (en) Providing localized resources for client-side script execution
US9094369B2 (en) Method and apparatus for storing and restoring state information of remote user interface
US20150095763A1 (en) Browser emulator system
US8219692B2 (en) Method and apparatus for storing and restoring state information of remote user interface
US20090037517A1 (en) Method and system to share content between web clients
US20080134093A1 (en) Web engine search preview
CN106528657A (en) Control method and device for browser skipping to application program
US8065617B2 (en) Discovering alternative user experiences for websites
JP4849929B2 (en) Scenario creation program
EP1768023A1 (en) System for implementing a business application
US20020010753A1 (en) Method and apparatus for delivering dynamic information in a computer network
CN106126693A (en) The sending method of the related data of a kind of webpage and device
AU2008260091A1 (en) Method and apparatus that enables a web-based client-server application to be used offline
CN110221871B (en) Webpage acquisition method and device, computer equipment and storage medium
MXPA06000106A (en) Web application architecture.
CN100550015C (en) Improved user interface
US20140245124A1 (en) System and method thereof for browser agnostic extension models
US7849472B1 (en) System for instrumenting resources utilizing WS-management resource MBean wrappers for JAXB beans
EP2674860B1 (en) Method for data processing by a navigation module
FR2892836A1 (en) Computer based application e.g. word processor, and remote site interaction method, involves translating elements derived from client application into representation by web site objects, and generating macro object having in linking objects
Verborgh et al. Initial Usage Analysis of DBpedia's Triple Pattern Fragments.
CN110162687B (en) Data capture method and system in android application
KR20190090862A (en) Redirection
WO2007010139A2 (en) Method and device for interaction between computer-based applications and a remote site