analysesi team mailing list archive
-
analysesi team
-
Mailing list archive
-
Message #00012
Re: Nouvelle branche "Hibiscus"
Le jeudi 16 avril 2009 à 16:08 +0200, Benjamin Gandon a écrit :
> C'est bon, je m'en suis sorti avec Maven, j'ai pu tester l'appli !
> Je vois qu'il y reste un peu de boulot sur l'interface... mais c'est
> bien. Vraiment bien.
s/un peu/énormément/ig ;)
>
> Pour les types des champs (MCD), je vois que l'interface propose les
> types du dialecte SQL final. Du coup, on doit choisir le "dialecte"
> SQL dès la création du modèle et on ne peut plus revenir sur ce choix.
Effectivement, après réflexion par rapport aux erreurs de la 0.6.x, je
voulais pouvoir utiliser plusieurs dialectes SQL différents et pour le
moment, le choix se fait au départ et ne plus être changé. Il faut dire
que j'aimerai bien ajouté l'ingénierie inversé (j'ai déjà fait quelques
développement la dessus) et pour cette fonctionnalité, le SGBG compte
énormément : on ne peux pas faire de l'ingénierie inversé sur du MySQL
et migrer facilement vers du PostgreSQL. Il faudrait peut-être ajouter
un fonctionnalité qui permet de passer d'un model pour un SGBD
spécifique au model SGBD générique. Solution à étudier
>
> Au niveau MCD je pensais plutôt judicieux d'utiliser des types plus...
> "conceptuels". Ces types seraient indépendants du dialecte SQL choisi
> pour le MPD. Ces types "conceptuels" seraient donc convertis (genre,
> une table de conversion) en types SQL, mais tout à la fin. Lors de la
> conversion MLD->MPD. On aurait donc une table de conversion pour
> chaque dialecte SQL. Pour faire simple au début, on prendrait les
> types mysql, mais au moins le mécanisme interne serait déjà là pour le
> futur. Cette manière de faire serait plus pérenne : elle permettrait
> d'utiliser un même modèle pour générer au choix, une base mysql ou
> postgresql. Avais-tu toi aussi pensé à ça ?
J'y ai effectivement pensé mais c'est gênant pour ceux qui veuille
utiliser un SGBD spécifique et utilisant tous les types de données. En
utilisant un model générique que l'on convertirait in fine en model SGBD
spécifique, on se restreint aux types données en communs à moins
d'ajouter une phase de conversion des types de données génériques au
types de données spécifique où l'utilisateur devra lui-même faire des
choix de conversion.
A chaud, je dirais qu'il faudrait développer des outils de migrations
model pour un SGBD spécifique <-> model pour le SGBD générique mais je
ne sais pas vraiment comment mettre ça en place, ça risque d'apporter
énormément de modification au code existant.
>
> J'avais aussi pensé que de manière générale, le choix de produire une
> base de données relationnelle (ou hiérarchique, ou objet) se ferait au
> moment de créer le MLD. Dans le cas d'un un MLD relationnel, le choix
> du dialecte SQL (et des optims) se ferait au moment de générer le
> script SQL (qui est en fin de compte le MPD).
>
> Dans l'absolu, rien n'interdirait de générer du XSD (via un MLD
> hiérarchique par exemple) ou du SQL (avec le MLD relationnel actuel) à
> partir d'un même MCD, si cela est possible. J'ai vu que tu as pensé à
> des greffons. Je ne sais aps jusqu'où tu as poussé la réflexion. Mais
> ça pourrait être intéressant dans l'optique de rajouter des nouveaux
> types de MLD et des nouveaux types de MPD. Qu'en penses-tu ?
Pour les greffons, actuellement j'ai commencer à développer ceux pour
Oracle et Mysql, je me limite aux SGBD relationnel mais rien n'empêche
de voir beaucoup plus loin.
Tes idées sont très bonnes, si tu veux essayer de schématiser tout ça je
suis preneur.
>
>
>
> Loïc Dreux a écrit :
>
> > Pour maven, tu peux récupérer les projets "egt" et "version" de la
> > même manière que analysesi :
> > http://zobi.homelinux.org/egt/
> > http://zobi.homelinux.org/version/
> >
> > Si le projet "version" est finalisé et ne devrait plus bouger, "Egt"
> > est toujours en travaux surtout sur la partie Graph, il faut voir ce
> > projet comme une extension d'AnalyseSI, en gros j'ai mis dans Egt
> > tout ce qui pouvait être réutilisé dans un autre projet Swing. Pour
> > les autres paquets, tu peux utiliser le repository maven :
> > http://zobi.homelinux.org/repo/
> >
> > Pour tes remarques sur le design du MCD, c'est surtout Yann D'ISANTO
> > <ydisanto@xxxxxxxxx> qui avait fait un très bon travail à l'époque
> > et je n'ai pas beaucoup retravailler sur le model depuis,
> > personnellement je préfère surtout développer sur la partie
> > interface Swing donc n'hésite pas à faire des modifications (comme
> > remplacer les List par des Set) et je les mergerai dans le tronc par
> > la suite.
> >
> > Pour le choix de XStream, je n'ai malheureusement pas beaucoup
> > travailler sur la partie sauvegarde, j'ai juste poser quelques
> > briques de base qui devront surement être pas mal retouchées. C'est
> > la partie qui m'inquiète le plus car je me demande comment gérer les
> > évolutions tout en gardant une compatibilité avec le format de
> > sauvegarde. Si tu connais bien cette bibliothèque, n'hésite pas à
> > faire évoluer mon code.
> >
> > Dès que tu as récupérer toutes les sources et réussi à compiler le
> > projet, fais le moi savoir je vais te créer un compte pour que tu
> > puisses ajouter tes modifications.
> >
> >
> > Le 16 avril 2009 12:06, Benjamin Gandon <benjamin.lp@xxxxxxxxxx> a
> > écrit :
> >
> > Hello,
> >
> >
> >
> >
> > > Pour le long terme, j'ai décidé de repartir de zéro car le
> > > code actuel (0.6.x) est vraiment ancien et fait à
> > > l'arrache pendant mes études
> >
> > Le fait que c'est du code d'étudiant, oui ça ne pouvait pas
> > m'échapper :-)
> >
> >
> >
> > > mais repartir de zéros demande vraiment de travail
> >
> > C'est bien ce dont je me rends compte ! Ca fait beaucoup de
> > choses à revoir en effet, mais c'est la seule solution pour
> > aller plus loin.
> >
> >
> >
> >
> > > j'ai créé un utilisateur anonymous/anonymous qui devrait
> > > fonctionner
> >
> > Ok, anonymous/anonymous fonctionne.
> >
> >
> >
> >
> > > Si tu es intéressé pour m'aider sur le développement de la
> > > version de dev Hibiscus, je peux te créer un nouvel
> > > utilisateur.
> >
> > Oui tu peux y aller. Si je continue sur la version 0.6, je
> > vais finir par tout réécrire... pour arriver à qqch de
> > proche de ta version :-)
> >
> >
> >
> > > Il faudra réfléchir sur la gestion de cette branche : soit
> > > la laisser en hébergement chez moi ou la passer en partie
> > > sur launchpad.
> >
> > En attendant, je peux très bien "commiter" dans une branche
> > pour moi et on discute après pour les éventuels "merge" vers
> > le "trunk". Ta version est bien avancée, ça devrait pas me
> > prendre des siècles pour faire le MLD relationnel (on pourra
> > même envisager d'autres MLD plus tard) et la conversion.
> > J'aimerais bien avoir des options aux différents étages de
> > conversion. Par exemple, choisir de créer ou non des
> > "surrogate key" au moment de générer le MLD (utile pour les
> > relations N-N avec Hibernate) ou choisir quelles clés
> > étrangères on retient dans le MPD.
> >
> > Il me manque quelques artifacts pour Maven :
> >
> > > 16/04/09 11:32:04 CEST: Missing artifact
> > > org.hibiscus:egt:jar:1.1-SNAPSHOT:compile
> > > 16/04/09 11:32:04 CEST: Missing artifact
> > > net.java.dev.xhtmlrenderer:core-renderer:jar:7.0:compile
> > > 16/04/09 11:32:04 CEST: Missing artifact
> > > net.java.dev.xhtmlrenderer:minium:jar:7.0:compile
> > > 16/04/09 11:32:04 CEST: Missing artifact
> > > org.hibiscus:substance:jar:1.0:compile
> > > 16/04/09 11:32:04 CEST: Missing artifact
> > > org.hibiscus:substance-extras:jar:1.0:compile
> > > 16/04/09 11:32:04 CEST: Missing artifact
> > > org.hibiscus:swingx:jar:1.0:compile
> >
> > je peux les trouver où ?
> >
> > Sinon, petite lecture rapide du code pour le modèle MCD...
> >
> > Le design est nickel.
> > Juste, dans ma version j'ai utilisé des Set<Attribute> dans
> > MeriseObject au lieu de List<Attribute> pour assurer
> > l'unicité. J'utilise LinkedHashSet pour conserver l'ordre
> > d'insertion. D'autant plus que tu as (toi aussi :-) )
> > surchargé equal() et hashcode() pour qu'ils se basent
> > uniquement sur le "name". Moi aussi j'ai doublement lié
> > MeriseObject et Attribute. Mais j'en ai profité pour ajouter
> > la prise en compte du "meriseObject" dans mes equal() et
> > hashcode(), ce qui est assez logique en somme : unicité pour
> > un nom donné dans un objet donné.
> >
> > Dans MCD, j'aurais aussi mis des Set<Entity> et
> > Set<Relation> (toujours avec LinkedHashSet par derrière)
> > puisqu'on n'est pas sensé en avoir en double... mais je te
> > laisse me dire ce que tu en penses.
> >
> > Très bien le choix de XStream.
> >
> > Vraiment plein de bonnes choses en somme. Exactement la base
> > de code dont je rêvais :-)
> >
> > A bientôt
> >
> >
> >
> > Loic Dreux a écrit :
> >
> > > Le jeudi 16 avril 2009 à 09:58 +0200, Benjamin Gandon a
> > > écrit :
> > >
> > > > Hello Loïc,
> > > >
> > > > C'est intéressant le nouveau graphe d'objets pour
> > > > modéliser le MCD. C'était la première chose à revoir
> > > > dans le code. C'est même précisément cet objectif que je
> > > > me suis fixé dans la branche expérimentale
> > > > ~benje/analysesi/exp10... Mais je ne savais pas que tu
> > > > travaillais aussi là-dessus ! et c'est un peu dommage de
> > > > faire le même boulot chacun dans son coin, non ?
> > >
> > > Tout à fait ! En fait quand Bruno m'a contacté pour
> > > reprendre en main le projet, je lui avais déjà parlé de
> > > cette nouvelle branche mais il m'a dit qu'il préférait
> > > faire avancer la branche 0.6.x pour régler les bugs les
> > > plus gênants, ce qui est une excellente chose à court
> > > terme. Pour le long terme, j'ai décidé de repartir de zéro
> > > car le code actuel (0.6.x) est vraiment ancien et fait à
> > > l'arrache pendant mes études, mais repartir de zéros
> > > demande vraiment de travail et ça fait 3 ans que je
> > > travaille dessus par intermittence.
> > >
> > > >
> > > > En regardant la JavaDoc je vois que tu as déjà bien
> > > > avancé, et sur des bases (effectivement) bien plus
> > > > pérennes que l'ancien code ! Je vois aussi qu'il reste
> > > > le MLD relationnel à faire et les algos (vérifs,
> > > > transfos, etc) à mettre en œuvre. Est-ce qu'on peut
> > > > avoir accès à ton code ? L'accès svn anonyme (http) ne
> > > > marche pas, ça demande un mot de passe.
> > >
> > > L'accès anonyme ne fonctionne pas parce USVN ne permet pas
> > > de le configurer (à ma connaissance). Par contre, j'ai
> > > créé un utilisateur anonymous/anonymous qui devrait
> > > fonctionner, je vais écrire une documentation sur le site
> > > du projet. Si ça ne fonctionne toujours pas, fait le moi
> > > savoir.
> > >
> > > >
> > > > Et sinon, Hibiscus... heu... ça fait référence à la
> > > > plante ?
> > > > (mais c'est pas toi qui possèdes le domaine
> > > > hibiscus.org, non ?)
> > >
> > >
> > > Hibiscus fait bien référence à la plante, c'est juste un
> > > nom de code pour la prochaine version. Je ne possède pas
> > > le domaine hibiscus.org mais je pourrais poser un nom du
> > > genre hibiscus-project.org un jour ;).
> > >
> > > Si tu es intéressé pour m'aider sur le développement de la
> > > version de dev Hibiscus, je peux te créer un nouvel
> > > utilisateur. Il faudra réfléchir sur la gestion de cette
> > > branche : soit la laisser en hébergement chez moi ou la
> > > passer en partie sur launchpad.
> > >
> > > A bientôt
> > >
> > > Loïc Dreux
> > >
> > > >
> > > > A bientôt
> > > > Benjamin
> > > >
> > > >
> > > > Loic Dreux a écrit :
> > > >
> > > > > Bonjour à tous,
> > > > >
> > > > > Je tenais déjà à féliciter Bruno pour la reprise du projet et les mises
> > > > > à jour successives qui sont sorties depuis le début de l'année, je suis
> > > > > avec intérêt les développements futur.
> > > > >
> > > > > Sinon, malgré l'annonce de l'arrêt du développement, il se trouve que
> > > > > j'ai pleins de temps disponible, du temps que je passe à développer sur
> > > > > la nouvelle branche Hibiscus. J'ai fait une demo pour ceux que ça
> > > > > intéresse : http://blip.tv/file/1996981. Il est évident que cette
> > > > > version n'est pas prête mais ces dernières semaines, j'ai avancé sur pas
> > > > > mal de points et le socle est beaucoup plus solide que les versions
> > > > > 6.4.x.
> > > > > J'héberge moi-même les sources de cette version pour les développeurs
> > > > > curieux à l'adresse http://zobi.homelinux.org/analysesi/.
> > > > >
> > > > > A bientôt
> > > > >
> > > > > Loïc Dreux
> > > > >
> > > > >
> >
> >
> > _______________________________________________
> > Mailing list: https://launchpad.net/~analysesi
> > Post to : analysesi@xxxxxxxxxxxxxxxxxxx
> > Unsubscribe : https://launchpad.net/~analysesi
> > More help : https://help.launchpad.net/ListHelp
> >
> >
> >
>
> _______________________________________________
> Mailing list: https://launchpad.net/~analysesi
> Post to : analysesi@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~analysesi
> More help : https://help.launchpad.net/ListHelp
---
Loïc Dreux
Email
loic.dreux@xxxxxxxxx
Jabber/Gmail
loic.dreux@xxxxxxxxx
Ubuntu - Gnome - Mozilla Firefox - OpenOffice.org -
Attachment:
signature.asc
Description: Ceci est une partie de message numériquement signée
Follow ups
References