|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 |
|
Expert Confirmé Sénior
![]() ![]() |
les versions, pour beaucoup de besoins, sont gérées au niveau du repository de code. Quand tu fait évoluer ta classe et ses annotation vers une situation nouvelle, tu reviens rarement en arrière, sauf pour du legacy, et là tu ressort le vieux code de ton bon vieux svn et tu le recompile. Et comme déjà mentionné, si le meme code doit etre utilisé dans des situation différente, ok pour les annotation a condition que des fichiers puissent préciser ou faire varier ces annotations. Dans le code, on met ce qui change pas, sauf si le code doit aussi changer
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
00
|
|
|
#22 | |
![]() ![]() Inscription : décembre 2006 Messages : 1 877 ![]() |
Citation:
Tu ne geres pas les versions des normes au niveau du code, je suis surpris que tu proposes cette solution.
__________________
Systèmes d'Informations Géographiques- Projets : GeoAPI GeotoolKit PuzzleGISPour un monde sans BigBrother IxQuick ni censure RSF |
|
|
|
00
|
|
|
#23 |
|
Expert Confirmé Sénior
![]() ![]() |
J'a idéjà du travailler avec des serveur ou fallait balancer mes donnée dans des formats les pluts tordus les uns que les autres, sans annotations. Et même sans annotations, j'ai un template par format d'export. Je vois pas le lien avec les annotation dans l'histoire
Et comme je l'ai dit, pour moi vouloir utiliser des annotation pour diriger la manière dont un code se comporte, alors que tu sais pertinement que ce code devra se comporter de manière différente suivant la situation, c'est assez inutile. Autant se passer des annotations dans ces cas là
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
00
|
|
|
#24 | |
![]() ![]() Inscription : décembre 2006 Messages : 1 877 ![]() |
Citation:
__________________
Systèmes d'Informations Géographiques- Projets : GeoAPI GeotoolKit PuzzleGISPour un monde sans BigBrother IxQuick ni censure RSF |
|
|
|
00
|
|
|
#25 |
|
Membre Expert
![]() ![]() Chris CamelArchitecte de système d'information Inscription : novembre 2006 Messages : 1 242 ![]() |
|
|
|
00
|
|
|
#26 |
![]() ![]() Inscription : décembre 2006 Messages : 1 877 ![]() |
Quand tu annote ta classe avec une api de binding : type jaxb.
les annotations sont faites pour une version particuliere du xml. Quand on suit des normes, parmis lesquelles ISO et OGC, les normes évoluent avec les années avec une nouvelle version tout les 2/3ans environs et des revisions qui peuvent être quasi annuelle pour les normes très actives. Donc quand tu as annotée ta classe, tu l'as fait pour une version particulière. seulement il est rare d'avoir deux applications (venant de société différentes) alignée en permanence sur la même version. Par conséquent notre classe doit pouvoir être "marshaller" en différente version d'une même norme pour pouvoir vraiment etre interopérable. Mais il est impossible d'avoir plusieurs annotations faisant référence à différente version ou a différentes normes. Un exemple : j'ai une série de classes pour faire de la symbologie, il exite une norme OGC et une norme ISO et on peut aussi vouloir quelque chose de plus grand public comme le SVG ou le CSS. les 4 normes décrivent plus ou moins la meme chose mais de facon differente. Avec des annotations tu es foutu, tu dois faire une interface et N implémentation pour chaque version/norme. Un bon parser en vrai java et son lot de tests unitaires, c'est la seule solution viable a long terme.
__________________
Systèmes d'Informations Géographiques- Projets : GeoAPI GeotoolKit PuzzleGISPour un monde sans BigBrother IxQuick ni censure RSF |
|
|
00
|
|
|
#27 |
|
Expert Confirmé Sénior
![]() ![]() |
dans ce cas là, bien sur, mais ca n'enlève rien à l'utilité ds annotation si tout ce que tu veux c'est marshaller ta classe pour la récupérer 5 minutes après sur la même version de ton appli, bref quand le format est à usage interne seulement (communication client / server utilsant la même version du protocole par exemple).
Perso il m'est jamais venu à l'idée d'utiliser des annotations pour exporter vers des format étranger à mon appli, j'ai toujours préféré l'utilisation d'un bon vieux template en freemarker ou en jsf (facelet parfois c'est du tout bon pour l'export format XML de données :p) qu'on sais faire évoluer sans toucher au code.
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
00
|
|
|
#28 | ||
|
Membre Expert
![]() ![]() Chris CamelArchitecte de système d'information Inscription : novembre 2006 Messages : 1 242 ![]() |
Citation:
Citation:
Comment résous-tu ce problème avec une sérialisation classique ? |
||
|
|
00
|
|
|
#29 | ||
![]() ![]() Inscription : décembre 2006 Messages : 1 877 ![]() |
Citation:
Un exemple (réel) un client MapFaces qui communique avec les serveurs cartographique de la nasa ou de l'unesco. Je ne vois pas ce que vient faire jsf et les servlets la dedans ![]() Citation:
Comme le modèle ne colle pas a la norme je ne peux pas l'annoter, alors la solution est de transformer ses classes vers des classes annotées pour une norme et une version donné, ce qui peut en faire beaucoup. c'est le choix qu'a fait la société. Personnellement, j'aurais fait des parseur stax, ce qui serait beaucoup plus performant, moins couteux en mémoire mais qui aurait prit plus de temps a réaliser. malheureusement jaxb est tres a la mode a cause de metro et des autres api, va donc expliquer a un patron non développeur pourquoi il ne devrait pas utiliser une api que tout le monde utilise
__________________
Systèmes d'Informations Géographiques- Projets : GeoAPI GeotoolKit PuzzleGISPour un monde sans BigBrother IxQuick ni censure RSF |
||
|
|
00
|
|
|
#30 | |
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
JSF était juste un exemple. Pour les export j'évite au maximum d'utiliser du code, j'utilise toujours des système de template (freemarker par exemple peu lire un template et y injecter les données :p). par contre, de fait, pour la lecture, il faut souvent passer par du code ^^ On en reviens de toutes facon au final a être d'accord il me semble: les annotation: oui pour ce qui est lié au code
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
|
|
|
00
|
|
|
#31 | |||
|
Membre Expert
![]() ![]() Chris CamelArchitecte de système d'information Inscription : novembre 2006 Messages : 1 242 ![]() |
Citation:
Citation:
En outre, avec des outils comme hyperjaxb, il est possible à la fois de créer un maping xml-objet, mais aussi objet-relationnel. Ce qui est très intéressant. Citation:
Nous, nous travaillons sur les normes iso 19139. Ecrire un parseur stax de cette norme est inimaginable tellement c'est complexe. Les décideurs sont peut-être pro-production, mais les informaticiens sont aussi très faignants. |
|||
|
|
00
|
|
|
#32 | |
|
Membre Expert
![]() ![]() Chris CamelArchitecte de système d'information Inscription : novembre 2006 Messages : 1 242 ![]() |
Citation:
En outre, avec freemarker, tu n'as aucun controle sur la validité de ce que tu produit (à moins de rajouter une couche). Un export xml ou json peut se retrouver foireux sans que tu t'en apperçoive (c'est du vécu). Perso, nous utilisons un mapping dozer + jaxb, qui permet l'export/import xml et json sans faute et sans code supplémentaire. |
|
|
|
00
|
|
|
#33 | ||
|
Expert Confirmé Sénior
![]() ![]() |
Citation:
Citation:
__________________
⥀⥁ Чиз faq java, cours java, javadoc. Pensez à et ![]() Laisse entrer le jour après une nuit sombre. Si tu es toujours là, tu n'es pas faite pour mourir. |
||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com