[Dataisland-developer] [FR] =?ISO-8859-1?Q?D=27o=F9_C_k=27C_Kon_Est=3F?=
Status: Alpha
Brought to you by:
varsenault
|
From: Vincent-Olivier A. <vi...@up...> - 2004-07-30 02:11:30
|
All=F4 =E0 tous! =C7a fait longtemps que j'ai donn=E9 des nouvelles sur D.I. =C7a ne veut=20 cependant pas dire qu'il ne se passe rien, par exemple! Comme vous le savez, je suis =E0 l'emploi de l'Agence Braque et depuis qu= e=20 j'y suis, je n'ai fait que travailler sur Data=EFsland, ou presque. D'ici= =20 vendredi prochain, j'aurai commis tout ce dont je pourrai sur le CVS=20 avec les instructions sur comment utiliser le tout. Voici o=F9 j'en suis=20 rendu... Un des aspects les plus importants de cette nouvelle version=20 c'est le MDA (model-driven architecture). C'est le principe selon=20 lequel, il faudrait qu'il soit possible de b=E2tir des applications au=20 complet seulement =E0 partir de leur mod=E8le UML (ou autre). Gr=E2ce =E0= =20 Fran=E7ois Eric, j'ai =E9t=E9 introduit aux merveilles de AndroMDA, un=20 framework qui "lit" le mod=E8le UML et qui, selon des templates Velocity,= =20 g=E9n=E8re le code voulu. Le principe du MDA se marie parfaitement =E0 Re= ST,=20 qui est la th=E9orie qu'aucune logique d'affaire, =E0 proprement parl=E9,= est=20 n=E9cessaire : toutes les op=E9rations possibles sur des objets se r=E9su= ment=20 aux op=E9rations HTTP de base : HEAD, GET, POST, PUT, DELETE. En partant=20 de ces deux id=E9es, nous avons fait un module MDA qui se charge de=20 g=E9n=E9rer (pour chaque classe UML) 1) le JavaBean _*localizable*_, anno= t=E9e=20 XDoclet pour Hibernate, 2) la fa=E7ade de logique de persistance=20 Hibernate, 3) les diverses exceptions aff=E9rentes =E0 la persistance=20 (ObjectNotFound, UnicityConstraintViolation, etc), 4) les actions struts=20 CRUD pour la liste, l'affichage formulaire, la sauvegarder, la=20 suppression, 5) les JSP struts pour aller avec les actions, 6) le=20 mapping JiBX qui permet de s=E9rialiser les instances de la classe en un=20 document XML et vice-versa. Et =E7a MARCHE!!!! Nous allons livrer la=20 semaine prochaine, pour Jetsgo, une application qui "wrappe" une vieille=20 base de donn=E9es et toute l'application est g=E9n=E9r=E9e avec ce syst=E8= me. Je=20 vais, dans les prochaines semaines, documenter tous ces beaux jouets=20 pour que vous puissiez tous les utiliser. Qu'en dites-vous? Je vous propose aussi un mode diff=E9rent pour le d=E9veloppement inspir=E9= de=20 Pierre-David... Je crois qu'il est plus simple que chacun de nous ait=20 son projet open source s=E9par=E9 et que nous commettions du code =E0 nos= =20 propres projets (et =E0 ceux des autres s'il y a besoin). De cette fa=E7o= n,=20 les droits et la direction technique sont plus simples =E0 d=E9terminer := le=20 responsable du projet et le propri=E9taire du code et c'est lui qui d=E9c= ide=20 ce qui va dans le code. J'ai not=E9 que de plus en plus de projets=20 opensource fonctionnent sur ce principe dit "darwinien". Les diff=E9rents= =20 projets se rencontrent en utilisant leurs APIs respectifs. Il suffit=20 donc de r=E9partir les t=E2ches selon les int=E9r=EAts de chacun. Plus ba= s, vous=20 trouverez, ma liste de shopping logiciel; c'est ce dont j'ai besoin, et=20 qui pourrait =EAtre d=E9velopp=E9 et pris en charge par l'un de vous... Q= u'en=20 dites-vous? Les objectifs pour la version 3.0 se fondent dans 3 grands axes : le Web=20 s=E9mantique, le MDA, et l'approche ReST. Vous savez tous ce qu'est Rest=20 et MDA. J'ai discut=E9 de l'axe s=E9mantique avec certains d'entre vous, = il=20 s'agit d'arriver =E0 ce que Data=EFsland devienne un "agent" personnel,=20 repr=E9sentant les usag=E9s (personnes et compagnies) sur le Web. Mis =E0= part=20 le CMS, qui est l'aspect publication du Web s=E9mantique, j'ai commenc=E9= =E0=20 concevoir un "robot" data=EFsland qui pourrait effectuer des t=E2ches de=20 repr=E9sentation =E0 partir des donn=E9es que quelqu'un publie sur son si= te=20 Web. Pour plus d'info l=E0-dessus, vous pouvez aller consulter mon blogue= =20 (www.up4.com) sur les conversations que j'ai avec les gens dans le=20 domaine. Je vais bient=F4t publier les requis pour cette partie du projet= . Ce qu'il me reste =E0 faire pour la version 3.0 * Refaire le "core" de Data=EFsland : il faut que je refasse les classes noyau du package org.dataisland. Notamment pour 1) Am=E9liorer la n=E9gociation de contenu conform=E9ment aux standard= s W3C, 2) refaire l'API de transmission SAX2 bidirectionnelle (pour sauver et g=E9n=E9rer les documents), 3) fournir la capacit=E9 de g=E9n=E9rer automatiquement une "sitemap" et un index de recherche = =E0 partir des m=E9tadonn=E9es pour chaque instance DataIsland 4) Revoi= r la s=E9rialisation pour supporter les nouvelles interfaces JAXP, 5) supporter toutes les op=E9rations HTTP GET/PUT/POST/DELETE/HEAD * Refaire l'ontologie "CMS" de Data=EFsland : il faut "merger" les templates MDA d=E9j=E0 faites avec Data=EFsland. * Ajouter des outils pour le s=E9mantique web : il faut ajouter, aux templates MDA, la g=E9n=E9ration de documents RSS, XSLT, RDF, FOAF, OWL, etc. * Support pour la r=E9tro-compatibilit=E9 des ontologies : quand une compagnie ou un individu met =E0 jour son mod=E8le UML et r=E9g=E9n= =E8re l'application, il faut pouvoir supporter que les interfaces supportent les ontologies pr=E9c=E9dentes, en faisant des op=E9rati= ons de diff=E9rences sur le mod=E8le et en proc=E9dant =E0 la transform= ation XSLT des diff=E9rentes versions (ie : il faut que si Mr X envoie =E0 Mr Y un document XML selon le DTD 1.0, Mr Y puisse le comprendre m=EAme s'il a install=E9 la version 2.0 de son DTD). * Data=EFsland-Agent : tout est =E0 faire pour =E7a. rester =E0 l'=E9= coute... Liste de shopping (dites-moi si =E7a vous int=E9resse) * Autodeploy (database schema adapter, ontology discovery, etc). Je crois que =E7a fait partie de tes choses, Pierre. * Gestion par JMX. Je crois que =E7a fait aussi partie de tes choses, Pierre. * Logging, statistiques. C'est un module qui permettrait de g=E9rer e= t d'analyser le traffic dataisland. * Data=EFsland Wiki. C'est un module qui permettrait d'h=E9berger du contenu wiki avec l'architecture dataisland. Il faut, par exemple, =EAtre en mesure d'importer TOUT le contenu de wikipedia (en.wikipedia.org) et de g=E9nerer le contenu en utilisant data=EFs= land. * Data=EFsland blog. Impl=E9mentation de blog en utilisant Dataisland= et Dataisland-CMS * Persisted resourcebundle. Utilitaire pour la gestion et la persistance du texte applicatif localis=E9 (genre "clickez ici", "sauvegarder", "submit", etc.) * Support pour la s=E9rialisation dans divers formats (SVG, XSL-FO, PDF, JPEG, RDF, etc) Bon, les gars, on se fait une petite bi=E8re bient=F4t pour discuter de =E7= a? Vincent |