tsp-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tsp-devel] XML, Database et Browse : proposi tion à TSP


From: PAGNOT, Robert
Subject: [Tsp-devel] XML, Database et Browse : proposi tion à TSP
Date: Wed, 9 Aug 2006 16:17:07 +0200

Bonjour à vous,

En discutant avec Duf sur mes dernières élocubrations, il nous a semblé intéressant de (peut-être) intégrer mes outils XML & Database dans jTSP.

Qu'est-ce ?

        Deux packages JAVA (5.0 !) permettant de renseigner des arbos XML (en JDOM) à partir de n'importe quel type d'accès BD

        A venir : un package IHM permettant de "browser" ces arbos XML de façon judicieuse, sous forme d'arbre, listes, ...

Que n'est-ce ?

        Un n-ième TSP consumer affichant des données en temps réel (synoptique) ...

Comment que c'est fait ?

        Package XML : dérivation des classes JDOM (Element & Document) pour ajouter des notions de
                Paramètre = Element XML avec attribut type='string|integer|real|text|enum|array|matrix|color|...'
                                + un tas d'autres attributs (min, max, format d'affichage, unité, "editabilité", ...)
                                Vu du code, tous les paramètres sont traités en Système International.
                Objet = Element XML avec son propre Namespace (dont l'URI pointe sur la source) et un tas de paramètres XML comme descendants. Il n'y a aucune restriction sur la façon dont sont organisés les descendants. Tous les descendants qui appartiennent au Namespace de l'objet proviennent (et peuvent y retourner) de la source décrite par l'URI.

                La classe ne fournit que des méthodes de get/set sur les valeurs des paramètres et des méthodes sympatiques de navigation à l'intérieur de ce type d'arbo.

        Package XDB : classe d'interface permettant de traiter les URIs des objets XML : open/lookup/load/save
                Pour l'instant, ne gère que des schema JDBC (via SQL donc), mais on peut envisager d'autres schema (file, ftp, ....)

                Tout paramètre de type='array' dans un objet XML est susceptible de router vers d'autres objets XML : cela permet de faire du relationnel sans avoir des BDs relationnelles ! Chaque instance d'un objet XML a une URI unique.

                Les BDs ne stockent que des VALEURS, toute autre information (structure, attributs, ...) est contenue dans des templates que l'on pourrait charger au démarrage. Chaque objet XML a suffisamment d'information pour pointer le template qui lui est associé.

        Package XVW : à venir, dérivation des classes JTree, JTabbedPane & JTable pour afficher/éditer les paramètres d'un objet.

                Tous les objets XML qui contiennent un attribut icon='qq chose' apparaissent dans la JTree (mais pas les niveaux intermédiaires !)

                Pour chaque objet XML, tous les descendants de type='tab' ouvrent un "onglet" (JTabbedPane). Dans chaque "onglet", on affiche (JTable) tous les paramètres qui en découlent (qu'ils soient ou pas dans le Namespace de l'objet XML). D'ailleurs, les Elements de type='tab' ne sont jamais dans ce Namespace.

                Les paramètres "éditables" peuvent l'être (!) et le XML contient toutes les infos pour l'éditer (type, bornes, incrément pour slider, format, unité, ...)


Comment que ça marche ?

        Au départ, on ne connaît que l'URI d'une racine quelconque. On ouvre la connection à cette source de données, puis lookup et load sur la racine => arbre XML "tronqué" à un certain niveau (eh oui, on ne charge pas tout, mais simplement une "structure creuse" des données.

Voila un petit exemple que j'utilise : j'ai une BD avec des FOLDERs (URI racine = SCHEME://AUTHORITY/STARTUP_PATH),
Chaque FOLDER peut contenir d'autres FOLDERs ou des REQUESTs.
Les REQUESTs sont toutes stockées dans la même table BD, mais j'ai 2 types de vue dessus (template TARGET & POLYGON).
Chaque REQUEST contient des STRIPS, et éventuellement des VERTEX.
Chaque STRIP contient des VERTEX, ...
<<xdbo.xml>>

        L'arbre chargé "from scratch" peut être affiché avec XVW. L'utilisateur peut alors demander à continuer le chargement "par branche", modifier les données (s'il en a le droit) et faire des sauvegardes. L'interaction sera du type JTree et JTable.

Quel interêt pour TSP ?

        En faire un outil de découverte de providers TSP : le provider retourne l'URI de la racine, puis on la charge, on l'affiche et on peut faire du drag&drop pour TARGA et autres TSP consumers. Les objets XML permettent de regrouper les paramètres par catégorie (et même par sous-catégorie en utilisant les onglets). La structure

        Many more things !

Choses bizarres que l'on peut faire avec :
        Avoir dans l'arbre des paramètres statiques (genre meta-donnée) ou "transient" (genre des trucs qui "vivent" dans l'objet mais qui ne sont pas en BD.

        Mélanger dans l'arbre XML des objets qui viennent de sources de données différentes
        Masquer à l'utilisateur des paramètres dont seul le code a besoin (genre ID pour TSP ...).


Alors, tous ceux qui :
        ont compris et sont interessés,
        n'ont rien compris (et c'est normal, c'est du PAGNOT !), mais veulent comprendre, ou
        ont compris et trouvent que c'est débile ...
                ... merci de me contacter après les vacances !!!!


Votre jServiteur

        Java-ô-Bob

       

---------------------------------------------------------

CE COURRIER ELECTRONIQUE EST A USAGE STRICTEMENT INFORMATIF ET NE SAURAIT ENGAGER DE QUELQUE MANIERE QUE CE SOIT EADS ASTRIUM SAS, NI SES FILIALES.

SI UNE ERREUR DE TRANSMISSION OU UNE ADRESSE ERRONEE A MAL DIRIGE CE COURRIER, MERCI D'EN INFORMER L'EXPEDITEUR EN LUI FAISANT UNE REPONSE PAR COURRIER ELECTRONIQUE DES RECEPTION. SI VOUS N'ETES PAS LE DESTINATAIRE DE CE COURRIER, VOUS NE DEVEZ PAS L'UTILISER, LE CONSERVER, EN FAIRE ETAT, LE DISTRIBUER, LE COPIER, L'IMPRIMER OU EN REVELER LE CONTENU A UNE TIERCE PARTIE.



This email is for information only and will not bind EADS Astrium SAS in any contract or obligation, nor its subsidiaries.

If you have received it in error, please notify the sender by return email. If you are not the addressee of this email, you must not use, keep, disseminate, copy, print or otherwise deal with it.

---------------------------------------------------------

Attachment: xdbo.xml
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]