Articles précédents : Développeur
- [5] OSF DCE 1.2 passe sous licence LGPL
- [71] Améliorer les performances du noyau avec un algorithme génétique
- [33] phpJaz, un framework léger pour PHP
- [14] Les 3 heures du PHP
- [18] Gtk-fr.org devient un wiki
- [76] Un moteur de recherche de code source OpenSource
- [42] Une ouverture pour les logiciels "métier" avec Windev 9
- [64] Patch pour le support du C++ dans le noyau
- [82] Peut-on se payer le noyau Linux ?
- [2] Erlang/OTP R10B est sorti
Liens connexes
- JUnitScenario (717 clics)
- Un exemple (845 clics)
- Projet sf.net : JUnitScenario (170 clics)
Dépêche modérée par
Dépêche éditée par
Développeur : JUnitScenario 0.1 vient de sortir
Posté par Stéphane Traumat (page perso, ). Modéré le 14 février 2005.Le but est de pouvoir très facilement réutiliser les tests unitaires pour tester la capacité de montée en charge de vos applications.
JUnitScenario est une applications Java sous licence LGPL.
JUnitScenario (717 clics)
Un exemple (845 clics)
Projet sf.net : JUnitScenario (170 clics)
> Lire la suite (66 commentaires, moyenne: 2,2). [dépêche : 447 caractères]
Après avoir testé les applications grâce aux tests unitaires, nous espérons que l'on va désormais pouvoir tester la montée en charge des applications avant leur mise en production.
Nous espérons apporter une pièce de plus à l'industrialisation des logiciels.
JOnAS certifié J2EE par sun !
au fait, pour info, JOnAS a été certifié J2EE 1.4 !
http://jroller.com/page/jonaslive/20050203#jonas_passes_j2ee_1_4(...)
La concurrence a du soucis a se faire :)
-
[^]Re: JOnAS certifié J2EE par sun !
Posté par kruskal () le 14/02/2005 à 18:49. (lien). Évalué à 0.Super.
Maintenant vous allez peut etre pouvoir vous pencher sur la compatibilité gcj :)-
[^]Re: JOnAS certifié J2EE par sun !
Posté par Stéphane Traumat (page perso, ) le 14/02/2005 à 18:53. (lien). Évalué à 1.Ce n'est pas notre couche désolé... chacun son boulot :)
-
[^]Re: JOnAS certifié J2EE par sun !
Posté par kruskal () le 14/02/2005 à 19:14. (lien). Évalué à 3.Heu, oui et non.
Pour ce qui est du respect de gcj des differents standards de java, ok c pas votre boulot.
En revanche, des scripts de compilation, du bug tracking, c'est un peu votre role aussi.-
[^]Re: JOnAS certifié J2EE par sun !
Posté par Stéphane Traumat (page perso, ) le 14/02/2005 à 19:41. (lien). Évalué à 2.Dans ce cas la, le deuxième cas, il faut vous renseigner mais nous travaillions beaucoup la dessus... surtout les gens de redhat
-
[^]Re: JOnAS certifié J2EE par sun !
Posté par kruskal () le 14/02/2005 à 19:46. (lien). Évalué à 2.Ah bah faut pas répondre que c'est pas votre rayon alors, lol.
Bon, sinon, heureusement qu'on a redhat, ils font bien avancer les choses autour de java.
Dans FC4, on aura un bel environnement java basé sur gcj, comprenant entre autre eclipse.-
[^]Re: JOnAS certifié J2EE par sun !
Posté par Stéphane Traumat (page perso, ) le 14/02/2005 à 20:05. (lien). Évalué à 3.C'est pas notre rayon car le but du consortium est de développé un middleware libre et la jvm, d'après nous, n'en fait pas partie.
-
-
-
-
-
Autre chose
Si des gens/sociétés veulent participer au projet, ils seront les bievenus :)
On a pas mal de projets, nottament au niveau de la création de scripts et de l'exploitation statistique des résultats
-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 14/02/2005 à 21:37. (lien). Évalué à 3.A la linux-expo j'étais à côté d'un mec de IBM à qui je voulais parler (ou HP, mais je crois que c'était IBM), et deux mecs de objectweb étaient en train de discuter pour voir si cette boite pouvait pas signer pour faire parti du consortium. J'ai tenté de discuter avec un des deux mecs, mais j'ai bien vu que je les faisais chier.
Bref, super désagréable...
Je me demandais pourquoi il y avait toujours autant de mouvements dans le libre autour de java avec les problèmes de licences qu'il y a sur ce language et Sun qui fait tout pour le contrôler.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 14/02/2005 à 21:45. (lien). Évalué à 8.il fallait plutôt venir voir sur le stand d'Objectweb ou François t'aurait reçu avec grand plaisir :) et j'aurais aimé aussi discuté avec toi !
Je donnais une conf l'après midi, peut etre y as tu assisté ??
Pkoi autant de mouvements ? c difficile de répondre:
- Un langage complet qui couvre tous les besoins
- Des poids lourds du libre (Apache, codehaus...)
- Des poids lourds de l'industrie (IBM, Oracle, BEA...)
- Des projets fantastiques (Derby, hibernate, jonas, c-jdbc...)
- Des méthodes mises en place peut etre plus vite que dans d'autres langages (test unitaires, aop....)
- Des environnements de développements exceptionnels (eclipse, netbeans)
- Un grand nombre d'architectes et de créateurs de génie
- Multi plateforme
- Une architecture éprouvée
bref j'adore java pour tout ça :)-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 14/02/2005 à 21:59. (lien). Évalué à 4.En gros ce qu'on m'a rétorqué quand j'ai posé quelques questions à ces mecs avec des tshirts objectweb c'est "faites pas chier, allez voir le stand" (pas dit comme ça, mais le coeur y était), alors évidemment ça ne m'a pas trop donné envie.
Sinon non je n'ai fait aucune conférence, je suis passé rapidement parce qu'il y avait des gens que j'avais besoin de voir.
Pour tout ce que tu listes c'est bien, mais le problème fondamental quand on utilise quelque chose c'est aussi qu'il n'y ait pas de soucis ultérieurs légaux non ? J'aimerais que Sun ne soit pas seul à décider de tout et de rien. Quid de C# dans l'histoire, il permet aussi beaucoup de choses.
- Un langage complet qui couvre tous les besoins
Ah ? Ca y est, on a trouvé le language ultime qui sert à tout ? Je croyais que les développeurs Java s'étaient réveillés depuis quand même :)
- Des projets fantastiques (Derby, hibernate, jonas, c-jdbc...)
- Des méthodes mises en place peut etre plus vite que dans d'autres langages (test unitaires, aop....)
Ah, les autres n'ont pas la possibilité de faire des tests unitaires ?
- Des environnements de développements exceptionnels (eclipse, netbeans)
La dessus on est d'accord, Eclipse est vraiment puissant. En fait l'environnement de développement est super important tout court à partir du moment ou il permet de bosser plus vite et propre. Pour netbeans je suis plus sceptique. On peut tout à fait envisager des environnements similaires sur d'autres languages, quid des outils sous macOSX ou sous Windows ? (outre le fait que Eclipse est libre, au moins, sur un language qui ne l'est pas vraiment).
- Un grand nombre d'architectes et de créateurs de génie
(...)
- Multi plateforme
Ah il y a que chez moi que java (sun) rame grave (linux) ? Java multiplateforme, je suis très sceptique... Enfin chacun voit midi à sa porte.
- Une architecture éprouvée
Quelle architecture ? Le language ?-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 14/02/2005 à 22:10. (lien). Évalué à 3.C# est une bonne alternative et quand tu vois ce que c'est, tu te dis que java n'est pas sur la mauvaise voie ;)
"Ah ? Ca y est, on a trouvé le language ultime qui sert à tout ? Je croyais que les développeurs Java s'étaient réveillés depuis quand même :)"
Ce n'est pas ça... juste qu'avec Java, dans ma boite, on peut couvrir tous nos besoins, d'autres langages sont certainement dans ce cas... je voulais juste dire que Java nous permet de faire ce qu'on a besoin de faire pour tous nos clients.
"Ah, les autres n'ont pas la possibilité de faire des tests unitaires ?"
Si bien sur... mais de ce que j'ai vu, on faisait des tests unitaires en Java bien avant que les gens en fassent en php ( mais on était pas avant smalltalk )... et c t juste un exemple... j'ai pas vu l'aop en php par exemple ?
"Ah il y a que chez moi que java (sun) rame grave (linux) ? Java multiplateforme, je suis très sceptique... Enfin chacun voit midi à sa porte."
beh oui, je travaille pour des mutuelles par exemple ou l'on déploie sous linux et ca rame pas.. désolé...
"- Une architecture éprouvée"
Plutot philosophique... style hibernate + pojo + dao + session facade
c une solution éprouvée qui nous permet un maximum de réutilisation et un minimum d"écriture ( pas de sql, pas de code de sécurité, pas de code de transport... )
après, tu as aussi toute la stack J2EE
-
[^]Re: Autre chose
Posté par tanguy_k (page perso, ) le 15/02/2005 à 23:36. (lien). Évalué à 1.> Quid de C# dans l'histoire, il permet aussi beaucoup de choses.
C# est surement meilleur que Java, l'inverse serait etonnant puisqu'il a ete cree apres Java et donc ils ont pu voir ce qui fonctionnaient bien de ce qui ne fonctionnaient pas parfaitement.
En revanche il faut quantifier ce "meilleur". C++ par rapport au C apporte enormement de choses (notamment la POO) qui permettent de developper beaucoup plus vite et mieux.
Java par rapport au C++ apportent egalement enormement, rien que le garbage collector est en grand pas en avant. Dans le livre Thinking In Java, Eckel explique notamment que l'on developpe 50% plus vite en Java qu'en C++ sans compter tous les autres avantages (pour info Eckel fait ou faisait parti du commitee de standardisation du C++).
Maintenant avec C# est-on 5% plus efficace qu'en Java ou 50% ? Es ce que des innovations aussi importantes que le gc ou la POO a leurs epoques on ete introduites dans C# ?
Tout ca pour dire que si C# est seulement un peu mieux que Java, peu de gens vont changer leurs habitudes, leurs codes, leurs outils, leurs connaissances pour quelque chose qui au final n'apporte que peu d'ameliorations. La preuve: le C qui a 30 ans est encore beaucoup utilise alors que des languages bien meilleures existent depuis longtemps.
Je dis ca mais je n'ai jamais teste C# (juste lu des docs et des examples de code), mais je pense (peut etre a tord) que ces ameliorations sont mineures par rapport a Java ou a d'autres languages existants.
PS: pas la peine de retorquer qu'en C on peut faire de la POO, que Java n'a pas invente le gc, que Python et que Objective C... je le sais mais il faut faire court :)-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 16/02/2005 à 12:25. (lien). Évalué à 2.Néanmoins, s'il est beaucoup plus facile de réutiliser du C dans du C#, ou si un système d'exploitation a par défaut le support de ce langage et qu'on a pas à télécharger un truc de 20Mo, ça fait une sacrée différence aussi.
C'est quand même marrant de voir que sun qui a collé un procès à MS (sans doute avaient-ils raison, c'est pas la question) soit obligé de bosser à fond pour que leur truc marche nikel sur Windows parce que sinon ils savent qu'ils sont mort commercialement...
Ce n'est pas parce que le gain entre java et c# ne sera que de 5% en terme de temps de développement que l'un ne prendra pas le pied sur l'autre. Ca peut aussi être parce que t'as les outils de base, qu'il y a une volonté commerciale derrière, ou parce que tout simplement ça marche mieux...-
[^]Re: Autre chose
Posté par tanguy_k (page perso, ) le 16/02/2005 à 16:15. (lien). Évalué à 1.> Ce n'est pas parce que le gain entre java et c# ne sera que de 5% en
> terme de temps de développement que l'un ne prendra pas le pied
> sur l'autre.
Cela depend de ce qu'on inclue dans ce gain. Je pense qu'il faut tout prendre en compte: les libs, le compilo ou VM, mais aussi les outils disponibles comme editeur, debuggueur, generateur d'interface ect...
> parce que tout simplement ça marche mieux...
Ca je n'y crois pas, je ne change pas ma pigo 205 pour une 206 parceque celle-ci "marche mieux". Comme pour les voitures, changer de language de programmation a un cout. Pour une entreprise le cout peut etre enorme, j'ai bien des amis qui programment en COBOL en entreprise !
Donc je te pose la question, moi (entreprise ou particulier) quel est l'avantage d'abandonner Java ou C++ au profit de C# ? j'y gagne quoi ?
Pour l'instant il faut installer un truc qui fait jesaispascombiendeMo pour executer du C#.
Pour l'integration avec le C je peux le faire tres facilement en C++, Python, Objective C et en Java c'est aussi possible. Et puis ca se trouve j'ai tout simplement pas besoin de m'interfacer avec du code C. En Java par exemple, je n'ai personnellement jamais eu besoin de reutiliser du C, il y a deja pas mal de composants et de libs en Java (c'est meme plutot l'inverse, je trouve pleins de trucs en Java alors que je le voudrais en C++).-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 16/02/2005 à 19:08. (lien). Évalué à 2.quel est l'avantage d'abandonner Java ou C++ au profit de C# ?
Par rapport à C++ j'imagine qu'il n'y a pas besoin de faire un long discours, il me paraît évident (tous les avantages de langages OO à VM). Pour Java pour le moment l'avantage peut ne pas être clair, excepté tous les soucis discutés dans cette news de brevets et standardisation.
Pour l'integration avec le C je peux le faire tres facilement en C++, Python, Objective C et en Java c'est aussi possible.
C++ ? Bof on s'en fout un peu en fait, beaucoup le considèrent comme chiant car il est objet mais qu'il ne le force pas. Python ? Bof aussi, c'est pour d'autres utilisations. Pas compilé (je ne parle pas des trucs qui te permettent sur telle ou telle archi de le compiler, ça ne compte pas, c'est des bypass pour moi), pas de typages fort, pas vraiment objet non plus, pas d'interface, pleins de trucs pas propre en terme d'objet (len() et autres). Avec C# cf http://www.linuxgazette.com/node/8794(...) c'est relativement simple, tout de même.
De plus il me paraît évident que .net sera installé par défaut sur les versions ultérieures de Windows, c'est un atout non négligeable (ça fait mal mais c'est comme ça)
-
-
-
-
-
[^]Re: Autre chose
Posté par Gabriel () le 15/02/2005 à 09:43. (lien). Évalué à 3.Tout ça plus: un apport concret du libre par rapport aux specs: JUnit, Spring, Hibernate : ils influencent directement le langage - ou les façons d'utiliser ce langage.
Le libre prend des initiatives et java - non pas les récupère , ils ont essayé mais maintenant les grands acteurs préfèrent accompagner le mouvement. Par exemple Tomcat: je crois me souvenir qu'au départ Sun faisait sa petite implémentation du conteneur web dans son coin et apache faisait la même chose de son côté. Et assez vite, Sun a laissé faire Apache et tomcat est maintenant l'implémentation de référence.
Sans le libre java ne serait pas ce qu'il est.--
Every takeoff is optional. Every landing is mandatory. -- Rules Of Flying-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 15/02/2005 à 10:07. (lien). Évalué à 3.Sans le libre java ne serait pas ce qu'il est.
Ce serait bien sur Sun s'en rende compte...-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 10:14. (lien). Évalué à 2.Sun s'en rend compte et sun donne aussi au libre
-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 15/02/2005 à 11:20. (lien). Évalué à 3.Moi j'attends qu'ils normalisent sous la couverture d'un organisme quelconque JAVA (ECMA ?), qu'ils indiquent clairement qu'ils ne poursuivront personne en rapport avec la tétrachié de brevets qu'ils ont sur des technologies utilisées pour JAVA, y compris d'autres sociétés directement concurrentes, que la JVM Sun soit sous une licence dite libre (enfin je peux toujours me tromper).
J'aimerais que les soucis évoqués sur http://www.gnu.org/philosophy/java-trap.html(...) soit réglés.
Les commentaires ici http://linux.slashdot.org/comments.pl?sid=139394&threshold=5&am(...) sont plutôt pertinents d'ailleurs, et comparent bien c# et Java.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 11:22. (lien). Évalué à 2.Pour la couverture d'un organisme, le JCP me convient parfaitement... pour les autres problèmes que tu évoques, je suis d'accord.
-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 15/02/2005 à 11:35. (lien). Évalué à 2.JCP ? Du vent pour faire penser qu'on peut faire évoluer le language mais que c'est toujours Sun qui décide de manière arbitraire, ou une réelle volonté d'avoir un développement communautaire ?
Pour le reste, bah ça me pose un réel soucis si je code des applications sur la durée, toute de même.
J'apprécie de plus en dotNet le fait qu'il soit possible en théorie (puis en pratique en fait aussi) d'utiliser des composants dans d'autres langages. Finalement quand je code je me fous de savoir en quoi est codé un composant tant qu'il fait ce dont j'ai besoin, avec certaines contraintes (performances, etc).-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 11:42. (lien). Évalué à 3.Pas d'accord avec toi.. JCP n'est pas du tout du vent, et de nombreuses décisions ont été prises contre l'avis de sun même...
les choses ne sont pas décidés de manière arbitraire...
beh pour dotnet.. j'attends de voir un emseble de produits de dev (libre) et des applications en production...-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 15/02/2005 à 11:47. (lien). Évalué à 2.Pour JCP tu me dis ça tant mieux, j'ai eu des echos inverses. Qui croire ? :)
beh pour dotnet.. j'attends de voir un emseble de produits de dev (libre) et des applications en production...
C# est plus récent, il est normal que les outils soient en retard, surtout comparé à Eclipse. Maintenant il faut pas pousser, il existe déjà des outils de dev libres (#develop / monodevelop), des plateformes de développements GPL (mono), des applications en productions ( http://www.novell.com/products/ifolder/(...) ) mais ça on ne le voit pas forcément si on utilise Windows, vu qu'on se fout de comment a été codée l'application qu'on utilise.-
[^]Re: Autre chose
-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 13:20. (lien). Évalué à 2.Bien entendu, à part les "fabricants" de mono :)
Sun met aussi de super produts en production avec ces dernières technos :)
ce qui m'intéresse, ce sont des boites ou des produits importants qui ont vraiment un truc qui tourne sous linux avec mono et qui ont développé plus vite qu'avec d'autres langages avec #develop par exemple.
-
-
[^]Re: Autre chose
Posté par TImaniac (Jabber id, page perso, ) le 15/02/2005 à 11:54. (lien). Évalué à 2.Le JCP peut effectivement prendre des décisions qui ne vont pas forcement dans le sens de Sun, c'est arrivé, mais celà ne démontre aucunement l'indépendance du consortium vis-à-vis de Sun. On croirait que tu oublies que la porte n'est pas ouverte à tout le monde, et que c'est Sun qui décide qui y a droit de citer.
C'est un peu comme si tu faisais un parlement mais avec uns députés filtrés et non élus.
Je préfère perso largement un consortium parfaitement indépendant qui m'assure que tout ce qu'il normalise est LIBREMENT implémentable et sans DISCRIMINATION.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 13:20. (lien). Évalué à 2."que c'est Sun qui décide qui y a droit de citer"
Tu veux dire que sun décide qui a le droit de s'incrire et qui n'a pas le droit ?-
[^]Re: Autre chose
Posté par TImaniac (Jabber id, page perso, ) le 15/02/2005 à 15:25. (lien). Évalué à 1."Participation as a Member requires you or your organization to sign the Java Specification Participation Agreement (JSPA). The JSPA is a one-year, renewable agreement between you and Sun Microsystems, Inc."
Tout est dit.
Et puis bon, quand je vois l'implémentation des generics dans java 1.5, je me dis qu'ils doivent vraiment pas avoir beaucoup de poids les autres membres, parcque franchement laisser passer cette solution est vraiment déplorable et dénué de bon sens.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 15:30. (lien). Évalué à 4.non tout n'est pas dit, tu as dit dans ton commentaire que sun choisissait qui rentrait ce qui est faux... c'est tout.
Pkoi chez ecma et chez microsoft, tu fais toc toc à la porte, tu demandes à la secrétaire la salle de réunion, tu prends une chaise et un café et discute comme ça des specs ?
tu n'as rien à signer ?
participes tu à la plateforme .Net ? est ce que les gens de NHibernate vont participer à l'élaboration de l'outil de mappingO/R de microsoft ?
Tiens, sérieusement, est ce que NHibernate, NUnit et spring.net tournent avec mono ?-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 15:41. (lien). Évalué à 2.http://www.ecma-international.org/memento/join.htm(...)
Pour ceux qui ont pas saisie l'ironie, regardez ce qu'il faut pour pouvoir être à l'ecma...
Pour les individuels ou les oganisations comme apache, j'ai meme pas compris comment faire pour le rejoindre !-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 15/02/2005 à 16:12. (lien). Évalué à 2.Comme Mozilla ?
http://www.ecma-international.org/memento/NFP.htm(...)
Bah ils en font partis, ça tombe bien ...-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 16:18. (lien). Évalué à 2.Autant pour moi :) je disais juste que je voyais pas commetn faire d'après le "join" mais bon, je suppose que j'ai mal lu :)
N'empeche que mon idée qui est que la signature d'un contrat est oblgiatoire meme pour emca... car je voyais pas bien ce qui dérangait timaniac avec le contrat sun...
Par contre, timaniac, si tu pouvais répondre à mes questions mono un peu plus haut, j'ai un client qui se posait la question
-
-
-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 15/02/2005 à 16:24. (lien). Évalué à 2.Tiens, sérieusement, est ce que NHibernate, NUnit et spring.net tournent avec mono ?
Pour parler de ce que j'ai testé, Nunit marche parfaitement (faut dire implémenter un truc de tests unitaire c'est pas très dur), pour http://www.spring.net/(...) je pense pas ;) Pour NHibernate de ce que j'en lis sur les liste ça marche.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 16:42. (lien). Évalué à 2.Merci fabien :)
-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 16:49. (lien). Évalué à 2.tu remarqueras quand même que je me suis pas servi de ta réponse pour poser la question de la maturité de Mono ?
Pour demander si il est vraiment sérieux d'utiliser mono alors que des projets "importants" tournent pas dessus :)-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 15/02/2005 à 16:55. (lien). Évalué à 2.Pour la maturité de Mono il me semble évident qu'elle est moindre à celle de JVMs dont l'existence est bien antérieure et sur lesquelles le temps de développement homme/jour est bien supérieur.
Dans 2 ans je suis très curieux de ce que tout ça donnera. Pour des projets importants je ne sais pas si j'utiliserai Mono (je n'en sais rien, pas regardé d'assez près), pour les miens oui. Cependant ça ne pourra que se bonifier avec le temps, et j'ai été très surpris de voir les performances de Mono sur mes Linux en rapport avec la JVM Sun.
-
-
-
-
[^]Re: Autre chose
Posté par TImaniac (Jabber id, page perso, ) le 15/02/2005 à 18:15. (lien). Évalué à 3.t, tu as dit dans ton commentaire que sun choisissait qui rentrait ce qui est faux... c'est tout.
Je pensais pas qu'il y avait besoin de préciser la suite :
" When Sun executes the agreement, a copy will be faxed back to you."
Et il se passe quoi s'ils te répondent pas ?
N'ont-ils pas là le pouvoir le décider qui a le droit de fiare partie du commité ?
Alors oui, j'en conviens, il faut signer un accord pour faire partie de ce genre de consortium, ca me paraît évident, mais dans le cas JCP ben je trouve pas celà très "indépendant".
De plus le jour où Sun décide que non après tout le JCP celà ne lui convient plus il se passe quoi ?
Et puis Java & Co restent des marques de Sun, bref Sun fait ce qu'il veut sur son produit si celà lui chante, et enmerde qui il veut (genre MS qui implémente une version non conforme de la JVM, je ne juge pas sur la pertinence mais je constate cette possibilité qu'a Sun que l'ECMA ne permet pas)
au fait C# et les bases de .NET sont à l'ECMA ET à l'ISO, bref, c'est des vrais standards reconnus.
Plus sérieusement en dehors de ce débat sur l' "indépendance" de la techno et de sa normalisation, la questiond e la maturité ne se pose pas, elle est évidente : Java a 15 ans (à la louche) et Mono est en produciton depuis 6 mois.
Seulement quand on voit la maturité qu'à atteind Mono en si peut de temps comparé aux autres projets Java LIBRES (Kaffe, gcj), je me dis qu'il n'y a pas du tout la même réactivité des 2 côtés.
Pour ce qui est de l'environnement de développement il faut bien reconnaître que Eclipse n'a pas d'égal dans le monde Mono (Visual Studio posant évidement trop de limitation en matière de libertés). Mais tout le mérite revient à IBM, et non à l'adoption de Java par le LL face à sa maturité.
est ce que les gens de NHibernate vont participer à l'élaboration de l'outil de mappingO/R de microsoft ?
Je captes pas là, c'est quoi le rapport ?
Des solutions de mapping O/R il en existe des dizaines, NHibernate est sans doute la plus répendue (grâce à la renommée de la version Java), mais je ne vois pas en quoi ils doivent s'impliquer dans une solution de MS, à la limite je trouve celà pas plus mal qu'ils gardent leur indépendance "technologique".
Enfin bref, évitons les trolls, et concluons :
- les 2 parties font des efforts côté ouverture.
- ECMA/ISO est un meilleur gage de normalisation que le JCP (qui comme son nom l'indique a été créé par et pour Sun)
- Java est beaucoup plus mature
- Mono n'a pas d'appli industrielles pour faire des démonstrations
Par contre question communauté du LL, Mono a l'air d'être beaucoup plus adopté, en tout cas si je me réfère au site GnomeFiles :
http://www.gnomefiles.org/(...)
Regardes dans les best rated le nombre d'appli Mono (7 sur 20) et le nombre d'appli Java...
Sinon un truc pour nous réconcillier :
IKVM.
un mariage audacieux entre Mono et Gnu ClassPath :)
-
-
-
-
-
-
-
-
-
-
-
-
-
-
[^]Re: Autre chose
Posté par Philippe Fremy (page perso, ) le 15/02/2005 à 07:26. (lien). Évalué à 3.Qu'apporte junitScenario par rapport aux utres solutions de test unitaires en Java: junit, easymock, mockobjects ?
En jetant un coup d'oeil rapide, j'ai strictement rien vu de neuf donc je suis un peu sceptique.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 08:24. (lien). Évalué à 2.En fait, JUnitScenario se situe au dessus de JUNit... on écrit toujours les tests avec JUnit...
JUnitScenarion permet juste de simuler un certain nombre d'utilisateurs lancant certains tests pendant un certain temps...
Ca permet en fait du'tiliser les tests unitaires pour simuler plusieurs utilisateurs sur l'application et ainsi s'assurer que l'appli tient le coup avant sa mise en prod-
[^]Re: Autre chose
Posté par B r u n o (page perso, ) le 15/02/2005 à 09:30. (lien). Évalué à 1.Mais est-ce que "stresser" un test unitaire a vraiment un sens?
note (regaine habituelle) : je suis aussi un utilisateur de java, mais ce genre de news pour une version pas trés propre (sic) a-t'il vraiment sa place sur linuxfr ? Applications-server.com, TSS, un journal dlfp, etc... serait plus approprié, non? C'est en train de devenir FreshmeatFr.org ici-
[^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 15/02/2005 à 10:10. (lien). Évalué à 2.Je pense que c'est pertinent ici parce que ça lance des discussions sur ce qui est tests unitaires, et on voit bien que c'est des questions recurrentes. Une autre application on s'en fiche, tout ce qui se rapproche des modélisations, méthodes de travail, tests unitaires, scenario, OCL, etc, a à mon avis sa place ici.
-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 10:16. (lien). Évalué à 2.d'accord avec toi sur ce point :)
Ce projet se voulait aussi un peu l'écho d'une news passé plus tot sur l'utilité des test unitaires...
La, l'idée est de se dire : ok les tests unitaires sont fondamentaux, par contre, pkoi ne pas s'en servir pour tester la "scability" des applications avant leur mise en place ?
Bref, l'indistrualisation du développement logiciel ;)
-
-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 10:18. (lien). Évalué à 2.beh oui d'après moi car les tests unitaires simulent l'utilisation d'une application...
-
-
[^]Re: Autre chose
Posté par Philippe Fremy (page perso, ) le 15/02/2005 à 09:54. (lien). Évalué à 3.Ce que vous faites, j'appelle ca un test fonctionnel. Je reste sceptique dans la mesure ou un test unitaire reste unitaire, c'est a dire dedie a une fonctionnalite precise.
La somme des tests unitaires ne constitue pas un test fonctionnel. Il faut mettre son grain de sel (sa connaissance du fonctionnement du bazar) dedans. Dans mon experience, on s'appuie sur les mecanismes mis en place lors des tests unitaires, mais on ne re-utilise pas les tests unitaires tel quel.
C'est un peu comme la generation automatique de test unitaire a partir des headers. C'est genial sauf que 50 tests unitaires auto-generes ne peuvent remplacer des tests ecrits par le developpeur, qui va tester la ou ca fait mal.
Ce que tu me decris me semble plus facile a mettre en place avec un vrai test, fait non pas d'assemblage de tests unitaires, mais de reproduction du comportement d'un utilisateur.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 10:12. (lien). Évalué à 2.Je m'explqique un peu mieux... pour une application de gestion commerciale par exemple, on va avoir des tests unitaires comme:
creerClient, creerDevis, transformerDevisEnCommande...
Ces tests reproduisent en gros ce que les utilisateurs vont faire avec l'application, donc pourkoi ne pas les utiliser pour simuler les actions des utilisateurs?
Par exemple écrire un scenario vendeur
en simulat qu'en une heure ce type d'utilsisateur va créer 6 clients et 15 devis... et de simuler que 15 vendeurs vont travailler sur l'application en continue ?
Et surtout, le tout en écrivant un bete fichier xml tout simple.. c tout
est ce plus clair ?-
[^]Re: Autre chose
Posté par Romain Vinot (page perso, ) le 15/02/2005 à 10:51. (lien). Évalué à 3.Bah moi, je suis toujours pas convaincu. Les tests unitaires permettent de tester non pas une fonctionnalité mais une unité de code. Typiquement, quand tu veux faire un test creerClient, tu ne crées pas vraiment le client dans la base de données, tu crées un objet Mock de ta base et tu vérifies que ton code Java génère bien les requêtes SQL correctes. Il ne s'agit pas de tester que ton moteur de BD fait bien l'insertion correctement, on suppose que la BD sait le faire.
Donc les tests unitaires ne permettent pas du tout de tester une appli réelle. Il y a les tests de recettes qui sont fait pour ça.
Après, effectivement, on peut utiliser des outils de type JUnit pour créer des tests de recettes (dont une partie peut être des tests de charge), mais il ne faut surtout pas dire que JUnitScenario permet de réutiliser les tests unitaires pour faire des tests de charge. C'est une grosse erreur et contribue au flou qui entoure la définition d'un test unitaire.
Pour info, il existe HtmlUnit qui utilise le framework JUnit également et dont le but est de simuler un navigateur web qui permet de faire des tests de recettes de façon très simple. Mais attention faire des tests de recettes automatiques, c'est autrement plus compliqué que des tests unitaires automatiques.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 11:01. (lien). Évalué à 2."Les tests unitaires permettent de tester non pas une fonctionnalité mais une unité de code."
Pas pour moi, mes tests unitaires testent toutes les fonctionnalités de la couche service, c'est à dire la logique métier que je vais partager.
Mes tests unitaires créent reelement les clients et tout le reste dans la base, ils me permettent de valider ma couche service et de garantir sa conformité.
"C'est une grosse erreur et contribue au flou qui entoure la définition d'un test unitaire."
Pas du tout d'accord, ma définition est claire, les tests unitaires servent surtout pour nous à valider les fonctionnalités de l'application pour s'assurer que tout ce qui sera développé fonctionnera correctement.
Je ne vois pas ou est la difficulté
creerClient() créer un client tel qu'une appli ou un utilisateur le ferait et on valide juste que cette fonction peut etre appelée 50 fois par heures par 50 utilisateurs sans que le serveur crash.-
[^]Re: Autre chose
Posté par Romain Vinot (page perso, ) le 15/02/2005 à 11:29. (lien). Évalué à 3.Pas du tout d'accord, ma définition est claire, les tests unitaires servent surtout pour nous à valider les fonctionnalités de l'application pour s'assurer que tout ce qui sera développé fonctionnera correctement.
Ok, mais chaque utilisateur de JUnit a sa propre définition de test unitaire et s'en sert à sa manière.
L'utilisation "orthodoxe", celle mis en exergue par les auteurs initiaux de Junit et du TDD (Test Driven Development) n'est pas la même définition que la tienne. Pour eux, un test unitaire doit tester une partie de code et non pas une fonctionnalité. D'où l'utilité de objets bouchons (stubs), des Mock et autres bizarreries. Pour tester une fonctionnalité, il ne faut clairement pas utiliser d'objets stubs, puisque ça modifie clairement l'environnement qui n'est plus comme un serveur de production. Par ailleurs, l'accès à la BD est un problème récurrent. Pour faire du TDD et lancer les tests 3 fois par heure, tu ne peux pas te permettre d'accéder à la BD pour les 2000 tests qui tu as écris.
Plus d'infos sur http://www.junit.org,(...) http://www.easymock.org,(...) ...
Maintenant, ton utilisation de Junit est parfaitement valable pour tes tests de fonctionnalités que tu appelles tests unitaires. Chacun fait ce qu'il veut avec l'outil qui lui convient et tout est bien dans le meilleur des mondes :)-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 11:37. (lien). Évalué à 2."Pour eux, un test unitaire doit tester une partie de code et non pas une fonctionnalité"
Ils ont pas vu assez loin :)
Personnelement, avec une couche service qui a ses interfaces publiées, on peut désormais facilement écrire les tests unitaires correspondant. Ces tests peuvent ensuite être lancées pour valider les services indépendament des applications développées au dessus de cette couche.
Je pense que ne pas tester cette couche est une erreur...
pour la base de données, je vois pas le prb de voir ce qu'elle peut supporter :)-
[^]Re: Autre chose
Posté par Romain Vinot (page perso, ) le 15/02/2005 à 13:47. (lien). Évalué à 2.Bien sûr, tu peux tester des services indépendamment des applications développées au-dessus de cette couche. Ce qui est plus dur, c'est de tester des services indépendamment des autres services situés en-dessous de cette couche (en particulier la couche persistante d'accès aux données).
Pour la BD, son accès est lent (comparativement à un accès direct en RAM). Quand tu exécute 2000 tests et que tu veux pouvoir les exécuter en moins d'une minute (c'est un des pré-requis de la méthodologie TDD), bah, avec une BD ça va pas être possible.
En plus, les tests unitaires, il est hautement conseillé de les rendre indépendant les uns des autres et de l'environnement. Ce sont des tests standalone (D'où le coup du setUp et du tearDown qui sont exécutés A CHAQUE TEST). Avec la BD, ce n'est pas possible. Tu ne peux pas générer une BD propre pour chaque test.
Mais encore une fois, tout cela ne concerne que la vision spécifique des amateurs de TDD, ce n'est pas la tienne, c'est tout. Mais bon, j'aime bien quand même cette conversation alors je continue :)-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 14:22. (lien). Évalué à 2.Ok pour ton premier point mais le but pour moi est de constuire un ensemble de services utilisables par d'autres développers/applications et ils se fouttent des couches du dessous, nottament la persistance... ils recoivent des objets java et les renvoiet c tout...
"Quand tu exécute 2000 tests et que tu veux pouvoir les exécuter en moins d'une minute"
Ca ne m'interesse pas dans le cadre du développement d'applications métiers... le but pour moi est que si il y a 1000 créations de clients par heure avec l'appli que je développe, c'est de m'assurer que la base, l'os, le serveur d'appli, le réseau et tout le reste vont résister à ces 1000 créations.
"Tu ne peux pas générer une BD propre pour chaque test."
On a une tache init qui regénère la base, insière les donénes de config et lance le tout... on peut à tout moment relancer tous les tests de l'application.. sans prérequis ou config spéciale....
"Mais encore une fois, tout cela ne concerne que la vision spécifique des amateurs de TDD, ce n'est pas la tienne, c'est tout. "
Tout à fait :) c'est toujours enrichissant de discuter serainement avec des gens intelligents.-
[+] [^]Re: Autre chose
Posté par Fabien Penso (Jabber id, page perso, ) le 15/02/2005 à 14:39. (lien). Évalué à -2.Tout à fait :) c'est toujours enrichissant de discuter serainement avec des gens intelligents.
Ouais, gros con.
--
Désolé, j'ai pas pu...-
[+] [^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 14:40. (lien). Évalué à -1.J'ai noté ta remarque comme inutile mais après reflexion, j'ai regrété :) désolé
-
-
[^]Re: Autre chose
Posté par Romain Vinot (page perso, ) le 15/02/2005 à 15:16. (lien). Évalué à 1."Quand tu exécute 2000 tests et que tu veux pouvoir les exécuter en moins d'une minute"
Ca ne m'interesse pas dans le cadre du développement d'applications métiers...
Non. ca ne t'intéresse pas dans le cadre des tests que tu réalises. Ca n'a rien à voir avec le fait que le développement soit d'application métier ou pas (ce qui d'ailleurs ne veut pas dire grand chose, y a quelqu'un qui développe autre chose que des applis métiers ?).
On a une tache init qui regénère la base, insière les donénes de config et lance le tout... on peut à tout moment relancer tous les tests de l'application.. sans prérequis ou config spéciale....
Et si je veux exécuter UN test unitaire ? J'ai un bug quelque part, j'ai déterminé dans quelle classe il était, je crée mon test unitaire qui va bien et je veux exécuter juste celui-là. Je fais comment avec ton système ?
Ca montre bien que ce ne sont pas des tests unitaires que tu fais mais plutôt des tests de recettes ou des tests de fonctionnalités !-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 15:25. (lien). Évalué à 2."Non. ca ne t'intéresse pas dans le cadre des tests que tu réalises. Ca n'a rien à voir avec le fait que le développement soit d'application métier ou pas (ce qui d'ailleurs ne veut pas dire grand chose, y a quelqu'un qui développe autre chose que des applis métiers ?)."
Ce que je veux dire par la, c que cela ne me sert à rien un test sans base de données !
"Et si je veux exécuter UN test unitaire ? J'ai un bug quelque part, j'ai déterminé dans quelle classe il était, je crée mon test unitaire qui va bien et je veux exécuter juste celui-là. Je fais comment avec ton système ?"
Je crois que tu n'as pas bien saisi, si j'ai un test à lancer, je ne vais pas utilisier JUnitScenario !
En fait, on développe comment avant, on lance nos testcase avec JUnitEE, ou une tache ant ou eclipse, classqiue koi.
On développe comme d'ab.
C'est juste que les vendredis soir, on lance junitscenario pour qu'il stresse le serveur le week et qu'on voit lundi si le serveur tient la charge et si les performances sont "assez bonne".-
[^]Re: Autre chose
Posté par Romain Vinot (page perso, ) le 15/02/2005 à 15:54. (lien). Évalué à 1.Je voulais juste indiquer que l'idée même d'un scénario pour des tests unitaires, c'est pas logique dans le sens où les tests unitaires sont sensés être indépendants, non ordonnés, etc. C'est la philosophie de JUnit et beaucoup de principes de fonctionnement de ce framework viennent de cette philosophie, que tu mets à la poubelle avec ton JUnitScenario.
Donc le JUnitScenario n'est pas conforme à la philosophie de JUnit. Et alors ? La belle affaire ? Qu'est-ce j'en ai à pêter ? Heu bah rien, c'était juste pour discuter :)
Comme j'ai la vague sensation que ça commence à tourner un peu en rond, je vais arrêter la conversation là, ça vaudra mieux que de se répeter encore et encore...-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 15:58. (lien). Évalué à 2.Cette discution ne tourne pas tant en rond que ça :)
Prenons mon exemple, on a 3 tests
creerClient
creerDevis
transformerDevisEnCommande
Ce sont des choses que l'utilisateur final va faire.. cela a donc un sens de les lancer les uns après les autres car au final, c ce que l'utilisateur va faire
donc on simule bien l'utilisation reelle de l'application et c'est la le but, ce n'est pas du tout de faire la suite de junit ou un truc de ce genre...
si tu veux discuter par mail ou tel, je suis dispo ;)-
[^]Re: Autre chose
Posté par Philippe Fremy (page perso, ) le 15/02/2005 à 18:43. (lien). Évalué à 8.Le monsieur t'explique qu'il y a un probleme de vocabulaire. Ce que tu appelles test unitaire est en fait un test fonctionnel. Les tests unitaires et les tests fonctionnels sont deux choses tres bien, mais distinctes.
Le signification de test unitaire est acceptee par beaucoup de monde et signifie "tester independamment des morceaux de code". Le but est de mettre en evidence des problemes dans un morceau precis de code de facon a faire de la non-regression. Cette definition est supportee d'une part par les livres traitant d'extrem programming, d'autre part par la communaute et les outils de test unitaires.
Les tests fonctionnels ont un autre role: validation de l'integration de toutes les briques ensemble, stress de l'application par l'envoi de requetes en serie, reproduction du comportement d'un utilisateur.
Typiquement, comme te le dis le monsieur plus haut, creerClient va juste generer une requete SQL fictive et validera que la requete est ce qu'elle doit etre. Idem pour creerDevis. La conclusion logique, c'est que lancer l'un apres l'autre ne stresse pas du tout l'application car ce sont des tests _unitaires_
Maintenant, tu peux mettre en place des tests fonctionnels, en t'appuyant aussi sur Junit et les executer via un scenario. C'est une bonne idee et je fais ca aussi dans mes projets. Dans ce cas, ton test creera effectivement une vraie base de donnee et reproduira le comportement d'un utilisateur.
C'est le fait que JUnit puisse etre utilise dans deux contextes differents (tests unitaires, tests fonctionnels) qui seme la confusion ici.
En continuant a appeler ton projet JUnitScenario, tu risques de ne pas du tout faire comprendre l'utilite de ton soft (donc tu peux oublier les contributeurs):
- les gens qui ne connaissent rien au test unitaire ne seront pas interesses
- les gens qui connaissent les tests unitaires comme moi trouveront ton bidule inutile.
Je te conseille donc pour le bien de ton projet de faire bien comprendre le message. Qqch comme:
"JunitScenario builds an automation framework on top of JUnit to perform functional tests and stressing tests".
Une fois que ce point la est eclairci, ton projet devient interessant.
Mais si tu veux, tu peux continuer a appeler test unitaire un test fonctionnel. Tu peux aussi appeler le soleil "Lune". Mais ca reste le soleil et personne ne te comprendra.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 19:53. (lien). Évalué à 3.Ok, c juste un problème de vocabulaire alors... je croyais que vous ne compreniez pas le principe :) en fait, vous me disiez juste que c pas le bon mot que j'utilise donc vous aviez compris depuis le début ? :D
J'aime bien ta définition, je vais la reprendre.-
[^]Re: Autre chose
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 19:58. (lien). Évalué à 2.Bon.. bonne nouvelle quand même, les gens sur Theserverside comprennent http://www.theserverside.com/news/thread.tss?thread_id=31820(...) :)
-
[^]Re: Autre chose
Posté par Pierre Tramonson () le 15/02/2005 à 21:12. (lien). Évalué à 2.J'avais compris ta définition perso ;)
JUnit permet certes de faire des tests unitaires (!) mais on peut aussi s'en servir pour faire des tests fonctionnels, qui sont plus proches de la réalité.
Chez moi, chaque jeu de test fontionnel reprend différents jeux de tests unitaires et simule une fonctionnalité en lançant successivement les différents TU.
Après il est possible de regrouper les tests fonctionnels dans JUnitScenario, et bien... à voir j'ai pas encore testé.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
Utilité
Bah moi, je suis convaincu. Je cherchais un truc comme ça depuis quelque temps.
Merci les gars.
Par contre, y a t il une intégration à Maven de prévue, en plus de Ant ?
Avez vous pris contact avec les mecs de JUnit pour les informer du projet ?
-
[^]Re: Utilité
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 10:13. (lien). Évalué à 2.Merci :) ca fait plaisir...
non, on a juste fait une première version pour voir l'interet... on a vu jmeter et junit mais c un peu trop lourd :(
notre truc lui est vraiment simple...
on cherche des petites mains habiles sinon ;)
De la concurrence...
Intéressant. Jusqu'à présent j'utilisais Grinder qui est essentiellement orienté HTTP mais que l'on peut faire exécuter ce que l'on veut puisqu'il suffit d'implémenter une interface pour définir un appel de méthode.
Grinder fait déjà beaucoup de choses comme la répartition machine/process/thread avec synchronisation des clients sur la console. A voir si ce n'est pas mieux de lui adjoindre un plugin pour TestCase JUnit et d'améliorer sa définition de scénario plutôt que de tout refaire.
-
[^]Re: De la concurrence...
Posté par Stéphane Traumat (page perso, ) le 15/02/2005 à 14:24. (lien). Évalué à 2.Merci :)
mais c vrai que je n'ai pas l'habitude de développer la partie présentation, donc je voulais un truc super simple ( le fichier scenario.xml est la seule chose à faire et ca prend pas plus de 15 minutes ) pour pouvoir tester ma couche service



Cette discussion est archivée, il n'est plus possible de laisser des commentaires.
Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.