Débriefing à chaud dans le RER du Paris JUG. J’essaye toujours autant que possible de vous donner à chaud un retour sur la soirée. C’est un peu comme une photo argentique de la soirée… Pas bidouillée, pas retravaillée… On travaille à l’ancienne ici.
Eric Lefevre de Valtech a proposé d’organiser à la rentrée un Open Space Technology. L’idée est de se retrouver afin de discuter entre personnes du Paris JUG sur des sujets technos en suivant un ordre libre. Lisez son article pour comprendre mieux le principe et ensuite vous pouvez en discuter sur la mailing liste du Paris JUG (enfin je crois qu’il y a une mailing list non ?? quelqu’un pour confirmer ?).
La soirée était découpée en 2 présentations : tout d’abord MDA puis ensuite Adobe Flex et les échanges client-serveur.
MDA a reçu un accueil un peu frais de la part de la centaine de personnes présentes ce soir. Pourtant j’ai trouvé la présentation assez précise et bien menée par Grégory Weinbach d’Objects Directs. Il connait son sujet. Pour ma part je n’ai pas expérimenté MDA bien que l’équipe installée à côté de notre équipe travaille avec MDA depuis 6 mois. Grégory Weinbach après avoir présenté le principe de MDA explique qu’il faut faire la distinction entre les frameworks MDA et les outils MDA. Il explique que la modélisation apporte de l’Agilité dans la création d’un logiciel. Il est possible de travailler par itération et l’expression des besoins fonctionnels rapproche le développeur du client. Ce client est alors plus satisfait car il est aussi acteur de cette modélisation. Il explique aussi que l’on retrouve des modélisations types qui sont soit trop techniques, soit qui cherchent à modéliser à outrance, soit qui sont « PSM »… Je ne sais pas ce que c’est que PSM, donc je ne pourrai pas vous l’expliquer ici. MDA propose aussi une indépendance technique. On code en quelque sorte au niveau du modèle en modélisant les composants métiers. Par exemple une Liste, une Form, une Vue. Ensuite les interactions et les règles métiers sont ajoutées, ce qui permet d’avoir un programme cohérent.
Pour la partie dynamique, l’architecte peut utiliser UML 2 ou un langage abstrait (ASL) pour donner vie à son Modèle. Là dessus il explique que la modélisation uml dynamique n’est pas facile, et que les outils ne contraignent pas assez le développeur. Tout ceci pour rester indépendant du langage cible qui n’est alors pas important. Le modèle exprimé, il est enfin possible de générer du code afin de le compiler… ou pas (VBScript ça se compile ?)
Les questions de l’assistance du Paris JUG étaient assez précises. Dont une question monologue tartine et vas-y que je te raconte ma vie très intéressante… Il y a eu des questions sur les outils, et il est vrai qu’en tant que développeurs nous aurions souhaité voir un peu cela de plus près. Un peu d’expérience de l’Architecte nous aurait intéressé.
Bon et ton avis dans tout cela ?
Mes sentiments sur MDA : non MDA n’est pas une méthode Agile. Adepte de Scrum je crois que ce soir c’était un petit tirage de couverture. Il ne me semble pas que la modélisation apporte une quelconque agilité. MDA n’est pas encore maitrisé par les développeurs et demande un effort de formation pour fonctionner correctement.
Ensuite j’ai eu une drôle d’impression en entendant que MDA c’est « les Architectes » et que la caste des « Développeurs » passe au second plan. Le besoin d’avoir un Analyste, est-il encore d’actualité ? Un Analyste qui ne ferait que de la modélisation avec une compétence financière, ça doit valoir une fortune…
Je reste très perplexe sur l’offre « indépendance du langage ». Dans le domaine des applications webs, faut-il rappeler la part de marché de Java ? Est-ce que nous avons déjà vu un projet passer d’un langage à un autre ? Je comprends très bien qu’il est important de montrer que l’effort doit se faire au niveau de la modélisation du PIM (Plateform Independant Model). Mais où sont les contraintes de mise en production ? Les contraintes d’architecture ? Les tests fonctionnels et unitaires font-ils partie aussi du code généré ?
Pour ma part je creuserai le sujet MDA, bien que j’en ai entendu et fait l’expérience sur la modélisation d’instruments financiers l’an passé. A suivre donc…
Flex, la petite claque
Cher lecteur, il y avait une personne dans la salle avec un grand sourire. Cette personne c’était moi. La présentation de Flex nous a montré la puissance et la simplicité des échanges entre le client Flash ou AIR et un serveur distant utilisant BlazeDS. Tout d’abord pour les personnes qui étaient là ce soir, nous avons eu un sacré orateur. Avez-vous la technique de « je vous tape 5 lignes de MXML de la main droite tout en parlant au micro tenu de la main gauche ?« .
James Ward est l’auteur du fameux Census dont je vous ai déjà parlé. Allez on prend sa souris et nous allons tous regarder cette url : http://www.jamesward.com/census/. Cette application vous explique les temps de chargement relatif entre votre propre navigateur et son serveur selon la technologie utilisée. Vous pouvez donc comparer du HTML simple, du Dojo, du JSON, du XML chargé avec AJAX ou encore de l’AMF, le format binaire compressé et optimisé de Flex. Allez y faire un tour je vous attends ici pour continuer…
James nous a ensuite montré successivement comment lire un flux XML avec l’objet HTTPRequest. Ensuite comment charger un objet Flex directement via RemoteObject. Ensuite une démonstration assez bluffante de DataService avec 2 pages webs qui s’échangent des données. Il a montré la partie Producer et Consumer en codant un chat en 10 mn à peine, de la main droite et en parlant au micro je vous le rappelle… Comme je disais à mon voisin : « c’est moi ou j’ai l’impression que tout est accéléré ? »
Les personnes de l’assemblée ont été franchement séduites. Je crois qu’un bon nombre de développeurs vont essayer eux-même Flex afin de s’en faire une idée encore plus précise.
Cela tombe bien cher lecteur, je risque fortement de t’en parler de plus en plus dans les jours qui viennent… Stay tuned !
Demain c’est costard cravate et journée au Sénat. Je vais voir Jaxio. Ca va être fun !
0 no like
Pour le MDA le PSM c’est : « Platform Specific Model ».
En fait la transformation consiste à transformer un PIM en PSM. Le PSM peut très bien être du code Java par exemple.
L’approche MDA permet d’avoir un modele en phase avec son code tout au long de la vie du projet.
Bref le MDA permet de ne pas mettre son modele au placard après la phase de modélisation.
ho la la ! je n’avais pas fini de lire avant de poster la définition du PSM 🙂
Bien sur que le MDA c’est agile !
J’avais fait un long commentaire pour te répondre, mais après je me suis dit que c’était un bon article pour mon blog ! 😉
Je vous invite donc à lire ma réaction sur : http://www.net-liard.com/blog/2008/07/mda-agile/
J’ai déjà réservé la marque « Touche pas à mon MDA » 🙂
Je confirme, il y a bel et bien une (en fait deux) mailing list pour le Paris JUG : http://www.parisjug.org/xwiki/bin/view/Main/MailingList
Mouais… Pas aussi séduit par la démo Flex.
Le côté je mets une ligne code et on retrouve un tableau avec du tri, des trucs comme ça, on peut le retrouver en jsp (c’est quoi déjà le nom de cette taglib ultra célèbre??), jsf (rich datagrid) , tapestry, wicket, gwt. Et côté client, avec ExtJS, yahooUI et pas mal d’autres. Et en php, et rails…
Idem pour la démonstration de comet. Il suffit d’aller sur les sites de tomcat, de jetty ou de dojo ou dwr.
En fait en voyant cette démo je me suis dit « Le fameux Flex… mais c’est que ça?? impressionnant ». Oui, impressionant comme c’est la même chose que tout le monde… Peut-être en plus simple. Peut-être en plus « non standard » et lié à un seul éditeur, aussi…
Je ne doute pas qu’on puisse faire plein de trucs marrants, graphiques et tout ça mais faut quand même pas exagérer, c’est pas une révolution.
On va me dire : »au moins on fait pas de javascript ». Marrant, ActionScript est largement inspiré de javascript. Et un des deux a la réputation d’être un langage de ninja, et l’autre d’être un langage surper facile. ya comme qui dirait un truc…
Voilà. Pas bluffé, et j’en suis triste…
Gabriel K>
Le langage ActionScript est compilé en bytecode pour fonctionner dans la machine virtuelle Flash là où Javascript est interpreté à chaud. Grosse différence en terme de performances…
En terme technologique, Flex en effet n’apporte pas plus. Là où par contre il y a un gain par rapport à du Javascript, c’est en terme de productivité. Le temps nécessaire pour coder une interface complete est moins important avec Flex.
Mais je partage aussi ton point de vue sur comet.
Nicolas
Concernant les performances, est-ce que cela inclue le temps de démarrage de la VM?
De plus pour ce qui est des perfs de javascript , des choses se préparent en tout cas avec firefox (changement du moteur).
Pour le gain de productivité… C’est un choix, un compromis, entre une plateforme avec un gain de productivité et un code en langage propriétaire, et (au moins pour des solutions ajax standards) moins de productivité mais d’autres gains : plus facile de trouver des ressources, de trouver des frameworks, etc.
Peut-être qu’on peut comparer Flex à … VB? (pataper! pataper!) (en fait fait dans ma bouche c’est gentil!)