[go: up one dir, main page]

FR2738649A1 - Procede de conversion d'objets d'un espace plat a un espace structure en classes - Google Patents

Procede de conversion d'objets d'un espace plat a un espace structure en classes Download PDF

Info

Publication number
FR2738649A1
FR2738649A1 FR9605231A FR9605231A FR2738649A1 FR 2738649 A1 FR2738649 A1 FR 2738649A1 FR 9605231 A FR9605231 A FR 9605231A FR 9605231 A FR9605231 A FR 9605231A FR 2738649 A1 FR2738649 A1 FR 2738649A1
Authority
FR
France
Prior art keywords
field
class
input
referenced
classless
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR9605231A
Other languages
English (en)
Other versions
FR2738649B1 (fr
Inventor
Toni Atkinson
Steve J Constant
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.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of FR2738649A1 publication Critical patent/FR2738649A1/fr
Application granted granted Critical
Publication of FR2738649B1 publication Critical patent/FR2738649B1/fr
Anticipated expiration legal-status Critical
Expired - Fee Related 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/51Source to source
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface

Landscapes

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

Abstract

L'invention concerne un système (100) de conversion d'objets destiné à permettre une coexistence de données et d'applications (103) et (107) basées respectivement sur des modèle d'objets sans classe et d'objets à base de classes. Il comprend au moins quatre tables: (110) de localisations de champs, (111) de procédés de champs, (112) d'identifications; (113) de descriptions d'objets; et au moins sept procédures, ou moyens: (121) de création de champ pour créer un champ; (122) de restitution de champs pour restituer la valeur d'un champ; (123) de réglage de champs pour établir la valeur d'un champ; (124) de restitution de champs d'objets pour restituer les valeurs de chaque champ associé à un élément identifiant donné d'objet sans classe; (120) de création d'objets mandataires pour créer pour un objet à base de classes nouvellement créé un élément identifiant d'objet sans classe; (125) d'élimination d'objets mandataires pour enlever l'élément identifiant d'un objet à base de classes éliminé; et (126) de localisation d'objets pour localiser les éléments identifiants de tous objets sans classe à valeur donnée pour un champ donné.

Description

La présente invention concerne de façon générale des transferts et des
conversions d'objets et, plus particulièrement, un système qui est destiné à convertir des données d'objets sans classe en données d'objets à base de classes pour permettre la coexistence de programmes d'applications basés sur un modèle d'objets sans classe et de programmes d'applications basés sur un modèle d'objets à base de classes, et qui est destiné à être utilisé pour transférer, ou convertir, des données d'objets sans
classe en données d'objets à base de classes.
Un transfert de données et une compatibilité en sens inverse sont des questions que pose chaque application de logiciel en évolution. Un contexte approprié pour illustrer les problèmes rencontrés par un logiciel en évolution est le domaine de la gestion des réseaux et des systèmes. Cependant, il ne faut pas considérer que la présente invention est en aucune manière limitée au domaine de la gestion des réseaux et des systèmes, et l'arrière plan qui suit doit être
considéré à titre d'illustration seulement.
La gestion de réseaux et de systèmes devient de plus en plus complexe au fur et à mesure que les systèmes progressent en partant d'une gestion de dispositifs de réseaux simples pour atteindre des
environnements de grandes entreprises complètes.
Compte tenu de contraintes budgétaires, de l'absence de ressources en personnel et des limitations de savoir-faire, les gestionnaires actuels de réseaux et de systèmes travaillent pour assimiler rapidement une technologie d'une complexité croissante. Le choix presque illimité d'options de connectivité a conduit à une complexité et à une fragmentation des responsabilités de gestion des réseaux et des systèmes. Les solutions de gestion intégrée de réseaux de systèmes qui ont été commercialisées offrent une variante économique à la confusion prolongée provoquée par les proliférations de solutions indépendantes, propres à un constructeur, de gestion de réseaux et de systèmes. Une telle solution de gestion intégrée de réseaux de systèmes est offerte par HP OpenView, une solution développée et proposée par la Hewlett-Packard Company, qui comporte pour des réseaux locaux et pour des réseaux de grandes zones à fournisseurs multiples, une famille complète d'outils et de services de gestion de réseaux et de systèmes en vue d'une intégration sur une plateforme de norme industrielle. Des solutions de gestion intégrée de réseaux et de systèmes fonctionnent en général sous la forme d'une activité répartie en décomposant le problème de la gestion des réseaux et des systèmes en plusieurs composants, chaque composant exerçant une fonction différente. Par exemple, l'architecture HP OpenView comprend des modules séparés, qui incluent une infrastructure de communications, une interface graphique d'utilisateur, des applications de gestion,
des services de gestion, et des objets gérés.
Les services de gestion constituent la composante architecturale qui agit comme pont entre l'infrastructure de communications de gestion de réseaux et l'objet géré. Dans l'architecture HP OpenView, des services de gestion sont réalisés à l'aide de plusieurs éléments: des protocoles de communications et des interfaces nécessaires pour les communications avec des ressources réelles, des services d'acheminement et de filtrage d'événements, un gisement de données de gestion à accès de langage structuré d'interrogation, ou Structured Query Language, en abrégé SQL, selon le terme anglo-saxon,
et des services de données.
Des systèmes de réseaux doivent évoluer dans le temps pour s'adapter à de nouveaux besoins des utilisateurs. Une telle évolution exige souvent des modifications majeures de la plate-forme du système, y compris des modifications de l'architecture interne du système, de l'implantation des éléments internes du
système et de la modélisation des données du système.
Lorsqu'une plate-forme évolue, il faut modifier l'implantation des nombreuses applications qui utilisent la plate-forme et qui se développent sur celle-ci pour une intégration de données, de services et de présentation. Ces applications sont souvent des produits de fournisseurs différents, sans liaisons
entre eux.
Une évolution de plate-forme qui devient de plus en plus fréquente implique le transfert, à partir d'une plate-forme d'espace d'objets sans classe, vers
une plate-forme d'espace d'objets à base de classes.
Dans un système basé sur un espace d'objets sans classe et sur un modèle de données sans classe, un objet unique comprend une collection dynamique de champs, et il est utilisé pour modéliser toutes les
perspectives différentes d'une entité du "monde réel".
Par exemple, un ordinateur personnel unique peut fonctionner aussi bien comme station de travail personnelle que comme serveur de réseau local. Ainsi, dans le modèle d'objets sans classe, un objet unique de la base de données peut représenter à la fois la perspective d'une station de travail et la perspective d'un serveur de réseau local. Chaque perspective est
gérée par une application différente.
Chaque application définit ses propres champs et règle, ou fixe, des valeurs pour ces champs, mais en totalité sur le même objet. Si une autre application gère un aspect différent du même ordinateur personnel, elle peut elle aussi définir des champs et y régler
des valeurs pour ce même objet.
Deux inconvénients de la structure d'objets sans classe sont, cependant, sa limitation dans le domaine de la capacité d'expansion et sa conformité à des normes. Ces dernières années, l'avance technologique des systèmes de réseaux a permis à de grands réseaux de gérer de nombreux gigaoctets de données répartis parmi de nombreux utilisateurs. De nombreuses applications exigent d'utiliser une grande base de données pour permettre à des utilisateurs d'accéder à une information qui est partagée par de nombreux
utilisateurs, de la mettre à jour et de la maintenir.
Le procédé classique consiste en une base de données relationnelle, et il s'agit d'un procédé qui est largement utilisé dans des produits commercialisés de programmes d'applications de gestion de bases de données. Une base de données relationnelle comprend des tables de rangées et de colonnes. Chaque table définit une relation entre les divers éléments de chaque rangée. Chaque base de données relationnelle possède un langage d'interrogation pour exprimer des
ordres de mémorisation et de restitution de données.
Le langage d'interrogation utilisé le plus communément pour accéder à des bases de données relationnelles parmi des produits commercialisés est le langage
structuré d'interrogation.
Le problème de l'utilisation d'un langage structuré d'interrogation dans un modèle sans classe est le nombre variable d'attributs qui peuvent être associés à un objet. Il est difficile de construire un schéma qui permette une exploration efficace d'un ensemble dynamique de colonnes. Des produits commercialisés de bases de données relationnelles à langage structuré d'interrogation sont adaptés au mieux à un nombre fixe d'attributs de classe afin d'allouer un espace pour chaque objet créé. L'espace est alloué statiquement dans une table de rangées et de colonnes, ce qui facilite un procédé efficace d'indexage pour une exploration rapide. Des objets sans classe sont donc inefficaces pour des produits à langage structuré d'interrogation. Des systèmes de gestion de réseaux à modèles d'espace d'objets sans classe permettent une compatibilité avec des produits commercialisés à langage structuré
d'interrogation.
Le modèle d'objets sans classe est un composant central de l'architecture orientée vers l'objet qui est nécessaire pour répondre à ce qu'exige le marché en ce qui concerne les possibilités d'extension et de répartition des systèmes. Le modèle d'objets sans classe était adapté à l'architecture antérieure qui prenait en compte un nombre plus petit d'objets dans une configuration locale plus simple. C'est une architecture orientée vers l'objet qui est souhaitable pour que le système traite le nouvel environnement qui comprend des milliers d'objets auxquels accèdent simultanément de nombreuses consoles, dans un environnement réparti. Cette architecture est également nécessaire pour la compatibilité avec la tendance vers des programmes commercialisés d'applications orientées vers l'objet. L'architecture orientée vers l'objet exige un modèle d'objets à base de classes pour remplacer le modèle d'objets sans classe qui peut avoir été utilisé pour représenter des
objets gérés dans l'architecture d'origine.
Un problème rencontré pour transférer des données d'applications à partir d'une plate-forme d'objets sans classe vers une plate-forme d'objets à base de classes apparaît lorsque deux applications ou davantage entrent dans une relation de productrice/consommatrice de données. Dans cette relation, une application qui est la productrice, peuple la base de données d'objets sans classe. Une deuxième application, la consommatrice, lit ces données en recherchant des champs spécifiques. Trouver un certain ensemble de valeurs de champs sur un objet indique à l'application consommatrice que cet objet est concerné. L'application consommatrice peut ajouter d'autres données à l'objet, ou elle peut simplement lire d'autres champs de l'objet. Par exemple, une application productrice peut être le gestionnaire de noeuds de réseau, ou Network Node Manager, dont la fonction est de découvrir et de gérer les dispositifs IP sur le réseau. Les applications consommatrices peuvent ensuite passer en revue des objets créés par le gestionnaire de noeuds de réseau et ajouter des champs additionnels aux objets concernés. La fonctionnalité de l'application consommatrice est déclenchée par des données créées par l'application productrice, ce qui crée une forte dépendance de la consommatrice vis-à-vis de la productrice. Il faut satisfaire à la dépendance afin que les applications consommatrices fonctionnent. Jusqu'ici, il est impossible de transférer des applications productrices en cours de transfert avant que toutes les applications consommatrices ne soient elles-aussi
prêtes à un transfert.
Lorsqu'une plate-forme de gestion de réseaux et de systèmes évolue depuis un espace d'objets sans classe vers un espace d'objets à base de classes, les développeurs d'applications doivent mettre à jour l'application pour lui permettre de fonctionner sur une nouvelle plate-forme. De plus, les données associées à cette application doivent être converties du modèle d'objets sans classe au modèle d'objets à base de classes. Au fur et à mesure que chaque application est transférée, le transfert concerne aussi ses données. Cependant, comme noté ci-dessus, plusieurs applications peuvent partager des objets communs. Dans de telles circonstances, lors du transfert de l'une de ces applications, il existe une possibilité de perte de données pour les autres applications. Une façon de s'assurer qu'aucune application ne perd de données est d'effectuer simultanément le transfert de toutes les applications à objets communs. Ceci est cependant difficile, compte tenu de l'existence de fournisseurs multiples soumis chacun à leurs contraintes propres de programmation et
à leurs plans de commercialisation des applications.
Ainsi, il serait souhaitable de fournir un procédé qui permette de transférer, à des temps différents, des programmes d'applications qui utilisent les mêmes objets; en d'autres termes, il faudrait que le procédé permette de transférer des applications productrices d'une plate-forme sans classe à une plate-forme à base de classes sans exiger un transfert simultané de
toutes les applications consommatrices.
Une solution qui permet de transférer des applications au fur et à mesure qu'elles deviennent disponibles consiste à maintenir deux ensembles de données: à savoir les objets sans classe, d'origine, à utiliser avec l'application non transférée et les objets transférés à base de classes à utiliser avec l'application transférée. Alors que ce mauvais rendement d'espace est simplement une gêne dans un petit système de réseau qui gère peu d'objets, il devient en revanche critique dans un grand système qui inclut des dizaines de milliers d'objets. Les exigences d'espace de mémoire et la complexité de gestion augmentent de façon proportionnelle lorsque le nombre des programmes d'applications qui dépendent des mêmes objets dans un système de gestion de réseaux sont transférés à des temps différents. Il serait donc souhaitable de réaliser un système d'accès à une version unique des données d'objets exigées par des applications à modèles d'objets sans classe non transférés, même si l'application productrice qui a créé les objets a été transférée à une plate-forme d'objets à base de classes, afin d'éviter des duplications et une gestion inutiles et encombrantes d'objets. C'est un but de l'invention que de réaliser un système de transfert d'objets, à partir d'un espace d'objets sans classe vers un espace d'objets à base de classes, qui réponde aux problèmes exposés ci-dessus, rencontrés dans l'art de la maintenance de logiciels, qui impliquent de transférer des programmes d'applications et de prendre en compte la coexistence de programmes d'applications basés sur le modèle de données d'objets sans classe avec des programmes d'applications basés sur le modèle de données d'objets
à base de classes.
C'est un autre but de la présente invention que de réaliser un système automatique de conversion d'objets pour permettre, à des applications à base d'objets sans classe, un accès transparent à des
objets de l'espace d'objets à base de classes.
L'invention qui sera décrite résout le problème de l'exigence d'un transfert simultané de toutes les applications qui partagent des données communes, à partir d'une plate-forme du modèle d'objets sans classe vers une plate-forme de modèle d'objets à base de classes. Des objets sans classe et des objets à base de classes coexistent et des applications consommatrices à modèle d'objets sans classe non transférées peuvent accéder de façon transparente à des objets produits par une application productrice
transférée.
De façon générale, l'invention réalise un système de conversion d'objets qui permet la coexistence de données d'applications basées sur un modèle d'objets sans classe et de données d'applications basées sur un modèle d'objets à base de classes. Un objet basé sur le modèle d'objets sans classe comprend au moins une identification, ou ID, d'objets sans classe et une série de champs. Chaque champ est défini par une définition de champ et est créé en réglant une valeur de champ. Un objet basé sur le modèle d'objets à base de classes comprend un ensemble d'attributs et de procédés basés sur une classe définie. Le mode de réalisation préféré décrit ici exige également une
identification d'objets à base de classes.
De façon plus spécifique, la présente invention atteint les buts exposés ci-dessus, selon un premier aspect, en réalisant un système de conversion d'objets destiné à permettre une coexistence de données et d'applications basées sur un modèle d'objets sans classe avec des données et des applications basées sur un modèle d'objets à base de classes, dans lequel un objet sans classe basé sur ledit modèle d'objets sans classe comprend au moins un élément identifiant d'objet sans classe et une série de champs à valeurs de champs, et dans lequel un objet à base de classes basé sur ledit modèle d'objets à base de classes comprend un élément identifiant d'objet à base de classes, une série d'attributs, et une série de procédés destinés à accéder auxdits attributs selon une classe définie, caractérisé en ce qu'il comprend (1. 1) une table des localisations de champs pour mémoriser une désignation de projection destinée à indiquer si un champ d'un objet sans classe a été projeté sur un attribut d'un objet à base de classes; (1. 2) une table de procédés de champs pour mémoriser des projections de champs tant sur leurs classes que sur leurs attributs correspondants; (1. 3) une table d'identifications pour mémoriser des projections entre un élément identifiant d'objet sans classe et sa classe et son élément identifiant d'objet à base de classes correspondants;
(1. 4) une table de descriptions d'objets pour
mémoriser des projections entre un élément identifiant d'objet sans classe et chacun des champs de ladite série de champs associés audit élément identifiant d'objet sans classe; et
(2) une série de procédures qui com-
prend (2. 1) un moyen de création de champ pour créer un champ; (2. 2) un moyen de restitution de champs pour restituer la valeur d'un champ; (2. 3) un moyen de réglage de champs pour établir la valeur d'un champ; (2. 4) un moyen de restitution de champs d'objets pour restituer les valeurs de chaque champ associé à un élément identifiant donné d'objet sans classe; (2. 5) un moyen de création d'objets mandataires pour créer pour un objet à base de classes nouvellement créé un élément identifiant d'objet sans classe; (2. 6) un moyen d'élimination d'objets mandataires pour enlever l'élément identifiant d'objet sans classe d'un objet à base de classes éliminé; et (2. 7) un moyen de localisation d'objets pour localiser les éléments identifiants d'objets sans classe pour tous les objets sans classe présentant une
valeur donnée pour un champ donné.
Ladite table des localisations de champs peut comprendre une série de rubriques qui comprennent chacune: un élément identifiant de champ, et une désignation qui indique si le champ associé audit élément identifiant a ou non été projeté sur un
attribut d'une classe.
Ladite table de procédés de champs peut comprendre une série de rubriques qui comprennent chacune: un élément identifiant de champ, et un attribut sur lequel est projeté un champ
référencé par ledit élément identifiant de champ.
Ladite table de procédures de champs peut comprendre une série de rubriques qui comprennent chacune: un élément identifiant de champ; un procédé d'accès à l'attribut sur lequel est projeté un champ référencé par ledit élément identifiant de champ, un type de procédé qui désigne le type d'opération que ledit procédé met en oeuvre, et
une classe à laquelle appartient ledit attribut.
Ladite table d'identifications peut comprendre une série de rubriques qui comprennent chacune: un élément identifiant d'objet à base de classes pour référencer un objet à base de classes, une classe à laquelle appartient ledit objet à base de classes, et un élément identifiant d'objet sans classe pour référencer un objet sans classe qui comporte un champ qui se projette sur un attribut dudit objet à base de classes.
Ladite table de descriptions d'objets peut
comprendre une série de rubriques qui comprennent chacune: un élément identifiant d'objet sans classe pour référencer un objet sans classe, et une liste de chacun des champs associés audit
-objet sans classe.
Ladite liste de chacun des champs associés audit
objet sans classe peut comprendre une liste chaînée.
Ledit moyen de création de champs peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant de champ d'entrée pour référencer un champ et un attribut d'entrée sur lequel ledit champ référencé est projeté; créer une nouvelle rubrique dans la table des localisations de champs, ladite rubrique comprenant ledit élément identifiant de champ d'entrée et une désignation indiquant que ledit champ référencé est créé par une application basée sur ledit modèle d'objets à base de classes; créer une nouvelle rubrique dans la table des procédés de champs, ladite rubrique comprenant ledit élément identifiant de champ d'entrée, et ledit attribut d'entrée sur lequel est projeté ledit champ
de référence.
Ledit moyen de création de champs peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant de champ d'entrée pour référencer un champ et un procédé d'entrée pour accéder à un attribut sur lequel est projeté ledit champ référencé, un type de procédé d'entrée désignant l'opération mise en oeuvre par ledit procédé, et une classe d'entrée à laquelle appartient ledit attribut; créer une nouvelle rubrique dans la table des localisations de champs, ladite rubrique comprenant ledit élément identifiant de champ d'entrée et une destination indiquant que ledit champ référencé est créé par une application basée sur ledit modèle d'objets à base de classes; créer une nouvelle rubrique dans la table des procédés de champs, ladite rubrique comprenant ledit élément identifiant de champ d'entrée, et ledit procédé d'entrée, ledit type de procédé d'entrée et
ladite classe d'entrée.
Ledit moyen de restitution de champs peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant d'objet sans classe d'entrée et un élément identifiant de champ d'entrée pour référencer un champ à partir duquel sa valeur est à restituer; effectuer dans la table des localisations de champs une recherche pour déterminer si ledit champ référencé a été projeté; dans le cas o ledit champ référencé n'a pas été projeté, effectuer une recherche d'un objet sans classe référencé par ledit élément identifiant d'objet sans classe d'entrée pour restituer la valeur dudit champ référencé; et dans le cas o ledit champ référencé a été projeté effectuer dans la table d'identifications une recherche basée sur ledit élément identifiant d'objet sans classe d'entrée pour restituer, pour ledit élément identifiant d'objet sans classe d'entrée, un élément identifiant correspondant d'objet à base de classes, effectuer dans la table des procédés de champs une recherche, basée sur ledit élément identifiant de champ d'entrée, pour déterminer une classe correspondante et un attribut correspondant sur lequel est projeté ledit champ référencé, et effectuer une recherche sur un objet à base de - classes référencé par ledit élément identifiant d'objet correspondant à base de classes, ledit objet référencé à base de classes appartenant à ladite classe correspondante et présentant ledit attribut correspondant, de manière à restituer la valeur dudit attribut correspondant sur lequel est projeté ledit
champ référencé.
Ledit moyen de restitution de champs peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant d'objet sans classe d'entrée et un élément identifiant de champ d'entrée pour référencer un champ à partir duquel sa valeur est à restituer; effectuer dans la table des localisations de champs une recherche pour déterminer si ledit champ référencé a été projeté; dans le cas o ledit champ référencé n'a pas été projeté, effectuer une recherche diun objet sans classe référencé par ledit élément identifiant d'objet sans classe d'entrée pour restituer la valeur dudit champ référencé; et dans le cas o ledit champ référencé a été projeté effectuer dans la table d'identifications une recherche basée sur ledit élément identifiant d'objet sans classe d'entrée pour restituer, pour ledit élément identifiant d'objet sans classe d'entrée, un élément identifiant correspondant d'objet à base de classes, effectuer dans la table des procédés de champs une recherche, basée sur ledit élément identifiant de champ d'entrée, pour déterminer une classe correspondante et un procédé correspondant pour restituer un attribut correspondant sur lequel est projeté ledit champ référencé, et effectuer un appel de procédé sur un objet à base de classes référencé par ledit élément identifiant d'objet à base de classes, ledit objet référencé à base de classes appartenant à ladite classe correspondante et présentant ledit attribut correspondant, de manière à restituer la valeur dudit attribut correspondant sur lequel est projeté ledit
champ référencé.
Ledit moyen de réglage de champs peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée une valeur de champ d'entrée, un élément identifiant d'objet sans classe d'entrée, et un élément identifiant de champ d'entrée pour référencer un champ auquel ladite valeur de champ d'entrée doit être réglée; effectuer dans la table des localisations de champs une recherche pour déterminer si ledit champ référencé a été projeté; dans le cas o ledit champ référencé n'a pas été projeté, effectuer une recherche d'un objet sans classe référencé par ledit élément identifiant d'objet sans classe d'entrée pour régler la valeur dudit champ référencé; et dans le cas o ledit champ référencé a été projeté effectuer dans la table d'identifications une recherche basée sur ledit élément identifiant d'objet sans classe d'entrée pour restituer, pour ledit élément identifiant d'objet sans classe d'entrée, un élément identifiant correspondant d'objet à base de classes, effectuer dans la table des procédés de champs -une recherche basée sur ledit élément identifiant de champ d'entrée pour déterminer une classe correspondante et un attribut correspondant sur lequel est projeté ledit champ référencé, et effectuer une recherche sur un objet à base de classes référencé par ledit élément identifiant d'objet à base de classes, ledit objet référencé à base de classes appartenant à ladite classe correspondante et présentant ledit attribut correspondant, de manière à régler à la valeur dudit champ d'entrée la valeur dudit attribut correspondant sur lequel est projeté ledit champ d'entrée référencé. Ledit moyen de réglage de champs peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée une valeur de champ d'entrée, un élément identifiant d'objet sans classe d'entrée et un élément identifiant de champ d'entrée afin de référencer un champ auquel ladite valeur de champ d'entrée doit être réglée; effectuer dans la table des localisations de champs une recherche pour déterminer si ledit champ référencé a été projeté; et dans le cas o ledit champ référencé n'a pas été projeté, effectuer une recherche sur un objet sans classe référencé par ledit élément identifiant d'objet sans classe d'entrée et ledit élément identifiant de champ d'entrée pour régler la valeur dudit champ référencé; et dans le cas o ledit champ référencé a été projeté, effectuer sur ladite table d'identifications une recherche basée sur ledit élément identifiant d'objet sans classe d'entrée afin de restituer pour ledit -élément identifiant d'objet sans classe d'entrée un élément identifiant correspondant d'objet à base de classes, effectuer dans la table de procédés de champs une recherche basée sur ledit élément identifiant de champ d'entrée pour déterminer une classe correspondante et un procédé correspondant afin de restituer la valeur d'un attribut correspondant sur lequel ledit champ référencé est projeté, et effectuer un appel de procédé sur un objet à base de classes référencé par ledit élément identifiant d'objet à base de classes, ledit objet à base declasses référencé appartenant à ladite classe correspondante et présentant ledit attribut correspondant, de façon à régler à la valeur de champ d'entrée la valeur dudit attribut correspondant sur
lequel est projeté ledit champ référencé.
Ledit moyen de restitution de champs d'objets peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant d'objet sans classe pour référencer un objet sans classe; effectuer une recherche dans la table de
descriptions d'objets de façon à obtenir une liste de
chaque champ associé audit objet sans classe référencé, chaque champ étant référencé par son élément identifiant correspondant de champ; pour chaque champ de ladite liste, mettre en oeuvre les étapes consistant à: effectuer une recherche dans la table des localisations de champs pour déterminer si ledit champ référencé a ou non été projeté; et dans le cas o ledit champ référencé n'a pas été projeté, restituer la valeur dudit champ référencé à - partir dudit objet sans classe référencé; et dans le cas o ledit champ référencé a été projeté, effectuer une recherche dans la table des procédés de champs pour obtenir une classe correspondante et un attribut correspondant sur lequel est projeté ledit champ référencé, effectuer une recherche dans la table d'identifications pour obtenir un élément identifiant d'objet à base de classes correspondant pour référencer un objet correspondant à base de classes auquel correspond ledit objet référencé sans classe, et effectuer une recherche sur ledit objet correspondant à base de classes, ledit objet référencé à base de classes appartenant à ladite classe correspondante et présentant ledit attribut correspondant, de manière à restituer la valeur dudit attribut correspondant sur lequel est projeté ledit
champ référencé.
Ledit moyen de restitution de champs d'objets peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant d'objet sans classe pour référencer un objet sans classe; effectuer une recherche dans la table de
descriptions d'objets pour obtenir une liste de chaque
champ associé audit objet sans classe référencé, chaque champ étant référencé par son élément identifiant de champ correspondant; et pour chaque champ de ladite liste, mettre en oeuvre les étapes consistant à: effectuer dans la table des localisations de champs une recherche pour déterminer si ledit champ référencé a ou non été projeté; et dans le cas o ledit champ référencé n'a pas été projeté, restituer à partir dudit objet sans classe référencé la valeur dudit champ référencé; et dans le cas o ledit champ référencé a été projeté, effectuer dans la table des procédés de champs une recherche pour obtenir une classe correspondante et un procédé correspondant pour accéder à l'attribut correspondant sur lequel est projeté ledit champ référencé, effectuer dans la table d'identifications une recherche pour obtenir un élément identifiant d'objet à base de classes correspondant pour référencer un objet à base de classes correspondant auquel correspond ledit objet sans classe référencé, et effectuer un appel de procédé sur ledit objet à base de classes correspondant, ledit objet à base de classes correspondant appartenant à ladite classe correspondante et présentant ledit attribut correspondant, de manière à restituer la valeur dudit attribut correspondant sur lequel est projeté ledit
champ référencé.
Ledit moyen de restitution de champs d'objets inclut un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant d'objet sans classe pour référencer un objet sans classe;
effectuer dans la table de descriptions d'objets
une recherche pour obtenir une liste de chaque champ associé audit objet sans classe référencé, chaque champ étant référencé par son élément identifiant de champ correspondant; pour chaque champ de ladite liste, utiliser le -moyen de restitution de champs pour restituer la valeur de chaque champ associé audit objet sans classe
référencé et contenu dans ladite liste.
Ledit moyen de création d'objets mandataires peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant d'objet à base de classes d'entrée pour référencer un objet à base de classes, une classe d'entrée à laquelle appartient ledit objet à base de classes référencé, et une liste de chaque champ associé audit objet à base de classes référencé; créer un nouvel élément identifiant d'objet sans classe à utiliser par des applications basées sur ledit modèle d'objets sans classe; et ajouter une rubrique dans la table d'identifications, ladite rubrique comprenant le nouvel élément identifiant d'objet sans classe nouvellement créé, ledit élément identifiant d'objet à base de classes d'entrée, et ladite classe d'entrée; et ajouter une rubrique dans la table de
descriptions d'objets, ladite rubrique comprenant
ledit élément identifiant d'objet sans classe
nouvellement créé, et ladite liste de champs d'entrée.
Ledit moyen d'élimination d'objets mandataires peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant d'objet à base de classes; enlever de ladite table d'identifications toutes les rubriques référencées par ledit élément identifiant d'objet à base de classes d'entrée;
enlever de la table de descriptions d'objets
toutes les rubriques référencées par ledit élément
identifiant d'objet à base de classes d'entrée.
Ledit moyen de localisation d'objets peut inclure un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant de champ d'entrée pour référencer une entrée et une valeur de champ d'entrée; exécuter dans la table des localisations de champs une recherche pour déterminer si ledit champ référencé a été projeté; et dans le cas o ledit champ référencé n'a pas été projeté trier une base de données d'objets sans classe comprenant une série d'objets sans classe afin de localiser chaque objet sans classe qui appartient audit champ référencé; comparer à ladite valeur de champ d'entrée la valeur dudit champ référencé dudit objet sans classe possédant ledit champ; restituer et renvoyer l'élément identifiant d'objet sans classe qui référence ledit objet sans classe possédant le champ o ladite valeur dudit champ référencé égale la valeur de champ d'entrée; et dans le cas o ledit champ référencé a été projeté effectuer dans la table de procédés de champs une recherche basée sur ledit élément identifiant de champ d'entrée afin de déterminer une classe correspondante et un attribut correspondant sur lequel est projeté ledit champ référencé, effectuer dans la table d'identifications une recherche basée sur ladite classe correspondante pour restituer une liste d'éléments de classe qui comprend une série d'éléments identifiants d'objets à base de classes et référencer chaque objet à base de classes qui appartient à ladite classe correspondante, pour chaque élément identifiant de ladite série d'éléments identifiants d'objets à base de classes contenus dans ladite liste d'éléments de classe, effectuer une recherche sur son objet à base de classes correspondant afin de restituer la valeur dudit attribut correspondant sur lequel est projeté ledit champ de référence, comparer à ladite valeur de champ d'entrée la valeur dudit attribut correspondant, et créer une liste d'éléments identifiants d'objets à base de classes de tous les éléments identifiants d'objets à base de classes présentant une valeur d'attribut correspondante égale à la valeur de champ d'entrée, ledit champ de référence étant projeté sur ledit attribut; et effectuer dans la table d'identifications une recherches pour restituer et renvoyer un élément identifiant d'objet sans classe pour chaque élément identifiant à base de classes contenu dans ladite
liste d'éléments identifiants à base de classes.
De façon préférée, on peut prévoir que: ledit moyen de localisations d'objets inclut un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant de champ d'entrée pour référencer un champ et une valeur de champ d'entrée; effectuer dans la table des localisations de champs une recherche pour déterminer si ledit champ référencé a été projeté; et dans le cas o ledit champ référencé n'a pas été projeté, trier une base de données d'objets sans classe comprenant une série d'objets sans classe afin de localiser chaque objet sans classe qui appartient - audit champ référencé; comparer à ladite valeur de champ d'entrée la valeur dudit champ référencé dudit objet sans classe possédant le champ; restituer et renvoyer l'élément identifiant d'objet sans classe qui référence ledit objet sans classe possédant le champ o ladite valeur dudit champ référencé est égale à la valeur de champ d'entrée; et dans le cas o ledit champ référencé a été projeté, effectuer dans la table des procédés de champs une recherche basée sur ledit élément identifiant de champ d'entrée pour déterminer une classe correspondante et un procédé correspondant pour accéder à un attribut correspondant sur lequel est projeté ledit champ référencé, effectuer dans la table d'identifications une recherche basée sur ladite classe correspondante afin de restituer une liste d'éléments de classe comprenant une série d'éléments identifiants d'objets à base de classes et référencer chaque objet à base de classes qui appartient à ladite classe correspondante, et pour chaque élément identifiant de ladite série d'éléments identifiants d'objets à base de classes contenus dans ladite liste d'éléments de classe, effectuer un appel de procédés sur son objet à base de classes correspondant pour restituer la valeur dudit attribut correspondant sur lequel est projeté le dit champ référencé, comparer à ladite valeur de champ d'entrée la valeur dudit attribut correspondant, et créer une liste d'éléments identifiants d'objets à base de classes de tous les éléments identifiants d'objets à base de classes présentant une valeur d'attribut correspondante égale à la valeur de champ d'entrée, ladite liste de référence étant projetée sur ledit attribut; et effectuer dans la table d'identifications une recherche afin de restituer et de renvoyer un élément identifiant d'objet sans classe pour chaque élément identifiant à base de classes contenu dans ladite
liste d'éléments identifiants à base de classes.
De préférence, le système selon l'invention comprend en outre un moyen de transfert pour transférer des objets sans classe basés sur ledit modèle d'objets sans classe en objets à base de classes basés sur ledit modèle d'objets à base de classes. Dans ce système préféré, on peut prévoir que ledit moyen de transfert accepte comme entrée un fichier de projection d'entrée comprenant une série de rubriques, chaque rubrique comprenant un élément identifiant de champ pour référencer un champ et une classe correspondant et un attribut correspondant sur lequel ledit champ est projeté, et ledit moyen de transfert accepte aussi comme entrée une série d'objets sans classe possédée par une application en cours de transfert, chaque objet de ladite série d'objets sans classe possédés comprenant un élément identifiant d'objet et une série de champs présentant des valeurs de champs et référencés par des éléments identifiants de champs, et que ledit moyen de transfert traite un à la fois un objet unique sans classe de ladite série d'objets sans classe d'entrée par référence à son élément identifiant d'objet sans classe, et met en oeuvre, pour chaque champ possédé par ledit élément d'objet unique sans classe et présentant son élément identifiant correspondant de champ contenu - dans ledit fichier de projection d'entrée, les étapes consistant à: ajouter une rubrique à une table des localisations de champs, ladite rubrique de la table des localisations de champs comprenant l'élément identifiant de champ référençant ledit champ possédé et une désignation qui indique que ledit champ a été projeté; ajouter une rubrique à ladite table de procédés de champs, ladite rubrique de table de procédés de champs comprenant l'élément identifiant de champ pour référencer ledit champ possédé, et la classe et l'attribut contenus dans le fichier de projection d'entrée sur lequel ledit champ possédé est projeté; créer un nouvel élément identifiant d'objet à base de classes; ajouter une rubrique à la table d'identifications, ladite rubrique de table d'identifications comprenant l'élément identifiant d'objet sans classe référençant ledit objet unique sans classe, la classe contenue dans le fichier de projection d'entrée sur lequel le champ possédé est projeté, et l'élément identifiant d'objet à base de classes nouvellement créé; engendrer un nouvel objet à base de classes, correspondant à l'élément identifiant d'objet à base de classes nouvellement créé, en réglant à la valeur du champ possédé l'attribut sur lequel le champ possédé est projeté; et restaurer la valeur du champ possédé de l'objet
unique sans classe.
Dans ce système préféré, on peut aussi prévoir que ledit moyen de transfert accepte comme entrée un fichier de projection d'entrée comprenant une série de rubriques, chaque rubrique comprenant un élément identifiant pour référencer un champ ainsi qu'une classe, un attribut et un procédé correspondants pour accéder audit attribut sur lequel ledit champ est projeté, et ledit moyen de transfert accepte aussi comme entrée une série d'objets sans classe possédés par une application en cours de transfert, chacun des objets de ladite série d'objets sans classe possédés comprenant un élément identifiant d'objet sans classe et une série de champs présentant des valeurs de champs et référencés par des éléments identifiants de champs, et que ledit moyen de transfert traite un à la fois un objet unique sans classe de ladite série d'objets sans classe d'entrée par référence à son élément identifiant d'objet sans classe, et met en oeuvre, pour chaque champ possédé par ledit élément d'objet sans classe et présentant son élément identifiant de champ correspondant contenu dans ledit fichier de projection d'entrée, les étapes consistant à: ajouter une rubrique à la table de localisations de champs, ladite rubrique de la table des localisations de champs comprenant l'élément identifiant de champ qui référence ledit champ possédé et une désignation qui indique que ledit champ a été projeté; ajouter une rubrique à la table de procédés de champs, ladite rubrique de table de procédés de champs comprenant l'élément identifiant de champ pour référencer ledit champ possédé, et la classe et le procédé d'accès à l'attribut sur lequel ledit champ possédé est projeté; créer un nouvel élément identifiant d'objet à base de classes; ajouter une rubrique à la table d'identifications, ladite rubrique de table d'identifications comprenant l'élément identifiant d'objet sans classe qui référence l'objet unique sans classe, la classe contenue dans le fichier de projection d'entrée sur lequel le champ possédé est projeté, et l'élément identifiant d'objet à base de classes nouvellement créé; engendrer un nouvel objet à base de classes, correspondant à l'élément identifiant d'objet à base de classes nouvellement créé, en réglant à la valeur du champ possédé l'attribut sur lequel le champ possédé est projeté; et restaurer la valeur du champ possédé de l'objet
unique sans classe.
Selon un deuxième aspect, la présente invention réalise un système de transfert d'objets destiné à transférer des données et des applications à partir d'un plate-forme à modèle d'objets sans classe vers une plate-forme à modèle d'objets à base de classes, dans lequel un objet sans classe basé sur ledit modèle d'objets sans classe comprend au moins un élément identifiant d'objet sans classe et une série de champs présentant des valeurs de champs, et un objet à base de classes basé sur ledit modèle d'objets à base de classes comprend un élément identifiant d'objet à base de classes, une série d'attributs et une série de procédés selon une classe définie, caractérisé en ce que ledit système de transfert d'objets comprend: une table des localisations de champs pour mémoriser une désignation de projection pour indiquer si un champ d'un objet sans classe a été projeté sur un attribut d'un objet à base de classes; une table de procédés de champs pour mémoriser -des projections entre des champs et leurs classes et procédés correspondants pour accéder à leurs attributs correspondants; une table d'identifications pour mémoriser des projections entre un élément identifiant d'objet sans classe et sa classe correspondante et son élément identifiant correspondant d'objet à base de classes;
une table de descriptions d'objets pour mémoriser
des projections à partir d'un élément identifiant d'objet sans classe vers chaque champ de ladite série de champs associés audit élément identifiant d'objet sans classe; et un moyen de transfert pour transférer des objets sans classe basés sur ledit modèle d'objets sans classe en objets à base de classes basés sur ledit modèle d'objets à base de classes, et pour mettre à jour ladite table des localisations de champs, ladite table de procédés de champs et ladite table d'identifications pour permettre à des applications non transférées basées sur le modèle d'objets sans classe d'accéder auxdits objets sans classe transférés. De préférence, dans un tel système ledit moyen de transfert accepte comme entrée un fichier de projection d'entrée comprenant une série de rubriques, chaque rubrique comprenant un élément identifiant de champ pour référencer un champ ainsi qu'une classe, un attribut et un procédé correspondants pour accéder audit attribut sur lequel ledit champ est projeté, et ledit moyen de transfert accepte aussi comme entrée une série d'objets sans classe possédés par une application en cours de transfert, chacun des objets de ladite série d'objets sans classe comprenant un élément identifiant d'objet sans classe et une série de champs présentant des valeurs de champs et référencés par des éléments identifiants de champs, et le système est caractérisé en ce que ledit moyen de transfert traite un à la fois un objet unique sans classe de ladite série d'objets sans classe d'entrée par référence à son élément identifiant d'objet sans classe, et met en oeuvre, pour chaque champ possédé par ledit objet unique sans classe et présentant son élément identifiant de champ correspondant contenu dans ledit fichier de projection d'entrée, les étapes consistant à: ajouter une rubrique à la table de localisations de champs, ladite rubrique de table de localisations de champs comprenant l'élément identifiant de champ référencant ledit champ possédé et une désignation qui indique que ledit champ a été projeté; ajouter une rubrique à la table de procédés de champs, ladite rubrique de table de procédés de champs comprenant l'élément identifiant de champ pour référencer ledit champ possédé, et la classe et le procédé d'accès à l'attribut sur lequel ledit champ possédé est projeté; créer un nouvel élément identifiant d'objet à base de classes; ajouter une rubrique à la table d'identifications, ladite rubrique de table d'identifications comprenant l'élément identifiant d'objet sans classe qui référence ledit objet unique sans classe, la classe contenue dans le fichier de projection d'entrée à laquelle le nouveau champ est projeté, et l'élément identifiant d'objet à base de classes nouvellement créé; engendrer un nouvel objet à base de classes, correspondant à l'élément identifiant d'objet à base de classes nouvellement créé, en réglant à la valeur du champ possédé l'attribut sur lequel le champ possédé est projeté; et restaurer la valeur du champ possédé de l'objet
unique sans classe.
Les buts, particularités et avantages de la présente invention exposés ci-dessus, ainsi que d'autres, seront mieux compris à la lecture d'un mode de réalisation actuellement préféré de l'invention, présenté à titre d'exemple, en se référant aux dessins annexés dans lesquels: la FIG. 1 est un schéma fonctionnel d'un système
de conversion d'objets selon la présente invention.
La FIG. 2 représente un modèle typique d'objet
sans classe.
La FIG. 3 représente un modèle typique d'objet à
base de classes.
La FIG. 4A représente une base locale typique de données d'objets sans classe avant un transfert d'une application. La FIG. 4B représente la base locale de données d'objets sans classe de la FIG. 4A après le transfert d'une application, spécialement le transfert de
l'application appelée Application2.
La FIG. 5A représente plusieurs objets sans
classe à titre d'exemples.
La FIG. 5B représente plusieurs objets à base de
classes à titre d'exemples.
La FIG. 6 illustre un exemple de projection de
champ à attribut.
La FIG. 7 illustre la création d'un nouvel objet
à base de classes.
La FIG. 8 illustre l'implantation préférée de la
table de localisations de champs.
La FIG. 9 illustre le mode de réalisation préféré
de la table de procédés de champs.
La FIG. 10 illustre le mode de réalisation
-préféré de la table d'identifications.
La FIG. 11 illustre le mode de réalisation
préféré de la table de descriptions.
La FIG. 12 est un schéma fonctionnel du mode de
réalisation préféré du moyen de création de champs.
La FIG. 13 est un schéma fonctionnel du mode de
réalisation préféré du moyen de restitution de champs.
La FIG. 14 est un schéma fonctionnel du mode de
réalisation préféré du moyen de réglage de champs.
La FIG. 15 est un schéma fonctionnel du mode de réalisation préféré du moyen de restitution de champs
d'objets.
La FIG. 16 est un schéma fonctionnel du mode de réalisation préféré du moyen de création d'objets mandataires. La FIG. 17 est un schéma fonctionnel du mode de réalisation préféré du moyen d'élimination d'objets mandataires. La FIG. 18 est un schéma fonctionnel du mode de réalisation préféré du moyen de localisations d'objets. La FIG. 19 est un schéma fonctionnel du mode de
réalisation préféré du moyen de transfert.
On va maintenant décrire à titre d'exemple, en se référant aux FIG. 1 à 19, le mode de réalisation
actuellement préféré de la présente invention.
La FIG. 1 représente un système 100 de conversion d'objets conforme à la présente invention qui permet à des données et des applications qui utilisent une plate-forme 101 à modèle d'objets sans classe de coexister avec des données et des applications qui utilisent une plate-forme 105 à modèle d'objets à base de classes. Le système typique sur lequel réside l'invention comporte deux plates-formes différentes:
une plate-forme 101 d'objets sans classe et une plate-
forme 105 d'objets à base de classes. Chaque plate-
-forme agence une interface pour accéder à des données locales crées par ses propres applications résidentes sur cette plate-forme. Ainsi, la plate-forme 101
d'objets sans classe agence une interface de plate-
forme d'objets sans classe et une base locale 114 de données d'objets sans classe. De même, la plate-forme 105 d'objets à base de classes agence une interface 106 de plate-forme d'objets à base de classes et une
base locale 115 de données d'objets à base de classes.
Des applications résidentes sur l'une ou l'autre des plates-formes peuvent accéder à la base de données qui est locale à chacune de leurs plates-formes respectives. La présente invention permet à des applications 103 de plate-forme d'objets sans classe d'accéder au contenu des bases de données des deux plates-formes. Dans le mode de réalisation préféré, l'interface 102 de plate-forme d'objets sans classe est mise en oeuvre en utilisant une interface de programmation d'applications, ou interface API, et l'interface 106 de plate-forme d'objets à base de classes est mise en oeuvre en utilisant des appels de procédés pour toutes les communications et tous les
accès de données.
Un objet sans classe 205 basé sur le modèle 200 d'objets sans classe, comme représenté à la FIG. 2, est constitué d'un ensemble de valeurs de champs. Une valeur 224 de champ ne peut être réglée que pour des champs 220 qui ont déjà été définis précédemment par l'intermédiaire d'une définition 225 de champ. En revanche, un objet sans classe 205 qui est référencé par son identification 210 d'objet sans classe
comprend une collection arbitraire de champs 220.
Ainsi, un objet sans classe 205 est un élément quelconque pour lequel un ou plusieurs champs 220 ont reçu une valeur. Le nombre de champs 220 qu'un objet sans classe 205 peut posséder est dynamique et peut -varier librement. La structure d'un objet sans classe 205 n'est limitée que par le nombre et le type de champs 220 qui ont été définis pour lui. Dans le cas de l'objet sans classe 200, un unique objet sans classe 205 peut représenter de nombreuses caractéristiques différentes d'une entité unique du monde réel: par exemple un objet sans classe appelé ordinateur personnel, ou PC, peut être une station de
travail d'un individu et un serveur de fichier.
Dans le mode de réalisation préféré, chaque objet sans classe 205 comprend au moins une identification
210 d'objet sans classe et une série de champs 220.
Une identité spéciale 210 d'objet sans classe est assignée par la plateforme 101 d'objets sans classe dans la base locale 114 de données d'objets sans classe à l'instant de la création de l'objet. En se référant à la FIG. 1, en liaison avec la FIG. 2, des applications 103 à modèles d'objets sans classe créent des données spécifiques à une application en créant une définition 225 de champ pour un champ 220 et en assignant ensuite une valeur 224 de champ au champ 220 des objets sans classe 200 concernés. Le mode de réalisation préféré d'une définition 225 de champ est elle aussi représentée à la FIG. 2, et elle inclut une identification de champ ou field_id 221, un nom de champ ou field_name 222, et un type de champ ou fieldtype 223. L'identification 221 de champ est utilisée par le système 100 de conversion d'objets
pour référencer un champ 220.
La FIG. 3 illustre un objet 305 à base de classes basé sur le modèle 300 d'objets à base de classes. Des objets 305 à base de classes sont définis par une classe 315, qui comprend des définitions pour des attributs 320 et des procédés 330. Un objet 305 à base de classes est un exemple d'une classe 315, qui rend ses attributs 320 statiques et fixes, en type et en -nombre, par la définition de classe 315. Ces propriétés d'objets à base de classes facilitent la possibilité de prédire une allocation d'espace et sont donc compatibles avec des programmes commercialisés d'applications de bases de données à langage structuré d'interrogation. Pour le modèle 300 d'objets à base de classes, une classe quelconque 315 de données ou unobjet 305 quelconque à base de classes ne représente
qu'un aspect unique d'une entité du monde réel.
La manipulation d'un objet 305 à base de classes
est effectuée au moyen de ses procédés définis 330.
D'une manière connue de l'homme de l'art, les procédés d'un objet sont des procédures définies en tant que parties d'une classe 315 de l'objet, qui opèrent comme interface de l'objet pour manipuler les attributs 320 de l'objet. Les procédés exposés par un objet 305 à base de classes permettent un accès commandé aux
données d'attribut.
Une manipulation de données dans le modèle 200 d'objets sans classe est traitée d'une manière différente de celle qui concerne un modèle 300 d'objets à base de classes. Dans le cas du modèle 300 d'objets à base de classes, l'ensemble de champs 220 disponible pour une application quelconque donnée 103 à modèle d'objets sans classe n'est pas limitée simplement à ses propres champs définis 220. Bien plutôt, une application 103 à modèle d'objets sans classe peut utiliser des champs 220 définis par une application quelconque 103 à modèle d'objets sans classe. Ainsi, une quelconque application 103 à modèle d'objets sans classe peut manipuler les valeurs de champs 220, c'est- à-dire régler ces valeurs ou les restaurer, sur un objet sans classe quelconque 205 de la base locale 114 de données d'objets sans classe, indépendamment de l'application 103 à modèle d'objets sans classe qui a créé les données. Dans le mode de réalisation préféré, la plate-forme 101 d'objets sans classe utilise des appels d'interface API propres au constructeur en tant qu'interface 102 de plate-forme d'objets sans classe afin de manipuler un objet sans classe 205 qui réside dans la base locale 114 de données d'objets sans classe, c'est-à-dire créer, éliminer, régler et restituer des données de cet objet. Dans le cas du modèle 300 d'objets à base de classes, un accès à une donnée 320 d'attribut s'effectue par les procédés 330 définis par la classe 315 dont un objet donné 305 à base de classes constitue un exemple. Dans le mode de réalisation préféré, l'interface 106 de plate-forme d'objets à base de classes est implantée sous forme d'une interface de procédés qui expose des procédés pour accéder à des données. La donnée d'attribut du mode de réalisation préféré est privée. La seule manière d'accéder à un attribut 320 est de passer par le procédé 330 exposé pour lui. Ceci permet à une application 107 à modèle d'objets à base de classes de ne commander et ne manipuler que les attributs 320 des objets 305 à base de classes pour lesquels il a défini
un procédé 330.
De façon générale, une application 103 à modèle d'objets sans classe est transférée à partir d'une
plate-forme 101 d'objets sans classe vers une plate-
forme 105 d'objets à base de classes et devient une
application 107 à modèle d'objets à base de classes.
Comme décrit précédemment, une application quelconque 103 à modèle d'objets sans classe peut manipuler les valeurs de champs 220 d'un quelconque objet sans classe 205 de la base locale 114 de données d'objets dans classe, quelle que soit l'application 103 à modèle d'objets sans classe qui a créé la donnée. En outre, pour toute application quelconque donnée 103 à modèle d'objets sans classe, il peut exister d'autres applications 103 à modèle d'objets sans classe qui
dépendent des objets sans classe 205 qu'elle a créés.
Ainsi, en raison des interdépendances éventuelles des applications 103 à modèle d'objets sans classe et de leurs objets sans classe correspondants 205, une application donnée 103 à modèle d'objets sans classe ne peut pas être transférée vers une plate-forme différente à moins que toutes les applications 103 éventuellement dépendantes à modèle d'objets sans classe, c'est-à-dire les applications consommatrices, ne soient elles aussi prêtes à un transfert. Afin d'éliminer ces exigences, il est à la fois souhaitable et nécessaire que des applications basées sur le modèle 200 d'objets sans classe et des applications basées sur le modèle 300 d'objets à base de classes coexistent et c'est là le problème que la présente
invention résout.
C'est une projection de données en une seule fois qui doit être utilisée pour transférer des données/applications depuis le modèle 200 d'objets sans classe vers le modèle 300 d'objets à base de classes. Puisqu'aucune définition de classe 315 n'existe pour un objet sans classe 205, déterminer l'ensemble des champs 205 qui définissent une perspective unique d'un objet sans classe 205 est impossible sans l'aide de développeurs d'applications pour déterminer 1) les objets à transférer, 2) les nouveaux attributs 301 qui sont équivalents aux anciens champs 220, et 3) la classe définie 305 vers laquelle doit se
faire le transfert des données d'application.
Ainsi, lors d'un transfert d'application, le développeur de cette application doit fournir un fichier de projection de champs à attribut en une fois -qui spécifie comment il est possible d'accéder à chaque attribut qui remplace un champ défini précédemment. Dès lors qu'une projection de champ à attribut d'anciens champs 220 à des attributs 320 de la nouvelle classe est fourni, le processus de transfert des champs 220 d'une application 103 à modèle d'objets sans classe vers les attributs 320 d'une application 107 à modèle d'objets à base de classes peut être accompli par un processus automatisé, par exemple, un processus par lots mis en oeuvre par un programme d'ordinateur. La présente invention permet de transférer des applications 103 à modèle d'objets sans classe à partir d'une plateforme 101 d'objets sans classe, vers une plate-forme 105 d'objets à base de classes, à l'instant o la projection de champs à attributs devient disponible à partir dudit développeur d'une application productrice 103 à modèle d'objets sans classe, sans qu'il soit nécessaire d'attendre le transfert simultané de toutes les applications consommatrices 103 à modèle d'objets sans classe qui partagent éventuellement des champs communs 220. Ainsi, la présente invention permet à des applications 103 à modèle d'objets sans classe de coexister avec des applications 107 à modèle d'objets à base de classes en partageant des données communes. Les FIG. 4A et 4B représentent l'effet sur la base locale 114 de données d'objets sans classe d'un transfert d'une application 103 à modèle d'objets sans classe, à partir de la plate- forme 101 d'objets sans classe, vers la plate-forme 105 d'objets à base de classes. A cette figure, l'Application2 420 est transférée de la plate-forme 101 d'objets sans classe vers la plate-forme 105 d'objets à base de classes. La FIG. 4A représente à titre d'exemple une base locale 401 de données d'objets sans classe avant le transfert de l'Application2 420. La base locale 401 de données d'objets sans classe donnée à titre d'exemple après transfert est représentée à la FIG. 4B. Au cours du transfert de l'application, l'application 103 à modèle d'objets sans classe est remplacée par l'application 107 à modèle d'objets à base de classes et les valeurs spécifiques de champs de l'application sont restaurées dans la base locale de données 124 d'objets sans classe par l'Application2 420. Au fur et à mesure que le transfert concerne un nombre de plus en plus grand d'applications 103 à modèle d'objets sans classe, les données spécifiques aux applications sont enlevées en continu de la base locale 114 de données d'objets sans classe jusqu'à ce que la base locale 114 de données d'objets sans classe ne contienne finalement que les identifications 210 d'objets sans classe pour tous les objets sans classe 205. Ainsi, au fur et à mesure du transfert de l'Application2 420 à partir de la base locale 401, qui sert d'exemple, d'objets sans classe à la FIG. 4A, vers la base locale 115 de données d'objets à base de classes, elle restaure ses champs associés f4 421 et f5 422 venant des objets sans classe Objl 406, Obj2 407, Obj3 408 et Obj4 409 de la base locale 401 d'objets sans classe à la FIG. 4B. En revanche, bien que les valeurs de champs de f4 421 et f5 422 soient restaurées après transfert, les définitions de f4 421 et f5 422 subsistent cependant parce que des applications qui n'ont pas été transférées peuvent encore dépendre de ces définitions de champs. Par suite du transfert, f4 421 et f5 422 sont représentés dans la table 111 de procédés de
champs.
La FIG. 5A décrit à titre d'exemple un ensemble de définitions 500 de champs et plusieurs exemple d'objets sans classe. Comme noté précédemment, un -objet sans classe 205 est une collection dynamique de champs 220. Comme représenté à la FIG. 5A, huit champs fl à f8, désignés par 501 à 508, ont été définis par diverses applications par des définitions 511 à 518 de champs, respectivement. Un objet quelconque peut prendre une valeur pour un champ quelconque. Ainsi, comme représenté à la FIG. 5A, l'objet 1 551 définit des valeurs pour des champs fi, f2 et f6, désignés par 501, 502 et 506. L'Objet2 552 définit des valeurs pour fl et f3, 501 et 503. L'Objet3 553 définit des valeurs
pour f2, f5 et f7, désignés par 502, 505 et 507.
L'Objet4 554 définit des valeurs pour le champ unique f4, désigné par 504. Finalement, l'Objet5 555 définit des valeurs pour les champs f7 et f8, désignés par 507 et 508. Comme on le comprend de la FIG. 5A, certains objets sans classe 205 définis par les applications 103 à modèle d'objets sans classe partagent des champs communs. Par exemple, l'Objetl 551 et l'Objet2 552 définissent des valeurs pour le champ fl désigné par 501. De même, l'Objetl 551 et l'Objet3 553 définissent l'un et l'autre des valeurs pour le champ f2 désigné
par 502.
La FIG. 5B représente plusieurs objets à base de classes à titre d'exemples. Comme on le comprend de la FIG. 5B, la structure d'une classe est déterminée par ses attributs définis; cependant, un objet à base de classes n'existe pas avant que la classe ne soit engendrée. Par exemple, en se référant à la FIG. 5B, la Classe A 561 est définie par ses attributs x, y et z, désignés par 571, 572 et 573. La Classe A 561 est simplement un gabarit pour un objet à base de classes 305, mais elle n'est pas en elle-même un objet à base de classes 305. Al 581 et A2 582 sont devenus des objets à base de classes 305 par génération de la Classe A 561. Un objet A1 581 à base de classes présente des valeurs vl, v2 et v3 réglées pour des attributs x, y et z, respectivement. De même, un objet A2 582 présente des valeurs v4, v5 et v6 pour des attributs x, y et z, respectivement. Comme représenté aussi à la FIG. 5B, un objet B1 583 est un exemple d'une Classe B 562 qui présente des attributs q, r et s, désignés par 574, 575 et 576, de valeurs v7, v8 et v9, respectivement. De même, un objet C1 584 est un exemple de Classe C 563 qui présente des attributs m et n, désignés par 577 et 578 de valeurs vlO et vil, respectivement. Selon la présente invention, le développeur de l'application 103 à modèle d'objets sans classe, en cours de transfert, doit fournir un ensemble de projections à partir des attributs 320 de classes vers les champs 220 d'objets sans classe chaque fois qu'ils sont équivalents. Par exemple, la FIG. 6 illustre un exemple de projection de champs à attributs de la Classe C 563 à partir de la FIG. 5B dans lequel le champ f5 505 d'objet sans classe de la FIG. 5A se projette sur l'attribut m 577 de la Classe C 563. De même, le champ f3 503 se projette sur l'attribut n 578 de la Classe C 563. De même, le champ f6 506 se projette sur l'attribut x 571 de la Classe A 561; le champ fi 501 se projette sur l'attribut y 572 de la Classe A 561; et le champ f2 502 se projette sur
l'attribut z 573 de la classe A 561.
Comme on le comprend également de la FIG. 6, il est possible qu'il n'existe aucun champ 220 qui se projette sur un attribut 320. Une situation dans laquelle aucun champ 220 d'objet sans classe ne se projette sur l'attribut 320 d'une classe 315 se produit lorsque l'attribut 320 est nouveau. Ainsi, de la FIG. 5A à la FIG. 5B, l'attribut q 574 de la Classe B 562 sur lequel aucun champ 220 n'est projeté, est nouveau; de même, l'attribut r 575 et l'attribut s 576
de la Classe B 562 sont eux aussi nouveaux.
Des champs qui n'apparaissent pas dans le fichier de projections de champs à attributs représentent des champs qui sont définis par des applications qui n'ont pas été transférées. A la FIG. 6, seuls des champs qui ont été transférés, qui comprennent fl 501, f2 502, f3
503, f5 505 et f6 506, apparaissent dans le fichier.
Les champs f4 504, f7 507 et f8 508 de la FIG. 5A n'apparaissent pas dans le fichier de projection de la FIG. 6 parce qu'ils appartiennent à des applications qui n'ont pas encore été transférées. En d'autres termes, les objets sans classe Objet4 554 et Objet5 555 ne peuvent pas encore être transférés puisqu'aucune classe 315 ne correspond à leurs
attributs 320.
Dans le mode de réalisation préféré, les projections de champs à attributs sont réalisées, par les développeurs d'applications, au moyen d'un fichier d'enregistrement de champs. Le fichier d'enregistrement fournit au système 100 de conversion d'objets une projection de champs 200 d'objets sans classe sur des attributs 320 d'objets à base de classes. Dès lors que les projections sont obtenues, le transfert se produit par la génération d'objets 305 à base de classes présentant les valeurs des champs
220 de transfert.
Par exemple, en se référant à l'objet plat Objetl 551 qui présente les champs fl, f2 et f6, désignés par 501, 502 et 506 comme représenté à la FIG. 5A, la Classe A 561 définie par 5B et la projection de champ à attribut définie à la FIG. 6, un nouvel objet A3 701 est engendré comme représenté à la FIG. 7. Ainsi, puisque le champ fl 501 se projette sur l'attribut y 572 de la Classe A 561, que le champ f2 502 se projette sur l'attribut z 572 de la Classe A 561 et que le champ f6 506 se projette sur l'attribut x 571 de la Classe 1 561, le transfert de données est effectué en engendrant l'objet A3 701 et en réglant aux valeurs des champs fl, f2 et f3, désignés par 501, 502 et 503 les attributs y, z et x, désignés par 572, 572 et 571, à l'aide des procédés de l'objet. Ainsi, en termes plus symboliques: Puisque fl -> attribut y f2 -> attribut z f6 -> attribut x, la génération de l'objet A3 701 permet un transfert de données de la manière suivante: attribut x = valeur f6 = v3 attribut y = valeur fl = vl
attribut z = valeur f2 = v2.
Au fur et à mesure que des applications sont transférées du modèle 200 d'objets sans classe au modèle 300 d'objets à base de classes, chaque application 103 à modèle d'objets sans classe ne déplace que la donnée qui lui est spécifique, en laissant toutes les autres données subsister sur l'objet sans classe 205, puisque les autres champs 220 qui subsistent appartiennent à d'autres applications 103 à modèles d'objets sans classe. Au fur et à mesure que des applications 103 à modèles d'objets sans classe déplacent leurs champs 220 de données à partir des objets sans classe 205, elles restaurent la valeur de ces champs 220 des objets sans classe 205 dans la base locale 114 de données d'objets sans classe. La présente invention permet aux applications subsistantes 103 à modèle d'objets sans classe qui n'ont pas été transférées d'accéder aux champs 220 qui
ont été transférés.
Selon la présente invention, en se référant à la FIG. 1, le système 100 de conversion d'objets comprend un ensemble de quatre tables qui, en combinaison avec un ensemble de procédures décrites ci-après, permet à des applications 103 à modèle d'objets sans classe non transférées d'accéder à des données tant dans la base locale 114 de données d'objets sans classe que dans la
* base locale 115 de données d'objets à base de classes.
L'ensemble des quatre tables comprend: (1) une table 110 de localisations de champs à utiliser pour déterminer si un champ 220 a été créé par une application 103 à modèle d'objets sans classe ou par une application 107 à modèle d'objets à base de classes; (2) une table 111 de procédés de champs pour mémoriser des projections à partir des champs 220 tant sur leur classe correspondante 315 que sur le procédé d'accès correspondant 330; (3) une table d'identifications 112 pour mémoriser la projection entre une identification, ou identification 210 d'objet sans classe et sa classe correspondante 315 et son identification correspondante 310 d'objet à base de classes; et
(4) une table 113 de descriptions d'objets pour
mémoriser la projection entre une identification 210 d'objets sans classe sur chaque champ 220 associé à
cette identification 210 d'objets sans classe.
La table 110 de localisations de champs contient une information destinée à déterminer le type d'application qui est défini dans un certain champ 220; c'est-à-dire pour déterminer si le champ 220 a été créé par une applications non transférée ou par une application transférée. L'information est utilisée pour déterminer si le champ est projeté ou n'est pas projeté. Ainsi, si le champ 220 a été créé par une application non transférée, il n'est pas projeté et réside dans la base locale 114 de données d'objets sans classe. Si le champ 220 a été créé par une application transférée, il est projeté et réside dans la base 115 de données d'objets à base de classes. La FIG. 8 illustre l'implantation préférée de la table de localisations de champs qui comprend une table à consulter, appelée simplement table dans ce qui suit, indexée par des identifications de champs ou field_ID 221 et par un type définissant l'état de projection ou non projection, ou mappedtype, que l'on
appellera type de projection 802, à algèbre de Boole.
Le valeur du type de projection 802 est VRAI lorsque l'application qui a créé le champ 220, référencée par son identification de champ 221, a été transférée vers la plate-forme 105 d'objets à base de classes, et la valeur du type de projection 802 est FAUX lorsque l'application qui a créé le champ 220 n'a pas été transférée et qu'elle réside sur la plate- forme 101
d'objets sans classe.
La table 111 des procédés de champs contient les projections, à partir des champs 220 d'objets sans classe, vers leurs attributs correspondants 320 de classe. Selon le mode de réalisation préféré, illustré à la FIG. 9, la table 101 de procédés de champs contient les projections à partir des champs 220 tant vers leur classe correspondante 315 que vers leur procédé d'accès 330. La table 111 de procédés de champs contient une projection à partir du champ 220 vers la classe 315 de l'objet 305 à base de classes afin de déterminer le type d'objet pour lequel un procédé doit être appelé. La table 111 des procédés de champs contient aussi une projection à partir du champ 220 vers son procédé d'accès 330 parce qu'une interrogation sur le champ se traduit en un appel de procédé sur cet objet 305 à base de classes. La présente invention opère sur des attributs privés qui
ne permettent un accès que par les procédés associés.
Ainsi, le champ 220 est projeté sur un attribut qui est réglé à la valeur de champ, mais un accès à l'attribut n'est disponible qu'indirectement par son procédé associé. Par conséquent, dans le mode de réalisation préféré, la table 111 de procédés de champs contient une projection d'un champ 220, référencé par son identification de champ ou field_ID 221 vers sa classe correspondante 315 et son procédé correspondant 330, et non vers son attribut correspondant 320. Le mode de réalisation préféré est implanté à l'aide d'une table qui est indexée par l'identification 221 de champ et le type de procédé ou methodtype 904. Le type de procédé 904 est un type énuméré qui comprend au moins des valeurs de GET et SET, c'est-à-dire obtention et réglage, qui indiquent si l'opération de son procédé associé implique
l'obtention ou le réglage de la valeur de champ 224.
La classe 315 et le procédé 330 pour chaque identification 221 de champ et chaque type 904 de procédé sont également contenus dans la table 111 des
procédés de champs.
La table 112 d'identifications mémorise la projection entre une identification 210 d'objets sans classe et son identification 310 d'objets à base de classes et sa classe associée 315 correspondantes. La table d'identifications 112 est nécessaire parce que de nouveaux éléments identifiants d'objets sont créés lors d'un transfert d'un objet sans classe 205 vers
une plate-forme 105 d'objets à base de classes.
Puisqu'une application 103 non transférée à modèle d'objets sans classe identifie par son identification 210 d'objets sans classe l'objet sans classe 205 dont un ou plusieurs champs 220 peuvent avoir été transférés, la projection de l'identification correspondante 310 d'objet sans classe est critique pour localiser les champs 220 dans la base 315 de données d'objets à base de classes. Le mode de réalisation préféré est représenté à la FIG. 10 et est implanté sous forme d'une table indexée par l'identification 210 d'objets sans classe. Pour chaque identification 210 d'objet sans classe, la table 112 d'identifications contient son identification correspondante 310 d'objets à base de classes et sa classe associée correspondante 315. Il se peut qu'il n'existe pas de projection univoque entre les identifications 210 d'objets sans classe et les identifications 310 d'objets à base de classes dans la table d'identifications 112 puisque des champs de chaque objet sans classe peuvent être projetés sur des
attributs contenus dans des classes différentes.
La table 113 de descriptions d'objets contient la
projection entre une identification 210 d'objets sans classe et chaque champ 220 associé à cette identification 210 d'objets sans classe. Cette table permet des interrogations d'objets sans classe par des applications 103 à modèle d'objets sans classe qui donnent accès à une identification 210 complète d'objets sans classe, et elle permet de déterminer tous les champs 220 pour un objet sans classe 205 donné. Le mode de réalisation préféré est illustré à la FIG. 11 et il est implanté sous forme d'une table indexée par une identification 210 d'objet sans classe et contient, pour chaque rubrique de la table, un indicateur 112 qui indique une liste chaînée de tous les champs 220 associés à cette identification 210
d'objet sans classe.
De plus, selon la présente invention, un ensemble de procédures opère sur l'ensemble des quatre tables, et met à jour et maintient cet ensemble, ce qui permet à des applications 103 à modèle d'objets sans classe non transférées d'accéder à des données situées tant dans la base locale 14 de données d'objets sans classe que dans la base locale 115 d'objets à base de classes en se basant sur des données provenant de
l'application 107 à modèle d'objets à base de classes.
L'ensemble des procédures comprend au moins (1) un moyen 121 de création de champs pour créer un champ 220; (2) un moyen 122 de restitution de champs pour restituer la valeur d'un champ 220, tant projetée que non projetée; (3) un moyen 123 de réglage de champs pour régler la valeur d'un champ 220; (4) un moyen 124 de restitution de champs d'objets pour restituer les valeurs de chaque champ 220 pour une identification donnée 210 d'objet sans classe; (5) un moyen 120 de création d'objets mandataires pour créer une identification 210 d'objet sans classe pour un objet local 115 à base de classes nouvellement créé; (6) un moyen d'élimination 125 d'objets mandataires pour enlever l'identification 210 d'objet sans classe pour un objet 305 à base de classes qui a été éliminé ou transféré; et (7) un moyen 126 de localisation d'objets pour localiser les identifications 210 d'objets sans classe pour tous les objets 114 sans classe et pour l'objet à base de classes présentant une valeur donnée
pour un champ donné 220.
Le moyen 121 de création de champs destiné à créer un champ 220 est appelé par une application 107 à modèle d'objets sans classe pour permettre aux attributs 320 qu'elle crée d'être visibles en tant que champs 220 aux applications 103 à modèles d'objets sans classe non transférées. Seules des applications 103 à modèle d'objets sans classe non transférées utilisent des définitions de champs ou field_definitions 225, et l'interface de création par des applications non transférées ne varient pas dans la présente invention. Cependant, des applications 103 à modèle d'objets sans classe dépendent de définitions de champs 225 créées par d'autres applications, même quand ces autres applications ont été transférées. Par conséquent, des applications transférées doivent représenter leurs champs de façon que des applications non transférées puissent y accéder. Lorsqu'une application transférée crée un nouvel objet 305 à base de classes qui présente un attribut 320 sur lequel un champ 220 a été projeté, elle doit rendre visible à des applications 103 à modèle d'objets sans classe ce "champ" nouvellement créé. Par conséquent, le moyen 121 de création de champs permet d'accéder à une information qui indique que le nouveau champ 220, référencé par son identification 221 de champ, a été projeté sur la base 115 de données d'objets sans classe et qui indique la classe 315 à laquelle il appartient et son procédé d'accès. On y parvient en ajoutant une rubrique à la table 110 de localisations
de champs et à la table 11 de procédés de champs.
La FIG. 12 représente le mode de réalisation préféré du moyen 121 de création de champs. Comme illustré à la FIG. 12, le moyen 121 de création de champs comprend une procédure 1201, appelée création de champs, ou create_field, qui accepte comme entrée une identification 1202 de champ, un procédé 1203, un type 1204 de procédé et une classe 1205. A l'étape 1 1210, la procédure 1201 de création de champs crée une nouvelle rubrique dans la table 110 de localisations de champs. La rubrique comprend l'identification 1202 de champ d'entrée et un type de projection 802 de valeur VRAI qui indique que le champ a été projeté. De plus, une rubrique doit être formée dans la table 111 de procédés de champs. Comme représenté à l'étape 2 1220, la rubrique dans la table 111 de procédés de champs comprend, pour chaque type de procédé séparé 1204, par exemple obtention ou réglage, l'identification 1202 de champ, la classe 1205, le procédé 1203 et le type de procédé 1204. La table 111 de procédés de champs contient les projections réelles de champ à attribut, de qui permet d'accéder aux
attributs par les procédés.
Le moyen 122 de restitution de champs, destiné à restituer la valeur d'un champ 220 est utilisé par des applications 103 à modèle d'objets sans classe pour restituer la valeur de champ 224 d'un champ 220. Il est possible que le champ 220 ait été transféré vers la plate-forme 105 d'objets à base de classes et soit donc maintenu comme attribut 320 d'un objet 305 à base de classes pour une classe définie 315 de la base 115 de données d'objets à base de classes, ou il est possible aussi que le champ 200 n'ait fait l'objet d'aucun transfert et réside donc dans la base locale
114 d'objets sans classe.
La FIG. 13 illustre le mode de réalisation préféré du moyen 122 de restitution de champs. Comme illustré à la FIG. 13, le moyen 122 de restitution de champs comprend une procédure 1301 d'obtention de valeur dechamp ou get_field_value, qui accepte comme entrée une identification 1302 d'objet sans classe et une identification 1303 de champ. A l'étape 1 1310, le moyen 122 de restitution de champs consulte la table de localisations de champs, donne accès à l'identification 1303 de champ et restitue la valeur du type de projection 802, ce qui indique si l'application qui a créé le champ a ou non été projetée. A l'étape 2 1320, si le champ n'a pas été projeté, ce qui est indiqué par une valeur FAUX pour le type de projection 802, la procédure 1301 d'obtention de valeur de champ consulte la base locale 114 de données d'objets sans classe pour restituer la valeur de champ 1304 et la renvoyer à l'application 103 à modèle d'objets sans classe. Si le champ 220 a été projeté, ce qui est indiqué par une valeur VRAI -pour le type de projection 802, la procédure 1301 d'obtention de valeur de champ consulte la table d'identifications 112 à l'étape 3 1330 pour restituer l'identification 1305 d'objet à base de classes qui correspond à l'identification 1302 d'objet sans classe d'entrée. L'identification correspondante 1305 d'objet à base de classes est nécessaire pour localiser l'objet correct à base de classes dans la base 115 d'objets à base de classes. Puis, à l'étape 4, la procédure 1301 consulte la table 111 de procédés de champs, donne accès à l'identification 1303 de champ et au type 1904 de procédé d'obtention, afin de déterminer la classe 1306 et le procédé 1307 pour restituer la valeur 1304 de champ. La valeur 1304 de champ est restituée à l'étape 5 1350 au moyen d'un appel à une identification 1305 d'objets à base de classes qui comporte un procédé 1307 ou, en d'autres termes l'opération identification d'objet.obtention de procédé, ou object_ID.GET_method renvoie la valeur 1304 de champ. Cette valeur 1304 de champ est ensuite renvoyée à l'application 103 à modèle d'objets sans
classe qui a lancé l'appel.
Le moyen 123 de réglage de champs destiné à régler la valeur d'un champ 220 est utilisé par les applications 103 à modèle d'objets sans classe pour régler la valeur 224 de champ d'un champ 220, aussi bien lorsque le champ 200 réside dans la base locale 114 d'objets sans classe que lorsque le champ 220 a été transféré vers la plate-forme 105 d'objets à base de classes, et donc est maintenu comme attribut 220 d'un objet 305 à base de classes pour une classe définie 315 de la base 115 de données d'objets à base
de classes.
La FIG. 14 représente le mode de réalisation préféré du moyen 123 de réglage. Comme illustré à la FIG. 14, le moyen 123 de réglage de champs comprend une procédure 1401 de réglage de valeurs de champ, qui accepte comme entrée une identification 1402 d'objet sans classe, une identification 1403 de champ et une valeur 1404 de champ. A l'étape 1 1410, la procédure 1401 de réglage de valeur de champ consulte la table de localisations de champs, donne accès à l'identification 1403 de champ et restitue la valeur du type de projection 802, ce qui indique si l'application qui a créé le champ a ou non été projetée. A l'étape 2 1420, si le champ n'a pas été projeté, ce qui est désigné par une valeur FAUX pour le type de projection 802, la procédure 1401 de réglage de valeurs de champs effectue, sur la base locale 114 de données d'objets sans classe, une consultation et un réglage pour régler la valeur 1404 de champ. Si le champ 220 a été projeté, ce qui est désigné par une valeur VRAI pour le type de projection 802, la procédure de réglage de valeur de champ effectue à l'étape 3 1430 une consultation de la table 112 d'identification pour restituer l'identification correspondante 1405 d'objet à base de classes pour
l'identification 1402 d'objet sans classe d'entrée.
L'identification correspondante 1405 d'objet à base de classes est nécessaire pour localiser l'objet correct dans la base 115 de données d'objets à base de classes. Puis, à l'étape 4 1440, la procédure 1401 de réglage de valeur de champs consulte la table 111 de procédés de champs, donne accès à l'identification 1403 de champ et à un type de procédé 904 de réglage afin de déterminer la classe 1406 sur laquelle le champ est projeté et le procédé 1407 de réglage de la valeur de l'attribut à la valeur 1404 de champ d'entrée. La valeur de l'attribut qui correspond à l'identification 1403 de champ d'entrée est réglée à la valeur 1404 de champ d'entrée à l'étape 5 1450 par un appel à l'identification 1405 d'objet à base de -classes au moyen du procédé 1407. Après réglage de la valeur de l'attribut à la valeur 1404 de champ, la procédure 1401 de réglage de valeur de champ revient à l'application 103 à modèle d'objets sans classe qui a
lancé l'appel.
Le moyen 124 de restitution de champs d'objets est utilisé par des applications 103 à modèle d'objets sans classe pour restituer les valeurs de chaque champ 220 pour une identification donnée 210 d'objet sans classe, aussi bien lorsque les champs 220 ont été transférés vers la plate-forme 105 d'objets à base de classes que lorsque le champ 200 réside dans la base
locale 114 de données d'objets sans classe.
La FIG. 15 représente le mode de réalisation préféré du moyen de restitution 124 de champs d'objets. Comme illustré à la FIG. 15, le moyen de restitution 124 de champs d'objets, comprend une procédure 1501 d'obtention de valeurs de champ ou get_field_values, qui accepte comme entrée une identification 1502 d'objet sans classe et qui renvoie à son achèvement, pour chacun de ses champs associés, les valeurs 1503 de champs. A l'étape 1 1510, la procédure d'obtention de valeurs de champs 1501 effectue une consultation sur la table 113 de
descriptions d'objets pour obtenir l'indicateur 1551
d'une liste chaînée 1550 d'identifications 221 de champs associées à l'identification 1502 d'objet sans classe d'entrée. Si l'indicateur 1501 indique une liste vide, aucun champ n'est associé à l'identification 1502 d'objet sans classe, et la procédure 1501 d'obtention de valeurs de champ renvoie à l'application 103 à modèle d'objets sans classe qui a lancé l'appel. Si la liste chaînée 1550 n'est pas vide, l'indicateur 1551 indique dans la liste la
première identification 221 de champ.
A l'étape 2 1520, la procédure 1501 d'obtention de valeurs de champs appelle la procédure 1301 d'obtention de valeurs de champ au moyen de la première identification 221 de champ de la liste 1550
afin d'obtenir sa valeur 1503 de champ.
A l'étape 3 1530, la procédure 1501 d'obtention de valeurs de champs incrémente l'indicateur dans la liste chaînée 1550 afin de restituer l'identification suivante 221 de champ associée à l'identification 1502 d'objet sans classe d'entrée. Si l'indicateur indique la fin de la liste 1552, tous les champs associés à l'identification 1502 d'objet sans classe ont été restitués, et la procédure 1501 d'obtention de valeurs de champs renvoie toutes les valeurs restituées 1503 de champs à l'application 103 à modèle d'objets sans classe qui a lancé l'appel. Si l'indicateur indique une autre identification 221 de champ, la procédure 1501 d'obtention de valeurs de champs répète l'étape 2 1520 et l'étape 3 1530. Ce processus se poursuit jusqu'à ce que l'indicateur indique la fin de la liste 1552. Puis, la procédure 1501 d'obtention de valeurs de champs renvoie toutes les valeurs restituées 1503 de champs à l'application 103 à modèle d'objets sans
classe qui a lancé l'appel.
Le moyen 120 de création d'objets mandataires est utilisé par des applications 107 à modèle d'objets à base de classes pour créer une identification 210 d'objet sans classe, pour permettre à des applications 107 à modèle d'objets à base de classes d'accéder à un
objet local 115 à base de classes nouvellement créé.
La FIG. 16 illustre le mode de réalisation préféré du moyen 120 de création d'objets mandataires. Le mode de réalisation préféré comprend une procédure 1601 de création d'objets mandataires ou create_proxyobject qui accepte comme entrée l'identification 1602 d'objet sans classe, la classe correspondant 1603 à laquelle il appartient, et une liste de champs 1604. A _l'étape 1 1610, la procédure 1601 de création d'objets mandataires crée une nouvelle identification 1605 d'objet sans classe, destinée à être utilisée par des applications 103 à modèle d'objets sans classe. Puis, à l'étape 2 1620, la procédure 1601 de création d'objets mandataires ajoute une rubrique dans la table 112 d'identification, la rubrique comprenant l'identification 1605 d'objet sans classe nouvellement créée, l'identification 1602 d'objet sans classe d'entrée et la classe 1603 d'entrée. La table 113 de
descriptions d'objets est mise à jour à l'étape 3 1630
par une rubrique qui comprend l'identification 1605 d'objet sans classe nouvellement créé et la liste d'entrée de champs 1604. La procédure 1601 de création d'objets mandataires revient ensuite à l'application 107 à modèle d'objets à base de classes qui a lancé
l'appel.
La procédure 125 d'élimination d'objets mandataires est utilisée par des applications 107 à modèle d'objets à base de classes pour enlever une identification 210 d'objet sans classe qui correspond à un objet éliminé 305 à base de classes. La FIG. 17 illustre le mode de réalisation préféré du moyen 125 d'élimination d'objets mandataires. Le mode de réalisation préféré comprend une procédure 1701 d'élimination d'objets mandataires, ou deleteproxyobject, qui accepte comme entrée une identification 1702 d'objet à base de classes. La procédure 1701 d'élimination d'objets mandataires enlève, à l'étape 1 1710, toutes les rubriques de la table 112 d'identifications dans lesquelles l'identification 1702 d'objet à base de classes apparaît. De même, à l'étape 2 1720, la procédure 1701 d'élimination d'objets mandataires enlève toutes les
rubriques de la table 113 de descriptions d'objets
dans lesquelles l'identification 1702 d'objets à base de classes apparaît. La procédure 1701 d'élimination d'objets mandataires revient ensuite à l'application 107 à modèle d'objets à base de classes qui a lancé l'appel. Le moyen 126 de localisation d'objets est utilisé par des applications 103 à modèle d'objets sans classe pour localiser les identifications 210 d'objets sans classe pour tous les objets sans classe 114 qui
présentent une valeur donnée pour un champ donné 220.
Le mode de réalisation préféré, représenté à la FIG. 18, est implanté sous la forme d'une procédure 1801 de localisation d'objets, ou locate_object, qui accepte comme entrée une identification 1802 de champ et une
valeur 1803 de champ.
Comme représenté à la FIG. 18, la procédure 1801 de localisation d'objets effectue à l'étape 1 1810 une consultation sur la table 110 de localisations d'objets pour déterminer si le champ référencé par l'identification 1802 d'objet a été projeté sur un attribut 320 de l'un quelconque des objets 305 à base de classes contenus dans la base 115 de données
d'objets à base de classes.
Si le champ référencé par l'identification 1802 na pas été projeté à un attribut 320, la procédure 1801 de localisations d'objets effectue à l'étape 2 1820, sur chaque objet sans classe 205, une consultation dans la base 114 de données d'objets sans classe. La procédure 1801 de localisations d'objets restitue l'identification 210 d'objet sans classe pour chaque objet sans classe 205 qui présente une valeur
de champ 224 égale à la valeur 1803 de champ d'entrée.
Une liste des identifications 1804 d'objets sans classe est renvoyée à l'application 103 à modèle
d'objets sans classe qui a lancé l'appel.
Si le champ référencé par l'identification 1802 -de champ a été projeté sur un attribut 320, la procédure 1801 de localisations d'objets effectue à l'étape 3 1830 une consultation de la table 111 de procédés de champs pour restituer la classe 315 à laquelle l'attribut 320 appartient, ainsi que le procédé 330 de lecture de l'attribut sur lequel le champ 220 est projeté; A l'étape 4 1840, la procédure 1801 de localisations d'objets effectue sur la table 112 d'identifications une consultation pour restituer l'identification 310 d'objet à base de classes pour tout objet 305 à base de classes de la base 115 d'objets à base de classes qui appartient à la classe 315 et présente l'attribut 320 sur lequel le champ 220
est projeté.
Pour chacune des identifications 310 d'objets à base de classes restituées à l'étape 4 1840, la procédure 1801 de localisations d'objets restitue, à l'étape 5 1850, la valeur de l'attribut 320 sur lequel le champ 220 est projeté afin de déterminer si la valeur de l'attribut est égale à la valeur 1803 de
champ d'entrée.
A l'étape 6 1860, la procédure 1801 de localisations d'objets effectue, sur la table 112 d'identifications, une consultation destinée à restituer l'identification 210 d'objet sans classe pour chaque objet 305 à base de classes qui présente une valeur d'attribut égale à la valeur 1803 de champ d'entrée. Finalement, dans le cas o le champ est projeté, toutes les identifications 210 d'objets sans classe localisées aux étapes 3 à 6 sont renvoyées à l'application 103 à modèle d'objets sans classe qui a
lancé l'appel.
La description qui précède détaille la
coexistence de données et d'applications basées tant sur la plate-forme 101 à modèle d'objets sans classe que sur la plate-forme 105 à modèle d'objets à base de classes. La nécessité de la présente invention devient critique quant au moins une application 103 à modèle
d'objets sans classe a été transférée dans la plate-
forme 105 à modèle de données à base de classes. Pour effectuer le transfert, il faut que l'application soit mise à jour par le développeur d'application afin de fonctionner sur la plate-forme 105 d'objets à base de classes, un fichier de projection de champ à attribut doit être créé, et les données possédées par l'application en cours de transfert doivent être converties du modèle 200 d'objets sans classe au modèle 300 à base de classes. Selon la présente invention, le processus de conversion d'objets doit aussi mettre à jour la table 110 de localisations de champs, la table 111 de procédés de champs et la table 112 d'identifications afin de permettre au système 100 de conversion d'objets de fonctionner de façon appropriée. Un moyen de mise en oeuvre du processus de conversion d'objets par transfert est un moyen de traitement par lots. Le mode de réalisation préféré du moyen de traitement par lots est mis en oeuvre au moyen d'un programme d'ordinateur, le programme 1901 de transfert de données ou migrate_data, représenté à la FIG. 19. Le programme 1901 de transfert de données accepte comme entrée un fichier 1902 de projection de champ à attribut fourni par le développeur d'applications, et les objets sans classe 1903 qui proviennent de la base 114 de données d'objets sans classe. Le programme 1901 de transfert de données
traite un à la fois chaque objet 1903 sans classe.
A l'étape 1 1910 de la FIG. 19, le programme 1901 -de transfert de données vérifie si un quelconque objet sans classe 1903 non traité est présent. Si tous les objets sans classe 1903 ont été déjà traités, il n'existe aucun objet sans classe, et le programme 1901
de transfert de données est fini.
Si un quelconque objet sans classe 1903 non traité est encore présent, le programme 1901 restitue à l'étape 2 un unique objet sans classe parmi les objets sans classe 1903 d'entrée et indique son
premier champ à traiter.
A l'étape 3 1930, le programme 1901 de transfert de données lit les fichiers 1902 de projection de champ à attribut d'entrée, afin de déterminer si le champ traité comporte une projection à un attribut 320 d'une classe 315. S'il existe pour le champ traité une projection de champ à attribut dans le fichier 1902 de projections de champ à attribut, le programme 1901 de transfert de données crée une rubrique dans la table des localisations de champs qui comprend l'identification 221 de champ du champ et un type de projection 802 de valeur VRAI. S'il n'existe pour le champ traité aucune projection de champ à attribut dans le fichier 1902 de projections de champ à attribut, le programme 1901 de transfert de données crée une rubrique dans la table 110 de localisations de champ comprenant l'identification 221 de champ du champ et un type de projection 802 de valeur FAUX et
passe à l'étape 9.
Si une projection de champ à attribut existe dans le fichier 1902 de projections de champ à attribut, le programme 1901 de transfert de données passe à l'étape 4 1940 pour mettre à jour la table 111 de procédés de champs au moyen d'une rubrique qui comprend l'identification 221 de champ qui correspond au champ traité, le procédé d'accès 330 à l'attribut 320 sur lequel le champ traité est projeté, la classe à laquelle l'attribut 330 appartient, et un type de procédé 904 d'obtention. Les tables doivent être mises à jour afin de permettre à des applications qui n'ont pas encore été transférées d'utiliser le système 100 de conversion d'objets pour accéder aux données transférées. A l'étape 5 1950, le programme 1901 de transfert de données détermine s'il a déjà été créé un objet à base de classes qui correspond à l'objet traité et qui appartient à la classe qui présente l'attribut sur lequel le champ traité doit être projeté. Si aucun objet à base de classes conforme à cette définition n'a encore été créé, une nouvelle identification 310 d'objet à base de classes est engendrée à l'étape 6 1960. La table 112 d'identifications est mise à jour à l'étape 7 1970. Le programme 1901 de transfert de données crée dans la table 112 d'identifications une rubrique qui comprend l'élément identifiant de l'objet sans classe de l'objet unique traité auquel appartient le champ traité, l'élément identifiant 310 d'objet à base de classes de l'objet 305 à base de classes qui a été engendré par la valeur du champ traité, et la classe 315 à laquelle appartient l'objet 305 à base de
classes qui a été engendré.
A l'étape 8 1980, l'objet à base de classes 305 nouvellement créé ou l'objet 305 à base de classes déjà créé est engendré en réglant à la valeur du champ traité, la valeur de l'attribut 320 sur lequel le champ traité est projeté. De plus à l'étape 8 1980, la valeur du champ traité est restaurée dans la base 114
de données d'objets sans classe.
L'étape 9 1990 est atteinte après génération d'un objet à base de classes 305 en plaçant à la valeur du champ traité à l'étape 8 1980 la valeur de l'un de ses -attributs ou après avoir déterminé à l'étape 3 1930 qu'il n'existe pour le champ traité aucune projection de champ à attribut. A l'étape 9 1990, le programme 1901 de transfert de données détermine s'il existe encore des champs résiduels non traités pour l'objet sans classe traité 1903. S'il existe effectivement des champs non traités pour cet objet sans classe traité 1903, le champ résiduel suivant non traité est restitué à l'étape 10 1991. Les étapes 3 à 10 sont répétées jusqu'à ce qu'il ne subsiste aucun champ
résiduel non traité.
Lorsqu'il ne subsiste aucun champ résiduel non traité à l'étape 9 1990, le programme 1901 de transfert de données répète les étapes 1 à 10 jusqu'à ce qu'il ne subsiste aucun objet résiduel non traité 1903, et le programme 1901 de transfert de données s'achève alors et tous les objets sans classe 1903 ont
fait l'objet d'une transfert.
Sur la base de la description détaillée qui
précède, la présente invention fournit un procédé et un système de transfert d'objets à partir d'un modèle d'objets sans classe vers un modèle d'objets à base de classes tout en permettant que des applications qui exigent, soit l'espace d'objets sans classe, soit l'espace d'objets à base de classes, coexistent et
fonctionnent simultanément.
Alors que des modes de réalisation actuellement préférés, donnés à titre d'illustration de la présente invention ont été décrits en détail ici, il faut comprendre que les concepts de l'invention peuvent être mis en oeuvre et employés d'une manière
différente, et que le but des revendications annexées
est d'inclure toutes ces variantes, en tenant compte
cependant des limitations de l'art antérieur.

Claims (25)

REVENDICATIONS
1. Système (100) de conversion d'objets destiné à permettre une coexistence de données et d'applications basées sur un modèle (200) d'objets sans classe (205) avec des données et des applications basées sur un modèle (300) d'objets à base de classes (305), dans lequel un objet sans classe (205) basé sur ledit modèle (200) d'objets sans classe comprend au moins un élément identifiant (210) d'objet sans classe et une série de champs (220) à valeurs de champs, et dans lequel un objet à base de classes (305) basé sur ledit modèle (300) d'objets à base de classes comprend un élément identifiant (310) d'objet à base de classes, une série d'attributs (320), et une série de procédés (330) destinés à accéder auxdits attributs selon une classe définie, caractérisé en ce qu'il comprend: (1. 1) une table (110) des localisations de champs (220) pour mémoriser une désignation de projection (802) destinée à indiquer si un champ (220) d'un objet (205) sans classe a été projeté sur un attribut (320) d'un objet (305) à base de classes; (1. 2) une table (.111) de procédés de champs pour mémoriser des projections de champs (220) tant sur leurs classes (315) que sur leurs attributs correspondants (320); (1. 3) une table (112) d'identifications pour mémoriser des projections entre un élément identifiant (210) d'objet sans classe (205) et sa classe (315) et son élément identifiant d'objet à base de classes correspondants;
(1. 4) une table (113) de descriptions d'objets
pour mémoriser des projections entre un élément identifiant (210) d'objet sans classe (205) et chacun des champs (220) de ladite série de champs associés audit élément identifiant (210) d'objet sans classe (205); et (2) une série de procédures qui com- prend (2. 1) un moyen (121) de création de champ pour créer un champ (220); (2. 2) un moyen (122) de restitution de champs pour restituer la valeur d'un champ (220); (2. 3) un moyen (123) de réglage de champs pour établir la valeur d'un champ (220); (2. 4) un moyen (124) de restitution de champs d'objets pour restituer les valeurs de chaque champ (220) associé à un élément identifiant donné (210) d'objet sans classe; (2. 5) un moyen (120) de création d'objets mandataires pour créer pour un objet à base de classes (305) nouvellement créé un élément identifiant (210) d'objet sans classe; (2. 6) un moyen (125) d'élimination d'objets mandataires pour enlever l'élément identifiant (210) d'objet sans classe d'un objet à base de classes (305) éliminé; et (2. 7) un moyen (126) de localisation d'objets pour localiser les éléments identifiants (210) d'objets sans classe pour tous les objets sans classe (205) présentant une valeur donnée pour un champ donné
(205).
2. Système selon la revendication 1, caractérisé en ce que ladite table (110) des localisations de champs comprend une série de rubriques qui comprennent chacune: un élément identifiant (221) de champ, et une désignation (802) qui indique si le champ associé audit élément identifiant (221) a ou non été
projeté sur un attribut d'une classe.
3. Système selon la revendication 1, caractérisé en ce que ladite table (111) de procédés de champs comprend une série de rubriques qui comprennent chacune: un élément identifiant (221) de champ, et un attribut (320) sur lequel est projeté un champ référencé par ledit élément identifiant (221) de champ.
4. Système selon la revendication 1, caractérisé en ce que ladite table (111) de procédures de champs comprend une série de rubriques qui comprennent chacune: un élément identifiant (221) de champ; un procédé d'accès (330) à l'attribut (320) sur lequel est projeté un champ référencé par ledit élément identifiant (221) de champ, un type de procédé (904) qui désigne le type d'opération que ledit procédé met en oeuvre, et une classe (315) à laquelle appartient ledit attribut.
5. Système selon la revendication 1, caractérisé en ce que ladite table (112) d'identifications comprend une série de rubriques qui comprennent chacune: un élément identifiant (310) d'objet à base de classes pour référencer un objet à base de classes 305), une classe (315) à laquelle appartient ledit objet à base de classes (305), et un élément identifiant (210) d'objet sans classe pour référencer un objet sans classe (205) qui comporte un champ (220) qui se projette sur un
attribut (320) dudit objet à base de classes (305).
6. Système selon la revendication 1, caractérisé en ce que
ladite table (113) de descriptions d'objets
comprend une série de rubriques qui comprennent chacune: un élément identifiant (210) d'objet sans classe pour référencer un objet sans classe (205), et une liste de chacun des champs (220) associés
audit objet sans classe (205).
7. Système selon la revendication 6, caractérisé en ce que ladite liste de chacun des champs (220) associés audit objet sans classe (205) comprend une liste chaînée.
8. Système selon la revendication 1 caractérisé en ce que ledit moyen (121) de création de champs inclut un moyen de traitement (1201) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant (1202) de champ d'entrée pour référencer un champ et un attribut d'entrée sur lequel ledit champ référencé est projeté; créer une nouvelle rubrique dans la table (110) des localisations de champs, ladite rubrique comprenant ledit élément identifiant (1202) de champ d'entrée et une désignation indiquant que ledit champ référencé est créé par une application (107) basée sur ledit modèle (300) d'objets à base de classes; créer une nouvelle rubrique dans la table (111) des procédés de champs, ladite rubrique comprenant ledit élément identifiant (1202) de champ d'entrée, et ledit attribut d'entrée sur lequel est projeté ledit
champ de référence.
9. Système selon la revendication 1, caractérisé en ce que ledit moyen (121) de création de champs inclut un moyen de traitement (1201) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant (1202) de champ d'entrée pour référencer un champ et un procédé d'entrée (1203) pour accéder à un attribut sur lequel est projeté ledit champ référencé, un type (1204) de procédé d'entrée désignant l'opération mise en oeuvre par ledit procédé, et une classe (1205) d'entrée à laquelle appartient ledit attribut; créer une nouvelle rubrique dans la table (110) des localisations de champs, ladite rubrique comprenant ledit élément identifiant (1202) de champ d'entrée et une destination indiquant que ledit champ référencé est créé par une application (107) basée sur ledit modèle (300) d'objets à base de classes; créer une nouvelle rubrique dans la table (111) des procédés de champs, ladite rubrique comprenant ledit élément identifiant (1202) de champ d'entrée, et ledit procédé (1203) d'entrée, ledit type (1204) de
procédé d'entrée et ladite classe (1205) d'entrée.
10. Système selon la revendication 1, caractérisé en ce que ledit moyen (122) de restitution de champs inclut un moyen de traitement (1301) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant (1302) d'objet sans classe d'entrée et un élément identifiant (1303) de champ d'entrée pour référencer un champ à partir duquel sa valeur est à restituer; effectuer dans la table (110) des localisations de champs une recherche pour déterminer (802) si ledit champ référencé a été projeté; dans le cas o ledit champ référencé n'a pas été projeté (FAUX), effectuer une recherche d'un objet sans classe référencé par ledit élément identifiant (1302) d'objet sans classe d'entrée pour restituer la valeur dudit champ référencé (1304); et dans le cas o ledit champ référencé a été projeté (VRAI) effectuer dans la table (112) d'identifications une recherche basée sur ledit élément identifiant (1302) d'objet sans classe d'entrée pour restituer, pour ledit élément identifiant (1302) d'objet sans classe d'entrée, un élément identifiant (1305) correspondant d'objet à base de classes, effectuer dans la table (111) des procédés de champs une recherche, basée sur ledit élément identifiant (1303) de champ d'entrée, pour déterminer une classe correspondante (1306) et un attribut correspondant sur lequel est projeté ledit champ référencé, et effectuer une recherche sur un objet à base de classes référencé par ledit élément identifiant (1305) d'objet correspondant à base de classes, ledit objet référencé à base de classes appartenant à ladite classe correspondante et présentant ledit attribut correspondant, de manière à restituer la valeur dudit attribut correspondant sur lequel est projeté ledit
champ référencé.
11. Système selon la revendication 1, caractérisé en ce que ledit moyen (122) de restitution de champs inclut un moyen de traitement (1301) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant (1302) d'objet sans classe d'entrée et un élément identifiant (1303) de champ d'entrée pour référencer un champ à partir duquel sa valeur est à restituer; effectuer dans la table (110) des localisations de champs une recherche pour déterminer (802) si ledit champ référencé a été projeté; dans le cas o ledit champ référencé n'a pas été projeté (FAUX), effectuer une recherche d'un objet sans classe référencé par ledit élément identifiant (1302) d'objet sans classe d'entrée pour restituer la valeur dudit champ référencé (1304); et dans le cas o ledit champ référencé a été projeté (VRAI) effectuer dans la table (112) d'identifications une recherche basée sur ledit élément identifiant (1302) d'objet sans classe d'entrée pour restituer, pour ledit élément identifiant (1302) d'objet sans classe d'entrée, un élément identifiant (1305) correspondant d'objet à base de classes, effectuer dans la table (111) des procédés de champs une recherche, basée sur ledit élément identifiant (1303) de champ d'entrée, pour déterminer une classe correspondante (1306) et un procédé correspondant (1307) pour restituer un attribut correspondant sur lequel est projeté ledit champ référencé, et effectuer un appel de procédé (1307) sur un objet à base de classes référencé par ledit élément identifiant (1305) d'objet à base de classes, ledit objet référencé à base de classes appartenant à ladite classe correspondante (1306) et présentant ledit attribut correspondant, de manière à restituer la valeur dudit attribut correspondant sur lequel est
projeté ledit champ référencé.
12. Système selon la revendication 1, caractérisé en ce que ledit moyen (123) de réglage de champs inclut un moyen de traitement (1401) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée une valeur de champ d'entrée, un élément identifiant (1402) d'objet sans classe d'entrée, et un élément identifiant (1403) de champ d'entrée pour référencer un champ auquel ladite valeur de champ d'entrée doit être réglée; effectuer dans la table (110) des localisations de champs une recherche pour déterminer (802) si ledit champ référencé a été projeté; dans le cas o ledit champ référencé n'a pas été projeté (FAUX), effectuer une recherche d'un objet sans classe référencé par ledit élément identifiant (1402) d'objet sans classe d'entrée pour régler la valeur (1404) dudit champ référencé; et dans le cas o ledit champ référencé a été projeté (VRAI), effectuer dans la table (112) d'identifications une recherche basée sur ledit élément identifiant (1402) d'objet sans classe d'entrée pour restituer, pour ledit élément identifiant (1402) d'objet sans classe d'entrée, un élément identifiant correspondant (1405) d'objet à base de classes, effectuer dans la table (111) des procédés de champs une recherche basée sur ledit élément identifiant (1403) de champ d'entrée pour déterminer une classe correspondante (1406) et un attribut correspondant sur lequel est projeté ledit champ référencé, et effectuer une recherche sur un objet à base de classes référencé par ledit élément identifiant d'objet (1405) à base de classes, ledit objet référencé à base de classes appartenant à ladite classe correspondante (1406) et présentant ledit attribut correspondant, de manière à régler à la valeur (1404) dudit champ d'entrée la valeur dudit attribut correspondant sur lequel est projeté ledit
-champ d'entrée référencé (220).
13. Système selon la revendication 1, caractérisé en ce que ledit moyen (123) de réglage de champs inclut un moyen de traitement (1401) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée une valeur de champ d'entrée, un élément identifiant (1402) d'objet sans classe d'entrée, et un élément identifiant (1403) de champ d'entrée pour référencer un champ auquel ladite valeur de champ d'entrée doit être réglée; effectuer dans la table (110) des localisations de champs une recherche pour déterminer (802) si ledit champ référencé a été projeté; dans le cas o ledit champ référencé n'a pas été projeté (FAUX), effectuer une recherche d'un objet sans classe référencé par ledit élément identifiant (1402) d'objet sans classe d'entrée pour régler la valeur (1404) dudit champ référencé; et dans le cas o ledit champ référencé a été projeté (VRAI), effectuer dans la table (112) d'identifications une recherche basée sur ledit élément identifiant (1402) d'objet sans classe d'entrée pour restituer, pour ledit élément identifiant (1402) d'objet sans classe d'entrée, un élément identifiant correspondant (1405) d'objet à base de classes, effectuer dans la table (111) des procédés de champs une recherche basée sur ledit élément identifiant (1403) de champ d'entrée pour déterminer une classe correspondante (1406) et un procédé correspondant (1407) afin de restituer la valeur d'un attribut correspondant sur lequel ledit champ référencé est projeté, et effectuer un appel de procédé sur un objet à base -de classes référencé par ledit élément identifiant (1405) d'objet à base de classes, ledit objet à base de classes référencé appartenant à ladite classe correspondante (1406) et présentant ledit attribut correspondant, de façon à régler à la valeur (1404) de champ d'entrée la valeur dudit attribut correspondant
sur lequel est projeté ledit champ référencé.
14. Système selon la revendication 1, caractérisé en ce que ledit moyen (124) de restitution de champs d'objets inclut un moyen de traitement (1501) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant (1502) d'objet sans classe pour référencer un objet sans classe; effectuer une recherche dans la table (113) de
descriptions d'objets de façon à obtenir une liste
(1550) de chaque champ associé audit objet sans classe référencé, chaque champ étant référencé par son élément identifiant (221) correspondant de champ; pour chaque champ de ladite liste (1550), mettre en oeuvre les étapes consistant à: effectuer une recherche dans la table (110) des localisations de champs une recherche pour déterminer (802) si ledit champ référencé a ou non été projeté; et dans le cas o ledit champ référencé n'a pas été projeté (FAUX), restituer la valeur (1503) dudit champ référencé à partir dudit objet sans classe (1502) référencé; et dans le cas o ledit champ référencé a été projeté (VRAI), effectuer une recherche dans la table (111) des procédés de champs pour obtenir une classe correspondante et un attribut correspondant sur lequel est projeté ledit champ référencé, effectuer une recherche dans la table (112) d'identifications pour obtenir un élément identifiant d'objet à base de classes correspondant pour référencer un objet correspondant à base de classes auquel correspond ledit objet référencé sans classe, et effectuer une recherche sur ledit objet correspondant à base de classes, ledit objet référencé à base de classes appartenant à ladite classe correspondante et présentant ledit attribut correspondant, de manière à restituer la valeur dudit attribut correspondant sur lequel est projeté ledit
champ référencé.
15. Système selon la revendication 1, caractérisé en ce que pour chaque champ de ladite liste (1550), mettre en oeuvre les étapes consistant à: effectuer une recherche dans la table (110) des localisations de champs une recherche pour déterminer (802) si ledit champ référencé a ou non été projeté; et dans le cas o ledit champ référencé n'a pas été projeté (FAUX), restituer la valeur (1503) dudit champ référencé à partir dudit objet sans classe (1502) référencé; et dans le cas o ledit champ référencé a été projeté (VRAI), effectuer une recherche dans la table (111) des procédés de champs pour obtenir une classe correspondante et un procédé correspondant pour accéder à l'attribut correspondant sur lequel est projeté ledit champ référencé, effectuer dans la table (112) d'identifications une recherche pour obtenir un élément identifiant d'objet à base de classes correspondant pour référencer un objet à base de classes correspondant auquel correspond ledit objet sans classe référencé, et effectuer un appel de procédé sur ledit objet à base de classes correspondant, ledit objet à base de classes correspondant appartenant à ladite classe correspondante et présentant ledit attribut correspondant, de manière à restituer la valeur dudit attribut correspondant sur lequel est projeté ledit
champ référencé.
16. Système selon la revendication 1, caractérisé en ce que ledit moyen (124) de restitution de champs d'objets inclut un moyen de traitement destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant d'objet (1502) sans classe pour référencer un objet sans classe;
effectuer dans la table (113) de descriptions
d'objets une recherche pour obtenir une liste de chaque champ associé audit objet sans classe référencé, chaque champ étant référencé par son élément identifiant de champ correspondant; pour chaque champ de ladite liste, utiliser le moyen (122) de restitution de champs pour restituer la valeur de chaque champ associé audit objet sans classe
référencé et contenu dans ladite liste (1550).
17. Système selon la revendication 1, caractérisé en ce que ledit moyen (120) de création d'objets mandataires inclut un moyen de traitement (1601) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant (1602) d'objet à base de classes d'entrée pour référencer un objet à base de classes, une classe (1603) d'entrée à laquelle appartient ledit objet à base de classes référencé, et une liste 1604) de chaque champ associé audit objet à base de classes référencé; créer un nouvel élément identifiant (1605) d'objet sans classe à utiliser par des applications (103) basées sur ledit modèle (300) d'objets sans classe; et ajouter une rubrique dans la table (112) d'identifications, ladite rubrique comprenant le nouvel élément identifiant (1605) d'objet sans classe nouvellement créé, ledit élément identifiant (1602) d'objet à base de classes d'entrée, et ladite classe (103) d'entrée; et ajouter une rubrique dans la table (113) de
descriptions d'objets, ladite rubrique comprenant
ledit élément identifiant (1605) d'objet sans classe nouvellement créé, et ladite liste (1604 de champs d'entrée.
18. Système selon la revendication 1, caractérisé en ce que ledit moyen (125) d'élimination d'objets mandataires inclut un moyen de traitement (1701) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant (1702) d'objet à base de classes; enlever de ladite table (112) d'identifications toutes les rubriques référencées par ledit élément identifiant (1702) d'objet à base de classes d'entrée;
enlever de la table (113) de descriptions
d'objets toutes les rubriques référencées par ledit élément identifiant (1702) d'objet à base de classes d'entrée.
19. Système selon la revendication 1, caractérisé en ce que ledit moyen (126) de localisation d'objets inclut un moyen de traitement (1801) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant (1802) de champ d'entrée pour référencer une entrée et une valeur de champ d'entrée; exécuter dans la table (110) des localisations de champs une recherche (1810) pour déterminer si ledit champ référencé a été projeté; et dans le cas o ledit champ référencé n'a pas été projeté (FAUX) trier (1830) une base de données d'objets sans classe comprenant une série d'objets sans classe (205) afin de localiser chaque objet sans classe (205) qui appartient audit champ référencé; comparer à ladite valeur de champ d'entrée la valeur dudit champ référencé dudit objet sans classe (205) possédant ledit champ (220); restituer et renvoyer l'élément identifiant (205) d'objet sans classe qui référence ledit objet sans classe possédant le champ o ladite valeur dudit champ référencé égale la valeur (1803) de champ d'entrée; et dans le cas o ledit champ référencé a été projeté effectuer dans la table (111) de procédés de champs une recherche basée sur ledit élément identifiant (1802) de champ d'entrée afin de déterminer une classe correspondante (315) et un attribut (320) correspondant sur lequel est projeté ledit champ référencé, effectuer dans la table (112) d'identifications une recherche basée sur ladite classe correspondante (315) pour restituer une liste d'éléments de classe qui comprend une série d'éléments identifiants (1802) d'objets à base de classes et référencer chaque objet à base de classes qui appartient à ladite classe (315) correspondante, pour chaque élément identifiant de ladite série d'éléments identifiants (1802) d'objets à base de classes contenus dans ladite liste d'éléments de classe, effectuer une recherche sur son objet (305) à base de classes correspondant afin de restituer la valeur dudit attribut correspondant (320) sur lequel est projeté ledit champ de référence, comparer à ladite valeur (1803) de champ d'entrée la valeur dudit attribut correspondant, et créer une liste d'éléments identifiants d'objets à base de classes de tous les éléments identifiants (1802) d'objets à base de classes présentant une valeur d'attribut correspondante égale à la valeur de champ d'entrée, ledit champ de référence étant projeté sur ledit attribut; et effectuer dans la table (112) d'identifications une recherches pour restituer et renvoyer un élément identifiant d'objet (1802) sans classe pour chaque élément identifiant à base de classes contenu dans ladite liste d'éléments identifiants à base de
classes.
20. Système selon la revendication 1, caractérisé en ce que ledit moyen (126) de localisation d'objets inclut un moyen de traitement (1801) destiné à mettre en oeuvre les étapes consistant à: accepter comme entrée un élément identifiant (1802) de champ d'entrée pour référencer une entrée et une valeur de champ d'entrée; exécuter dans la table (110) des localisations de champs une recherche (1810) pour déterminer si ledit champ référencé a été projeté; et dans le cas o ledit champ référencé n'a pas été projeté (FAUX) trier (1830) une base de données d'objets sans -classe comprenant une série d'objets sans classe (205) afin de localiser chaque objet sans classe (205) qui appartient audit champ référencé; comparer à ladite valeur de champ d'entrée la valeur dudit champ référencé dudit objet sans classe (205) possédant ledit champ (220); restituer et renvoyer l'élément identifiant (205) d'objet sans classe qui référence ledit objet sans classe possédant le champ o ladite valeur dudit champ référencé égale la valeur (1803) de champ d'entrée; et dans le cas o ledit champ référencé a été projeté effectuer dans la table (111) de procédés de champs une recherche basée sur ledit élément identifiant (1802) de champ d'entrée afin de déterminer une classe correspondante (315) et un attribut (320) correspondant sur lequel est projeté ledit champ référencé, effectuer dans la table (112) d'identifications une recherche basée sur ladite classe correspondante (315) pour restituer une liste d'éléments de classe qui comprend une série d'éléments identifiants (1802) d'objets à base de classes et référencer chaque objet à base de classes qui appartient à ladite classe (315) correspondante, pour chaque élément identifiant de ladite série d'éléments identifiants (1802) d'objets à base de classes contenus dans ladite liste d'éléments de classe, effectuer un appel de procédés sur son objet à base de classes correspondant pour restituer la valeur dudit attribut correspondant sur lequel est projeté le dit champ référencé (220), comparer à ladite valeur de champ d'entrée la valeur dudit attribut correspondant, et créer une liste d'éléments identifiants (1802) d'objets à base de classes de tous les éléments identifiants d'objets à base de classes présentant une valeur d'attribut correspondante égale à la valeur de champ d'entrée, ladite liste de référence étant projetée sur ledit attribut; et effectuer dans la table (112) d'identifications une recherche afin de restituer et de renvoyer un élément identifiant (210) d'objet sans classe pour chaque élément identifiant (1802) à base de classes contenu dans ladite liste d'éléments identifiants à
base de classes.
21. Système selon la revendication 1, caractérisé en ce qu'il comprend en outre un moyen de transfert (1901) pour transférer des objets sans classe basés sur ledit modèle d'objets sans classe en objets à base de classes basés sur
ledit modèle d'objets à base de classes.
22. Système selon la revendication 21, dans lequel ledit moyen de transfert (1901) accepte comme entrée un fichier (1902) de projection d'entrée comprenant une série de rubriques, chaque rubrique comprenant un élément identifiant de champ pour référencer un champ et une classe correspondant et un attribut correspondant sur lequel ledit champ est projeté, et ledit moyen de transfert (1901) accepte aussi comme entrée une série d'objets sans classe (1903) possédée par une application en cours de transfert, chaque objet de ladite série d'objets sans classe possédés comprenant un élément identifiant d'objet et une série de champs présentant des valeurs de champs et référencés par des éléments identifiants de champs, caractérisé en ce que ledit moyen de transfert (1901) traite un à la fois un objet unique sans classe de ladite série d'objets sans classe (1903) d'entrée par référence à son élément identifiant d'objet sans classe, et met en oeuvre, pour chaque champ possédé par ledit élément d'objet unique sans classe et présentant son élément identifiant correspondant de champ contenu dans ledit fichier (1902) de projection d'entrée, les étapes consistant à: ajouter une rubrique à une table (110) des localisations de champs, ladite rubrique de la table des localisations de champs comprenant l'élément identifiant (221) de champ référençant ledit champ possédé et une désignation (802) qui indique que ledit champ a été projeté; ajouter une rubrique à ladite table (111) de procédés de champs, ladite rubrique de table de procédés de champs comprenant l'élément identifiant (221) de champ pour référencer ledit champ possédé, et la classe et l'attribut contenus dans le fichier de projection d'entrée sur lequel ledit champ possédé est projeté; créer un nouvel élément identifiant (310) d'objet à base de classes; ajouter unerubrique à la table (112) d'identifications, ladite rubrique de table d'identifications comprenant l'élément identifiant (310) d'objet sans classe référençant ledit objet unique (305) sans classe, la classe (315) contenue dans le fichier de projection d'entrée sur lequel le champ possédé est projeté, et l'élément identifiant d'objet à base de classes nouvellement créé; engendrer un nouvel objet (305) à base de classes, correspondant à l'élément identifiant (310) d'objet à base de classes nouvellement créé, en réglant à la valeur du champ possédé l'attribut sur lequel le champ possédé est projeté; et restaurer la valeur du champ possédé de l'objet
-unique sans classe (114).
23. Système selon la revendication 21, dans lequel ledit moyen de transfert (1901) accepte comme entrée un fichier (1902) de projection d'entrée comprenant une série de rubriques, chaque rubrique comprenant un élément identifiant de champ pour référencer un champ et une classe correspondante, un attribut et un procédé correspondants pour accéder audit attribut sur lequel ledit champ est projeté, et ledit moyen de transfert (1901) accepte aussi comme entrée une série d'objets sans classe (1903) possédée par une application en cours de transfert, chaque objet de ladite série d'objets sans classe possédés comprenant un élément identifiant d'objet et une série de champs présentant des valeurs de champs et référencés par des éléments identifiants de champs, caractérisé en ce que ledit moyen de transfert (1901) traite un à la fois un objet unique sans classe de ladite série d'objets sans classe (1903) d'entrée par référence à son élément identifiant d'objet sans classe, et met en oeuvre, pour chaque champ possédé par ledit élément d'objet unique sans classe et présentant son élément identifiant correspondant de champ contenu dans ledit fichier (1902) de projection d'entrée, les étapes consistant à: ajouter une rubrique à une table (110) des localisations de champs, ladite rubrique de la table des localisations de champs comprenant l'élément identifiant (221) de champ référençant ledit champ possédé et une désignation (802) qui indique que ledit champ a été projeté; ajouter une rubrique à ladite table (111) de procédés de champs, ladite rubrique de table de procédés de champs comprenant l'élément identifiant -(221) de champ pour référencer ledit champ possédé, et la classe et le procédé d'accès à l'attribut sur lequel ledit champ possédé est projeté; créer un nouvel élément identifiant (310) d'objet à base de classes; ajouter une rubrique à la table (112) d'identifications, ladite rubrique de table d'identifications comprenant l'élément identifiant (210) d'objet sans classe qui référence ledit objet unique sans classe (205), la classe (315) contenue dans le fichier de projection d'entrée sur laquelle le champ possédé est projeté, et l'élément identifiant d'objet à base de classes nouvellement créé; engendrer un nouvel objet (305) à base de classes, correspondant à l'élément identifiant (310) d'objet à base de classes nouvellement créé, en réglant à la valeur du champ possédé l'attribut sur lequel le champ possédé est projeté; et restaurer la valeur du champ possédé de l'objet
unique sans classe (114).
24. Système de transfert d'objets destiné à transférer des données et des applications à partir d'un plate-forme (101) à modèle (200) d'objets sans classe vers une plate-forme (105) à modèle (300) d'objets à base de classes, dans lequel un objet sans classe (205) basé sur ledit modèle (200) d'objets sans classe comprend au moins un élément identifiant (210) d'objet sans classe et une série de champs (220) présentant des valeurs de champs, et un objet à base de classes (305) basé sur ledit modèle (300) d'objets à base de classes comprend un élément identifiant 310) d'objet à base de classes, une série d'attributs (320) et une série de procédés (330) selon une classe définie, caractérisé en ce que ledit système de transfert - d'objets comprend: une table (110) des localisations de champs (220) pour mémoriser une désignation de projection (802) destinée à indiquer si un champ (220) d'un objet (205) sans classe a été projeté sur un attribut (320) d'un objet (305) à base de classes; une table (111) de procédés de champs pour mémoriser des projections de champs (220) tant sur leurs classes (315) que sur leurs procédés (330) d'accès à leurs attributs correspondants (320); une table (112) d'identifications pour mémoriser des projections entre un élément identifiant (210) d'objet sans classe (205) et sa classe (315) et son élément identifiant d'objet à base de classes correspondants;
une table (113) de descriptions d'objets pour
mémoriser des projections entre un élément identifiant (210) d'objet sans classe (205) et chacun des champs (220) de ladite série de champs associés audit élément identifiant (210) diobjet sans classe (205); et un moyen de transfert (1901) pour transférer des objets sans classe (205) basés sur ledit modèle (200) d'objets sans classe en objets à base de classes (305) basés sur ledit modèle (300) d'objets à base de classes, et pour mettre à jour ladite table (110) des localisations de champs, ladite table (111) de procédés de champs et ladite table (112) d'identifications pour permettre à des applications non transférées (103) basées sur le modèle (200) d'objets sans classe d'accéder auxdits objets sans
classe transférés.
25. Système selon la revendication 24, dans lequel ledit moyen de transfert accepte comme entrée un fichier (1902) de projection d'entrée comprenant une série de rubriques, chaque rubrique comprenant un -élément identifiant de champ pour référencer un champ ainsi qu'une classe, un attribut et un procédé correspondants pour accéder audit attribut sur lequel ledit champ est projeté, et ledit moyen de transfert (1901) accepte aussi comme entrée une série d'objets sans classe (1903) possédés par une application en cours de transfert, chacun des objets de ladite série d'objets sans classe comprenant un élément identifiant d'objet sans classe et une série de champs présentant des valeurs de champs et référencés par des éléments identifiants de champs, caractérisé en ce que ledit moyen de transfert (1901) traite un à la fois un objet unique sans classe de ladite série d'objets sans classe (1903) d'entrée par référence à son élément identifiant d'objet sans classe, et met en oeuvre, pour chaque champ possédé par ledit objet unique sans classe et présentant son élément identifiant de champ correspondant contenu dans ledit fichier (1902) de projection d'entrée, les étapes consistant à: ajouter une rubrique à la table (110) de localisations de champs, ladite rubrique de table de localisations de champs comprenant l'élément identifiant (221) de champ référençant ledit champ possédé et une désignation (802) qui indique que ledit champ a été projeté; ajouter une rubrique à la table (111) de procédés de champs, ladite rubrique de table de procédés de champs comprenant l'élément identifiant (221) de champ pour référencer ledit champ possédé, et la classe et le procédé d'accès à l'attribut sur lequel ledit champ possédé est projeté; créer un nouvel élément identifiant (310) d'objet -à base de classes; ajouter une rubrique à la table (112) d'identifications, ladite rubrique de table d'identifications comprenant l'élément identifiant (210) d'objet sans classe qui référence ledit objet unique sans classe (205), la classe (315) contenue dans le fichier de projection d'entrée sur laquelle le nouveau champ est projeté, et l'élément identifiant d'objet à base de classes nouvellement créé; engendrer un nouvel objet (305) à base de classes, correspondant à l'élément identifiant (310) d'objet à base de classes nouvellement créé, en réglant à la valeur du champ possédé l'attribut sur lequel le champ possédé est projeté; et restaurer la valeur du champ possédé de l'objet
unique sans classe (114).
FR9605231A 1995-09-13 1996-04-25 Procede de conversion d'objets d'un espace plat a un espace structure en classes Expired - Fee Related FR2738649B1 (fr)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US08/527,644 US5732257A (en) 1995-09-13 1995-09-13 Object conversion method from a flat object space to a class structured space

Publications (2)

Publication Number Publication Date
FR2738649A1 true FR2738649A1 (fr) 1997-03-14
FR2738649B1 FR2738649B1 (fr) 1999-03-19

Family

ID=24102343

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9605231A Expired - Fee Related FR2738649B1 (fr) 1995-09-13 1996-04-25 Procede de conversion d'objets d'un espace plat a un espace structure en classes

Country Status (4)

Country Link
US (1) US5732257A (fr)
JP (1) JPH09179733A (fr)
DE (1) DE19617381C2 (fr)
FR (1) FR2738649B1 (fr)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754854A (en) * 1994-11-14 1998-05-19 Microsoft Corporation Method and system for providing a group of parallel resources as a proxy for a single shared resource
US6006230A (en) * 1997-01-15 1999-12-21 Sybase, Inc. Database application development system with improved methods for distributing and executing objects across multiple tiers
AUPO489297A0 (en) * 1997-01-31 1997-02-27 Aunty Abha's Electronic Publishing Pty Ltd A system for electronic publishing
US7293228B1 (en) * 1997-01-31 2007-11-06 Timebase Pty Limited Maltweb multi-axis viewing interface and higher level scoping
US5924100A (en) * 1997-05-06 1999-07-13 International Business Machines Corp. Flexible object representation of relational database cells having nontraditional datatypes
US6298389B1 (en) * 1997-06-20 2001-10-02 Compaq Computers, Inc. Method for input and output of structures for the Java language
US5974256A (en) * 1997-09-29 1999-10-26 International Business Machines Corporation Method for translating graphical user interface (GUI) resource data into native java code
US6374256B1 (en) * 1997-12-22 2002-04-16 Sun Microsystems, Inc. Method and apparatus for creating indexes in a relational database corresponding to classes in an object-oriented application
US6268850B1 (en) 1997-12-22 2001-07-31 Sun Microsystems, Inc. User interface for the specification of lock groups
US6360223B1 (en) 1997-12-22 2002-03-19 Sun Microsystems, Inc. Rule-based approach to object-relational mapping strategies
US6175837B1 (en) 1998-06-29 2001-01-16 Sun Microsystems, Inc. Object-relational mapping toll that processes views
US6385618B1 (en) 1997-12-22 2002-05-07 Sun Microsystems, Inc. Integrating both modifications to an object model and modifications to a database into source code by an object-relational mapping tool
US6192373B1 (en) * 1998-05-15 2001-02-20 International Business Machines Corp. Managing directory listings in a relational database
US6742175B1 (en) 1998-10-13 2004-05-25 Codagen Technologies Corp. Component-based source code generator
EP1024665A1 (fr) * 1999-01-28 2000-08-02 Sony Service Center (Europe) N.V. Création de classe d'un disque
US7213061B1 (en) * 1999-04-29 2007-05-01 Amx Llc Internet control system and method
AU4814200A (en) * 1999-04-29 2000-11-17 Joseph S. Carver Jr. Dynamic messaging system and method
US6657646B2 (en) 1999-06-08 2003-12-02 Amx Corporation System and method for multimedia display
US6560614B1 (en) * 1999-11-12 2003-05-06 Xosoft Inc. Nonintrusive update of files
US6591275B1 (en) * 2000-06-02 2003-07-08 Sun Microsystems, Inc. Object-relational mapping for tables without primary keys
US6591276B1 (en) 2000-07-21 2003-07-08 International Business Machines Corporation Method and system for managing object types for objects defined externally to the system
US6898783B1 (en) * 2000-08-03 2005-05-24 International Business Machines Corporation Object oriented based methodology for modeling business functionality for enabling implementation in a web based environment
US7171455B1 (en) 2000-08-22 2007-01-30 International Business Machines Corporation Object oriented based, business class methodology for generating quasi-static web pages at periodic intervals
US6684388B1 (en) 2000-08-22 2004-01-27 International Business Machines Corporation Method for generating platform independent, language specific computer code
US6853994B1 (en) * 2000-08-30 2005-02-08 International Business Machines Corporation Object oriented based, business class methodology for performing data metric analysis
US20030041305A1 (en) * 2001-07-18 2003-02-27 Christoph Schnelle Resilient data links
US7363310B2 (en) 2001-09-04 2008-04-22 Timebase Pty Limited Mapping of data from XML to SQL
US6920444B2 (en) * 2001-09-26 2005-07-19 Sun Microsystems, Inc. Accessing relational database using an object-oriented language
US7281206B2 (en) 2001-11-16 2007-10-09 Timebase Pty Limited Maintenance of a markup language document in a database
US6996589B1 (en) 2002-01-16 2006-02-07 Convergys Cmg Utah, Inc. System and method for database conversion
US7788346B2 (en) * 2002-03-01 2010-08-31 Oracle America, Inc. System and method for state data back-up in a distributed data system
US20030184581A1 (en) * 2002-04-02 2003-10-02 Bawa Satvinder Singh Application level integration in support of a distributed network management and service provisioning solution
US7158995B2 (en) * 2002-05-08 2007-01-02 Oracle International Corporation Method for managing pointers to external objects in a run-time environment
US20040010498A1 (en) * 2002-07-10 2004-01-15 Lin Tser Yeng Object persistence to relational database within run-time environment supporting attributes and reflection
US7224366B2 (en) * 2002-10-17 2007-05-29 Amx, Llc Method and system for control system software
JP2005018425A (ja) * 2003-06-26 2005-01-20 Matsushita Electric Ind Co Ltd プログラム変換方法、プログラムおよび記憶媒体
DE10348665B4 (de) * 2003-10-15 2006-05-18 Sap Ag Computergestütztes Datenbanksystem und Verfahren zum Betrieb hiervon
US7543019B1 (en) * 2004-03-31 2009-06-02 Emc Corporation Methods and apparatus providing backward compatibility for applications that access a changing object model
US20070211691A1 (en) * 2004-09-09 2007-09-13 Barber Ronald W Method, system and computer program using standard interfaces for independent device controllers
US20060067341A1 (en) * 2004-09-09 2006-03-30 Barber Ronald W Method, system and computer program using standard interfaces for independent device controllers
US7437080B2 (en) * 2005-02-03 2008-10-14 Stratalight Communications, Inc. Optical transmission system having optimized filter wavelength offsets
US20060282460A1 (en) * 2005-06-09 2006-12-14 International Business Machines Corporation Method and system for generic data objects
CA2621713C (fr) 2005-09-07 2016-01-26 Amx Llc Procede et programme informatique destines a la configuration d'un dispositif
CN105446991B (zh) * 2014-07-07 2018-10-30 阿里巴巴集团控股有限公司 数据存储方法、查询方法及设备
US10223442B2 (en) 2015-04-09 2019-03-05 Qualtrics, Llc Prioritizing survey text responses
US10339160B2 (en) 2015-10-29 2019-07-02 Qualtrics, Llc Organizing survey text responses
US10600097B2 (en) * 2016-06-30 2020-03-24 Qualtrics, Llc Distributing action items and action item reminders
US10908886B2 (en) * 2016-07-12 2021-02-02 Oracle International Corporation Accessing a migrated member in an updated type
US11645317B2 (en) 2016-07-26 2023-05-09 Qualtrics, Llc Recommending topic clusters for unstructured text documents
US10437564B1 (en) 2016-09-16 2019-10-08 Software Tree, LLC Object mapping and conversion system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992003790A1 (fr) * 1990-08-28 1992-03-05 Teknekron Communications Systems, Inc. Procede permettant de generer une base de donnees et d'acceder a une base de donnees independamment de sa structure et de sa syntaxe
EP0504085A1 (fr) * 1991-03-12 1992-09-16 International Business Machines Corporation Procédé et dispositif d'accès à une base de données relationnelles sans devoir quitter un environnement orienté sur l'objet
EP0529844A2 (fr) * 1991-08-28 1993-03-03 Sun Microsystems, Inc. Procédé et dispositif pour dériver le type d'un objet et obtenir des valeurs d'attribut de ce type
WO1995003586A1 (fr) * 1993-07-21 1995-02-02 Persistence Software, Inc. Procede et appareil de generation du code de mise en correspondance de donnees relationnelles avec des objets

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4930071A (en) * 1987-06-19 1990-05-29 Intellicorp, Inc. Method for integrating a knowledge-based system with an arbitrary database system
US5261080A (en) * 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
US5206951A (en) * 1987-08-21 1993-04-27 Wang Laboratories, Inc. Integration of data between typed objects by mutual, direct invocation between object managers corresponding to object types
US5297279A (en) * 1990-05-30 1994-03-22 Texas Instruments Incorporated System and method for database management supporting object-oriented programming
US5291583A (en) * 1990-12-14 1994-03-01 Racal-Datacom, Inc. Automatic storage of persistent ASN.1 objects in a relational schema
US5295256A (en) * 1990-12-14 1994-03-15 Racal-Datacom, Inc. Automatic storage of persistent objects in a relational schema
US5263167A (en) * 1991-11-22 1993-11-16 International Business Machines Corporation User interface for a relational database using a task object for defining search queries in response to a profile object which describes user proficiency
US5377350A (en) * 1993-04-30 1994-12-27 International Business Machines Corporation System for cooperative communication between local object managers to provide verification for the performance of remote calls by object messages
WO1995004960A2 (fr) * 1993-08-02 1995-02-16 Persistence Software, Inc. Procede et dispositif permettant de gerer des donnees relationnelles dans une antememoire d'objets
US5548749A (en) * 1993-10-29 1996-08-20 Wall Data Incorporated Semantic orbject modeling system for creating relational database schemas

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1992003790A1 (fr) * 1990-08-28 1992-03-05 Teknekron Communications Systems, Inc. Procede permettant de generer une base de donnees et d'acceder a une base de donnees independamment de sa structure et de sa syntaxe
EP0504085A1 (fr) * 1991-03-12 1992-09-16 International Business Machines Corporation Procédé et dispositif d'accès à une base de données relationnelles sans devoir quitter un environnement orienté sur l'objet
EP0529844A2 (fr) * 1991-08-28 1993-03-03 Sun Microsystems, Inc. Procédé et dispositif pour dériver le type d'un objet et obtenir des valeurs d'attribut de ce type
WO1995003586A1 (fr) * 1993-07-21 1995-02-02 Persistence Software, Inc. Procede et appareil de generation du code de mise en correspondance de donnees relationnelles avec des objets

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CHANDRASHEKAR RAMANATHAN: "PROVIDING OBJECT-ORIENTED ACCESS TO A RELATIONAL DATABASE", PROCEEDINGS 32ND ANNUAL SOUTHEAST CONFERENCE, 17 March 1994 (1994-03-17), pages 162 - 165, XP000534150 *
RAFIUL AHAD ET AL: "HP OPENODB: AN OBJECT-ORIENTED DATABASE MANAGEMENT SYSTEM FOR COMMERCIAL APPLICATIONS", HEWLETT-PACKARD JOURNAL, vol. 44, no. 3, 1 June 1993 (1993-06-01), pages 20 - 30, XP000303911 *

Also Published As

Publication number Publication date
FR2738649B1 (fr) 1999-03-19
DE19617381C2 (de) 1998-10-22
DE19617381A1 (de) 1997-03-20
JPH09179733A (ja) 1997-07-11
US5732257A (en) 1998-03-24

Similar Documents

Publication Publication Date Title
FR2738649A1 (fr) Procede de conversion d'objets d'un espace plat a un espace structure en classes
US6035297A (en) Data management system for concurrent engineering
US5920867A (en) Data management system having data management configuration
EP0793171B1 (fr) Système de configuration de logiciels préconfigurés sur des systèmes ouverts en réseau dans un environnement distribué et procédé mis en oeuvre par un tel système
US7814459B2 (en) System and method for automated on demand replication setup
EP1515239A1 (fr) Procédé et systéme de manipulation de données issues de bases de données multidimensionnelles à l'aide d'un tableur
US9286297B1 (en) System and method for flexible path handling
WO2015085435A1 (fr) Méthode et système de comparaison de modèles 3d
JP2004362595A (ja) データベースオブジェクトスクリプト生成方法およびシステム
KR100538371B1 (ko) 분산데이터처리환경에 레거시 어플리케이션을 통합시키기위한 방법 및 시스템
EP0532382B1 (fr) Procédé de gestion d'objets structurés
FR2951295A1 (fr) Procede pour le remplacement d'un contenu visuel prenant en consideration des exigences de cout, droit d'auteur et confidentialite
WO2003081467A2 (fr) Processus de collaboration
Chen et al. A cross-platform metaverse data management system
FR2931274A1 (fr) Procede de gestion de donnees pour atelier oriente service collaboratif
US7945532B2 (en) System, and program product for rebasing an application
US6516325B1 (en) Virtual partition vector for a computer directory system
US7818713B2 (en) Method, system and program product for generating requirement relationships for designing a solution
EP2281271A1 (fr) Procede de gestion de processus dans un atelier oriente service collaboratif
FR3050848A1 (fr) Architecture de serveurs et methode de redistribution des donnees pour la distribution d'un graphe versionne.
WO2014118660A1 (fr) Développement logiciel orienté objet
CN114489720B (zh) 一种基于集群部署服务的方法、装置、存储介质及设备
FR2880450A1 (fr) Procede d'affectation de ressources
US20050267909A1 (en) Storing multipart XML documents
KR100490750B1 (ko) Ejb 영속 상태 객체로 표현된 데이터베이스 엔터티들의자동화된 상호관계 관리 방법

Legal Events

Date Code Title Description
TP Transmission of property
ST Notification of lapse

Effective date: 20081231