Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI et Outils pour Java Discussion :

Comment programmer efficacement en JEE ?


Sujet :

EDI et Outils pour Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    mars 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : mars 2004
    Messages : 76
    Points : 56
    Points
    56
    Par défaut Comment programmer efficacement en JEE ?
    Bonjour à tous,

    Sous Eclipse, nous sommes donc 4 à passer un temps monstre à installer / configurer / tester / installer / tester / re-pester / ...

    Question : comment fait-on pour programmer efficacement en JEE, sans passer des journées à installer des plugins et autres .jar qui ne veulent jamais fonctionner ?

    Nous nous sommes éclaté avec du JDBC, des servlets, du JSP, mêlé de JQuery, d'Ajax et de CSS. Aucun soucis. Nous sommes passé à l'utilisation de Frameworks, et là ... c'est le drame !!

    Donc il y a certainement une méthode de travail qu'on a zappé. Vous faites comment ?

    Maven fait aussi partie de ces plugins avec lequel on a quelques difficultés, donc n'hésitez pas ! Tous les conseils sont les bienvenus !

    Merci d'avance pour votre aide.

    Edit 1 :
    On a réussi à faire marcher Maven, donc on va voir ce que ça donne... Si ça résout nos problèmes...

    Edit 2 :
    Petite correction, nous avions réussi à l'installer mais nous n'arrivons pas à le faire fonctionner...

    Donc toute idée, quel que soit le sujet, on est preneur en fait.

  2. #2
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 467
    Points : 48 756
    Points
    48 756
    Par défaut
    Prendre un thé à la place du café et se calmer pour commencer, éviter de saturer votre eclipse avec 50.000 plugins différents et, pour les plugins donc vous avez besoin, lire la doc d'installation.

    Personellement, spring-source (eclipse préconfiguré pour spring + Web) + SVN + Maven + 2/3 autres trucs et tout marche out of the box :/


    coté servlet & co, je vois pas ce que vous essayez d'installer, le WTP est fournis en base avec les install eclipse J2EE. Quand à ajax / css, j'ai jamais eu besoin d'un plugin pour ça et j'en voie pas trop l'utilité.


    Ensuite une fois que t'as une base qui marche, tu part avec. De temps en temps, un programmeur de l'équipe essaie un truc en plus (ho un plugin pour le code coverage, ho un plugin pour findbugs) et si ça marche, le reste de l'équipe suit.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    mars 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : mars 2004
    Messages : 76
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Prendre un thé à la place du café et se calmer pour commencer
    C'était la fin de journée, désolé...

    Citation Envoyé par tchize_ Voir le message
    éviter de saturer votre eclipse avec 50.000 plugins différents et, pour les plugins donc vous avez besoin, lire la doc d'installation.
    C'est pas le nombre à installer avant d'arriver à en faire marcher 1 ?
    D'ailleurs, on a pas trouvé comment les retirer non plus...

    Citation Envoyé par tchize_ Voir le message
    Personellement, spring-source (eclipse préconfiguré pour spring + Web) + SVN + Maven + 2/3 autres trucs et tout marche out of the box :/
    On est parti d'Eclipse JEE de base, avant d'ajouter ce dont on avait besoin, au fur et à mesure : Spring, Spring ws (qui n'est pas dans la grosse Framework Spring, logique...), Struts, Hibernate et Maven, principalement.

    Citation Envoyé par tchize_ Voir le message
    coté servlet & co, je vois pas ce que vous essayez d'installer, le WTP est fournis en base avec les install eclipse J2EE. Quand à ajax / css, j'ai jamais eu besoin d'un plugin pour ça et j'en voie pas trop l'utilité.
    C'était surtout pour dire que sur l'aspect code pur, on a réussi à se démerder sans soucis ... tant qu'il n'y a rien à installer !!

    Citation Envoyé par tchize_ Voir le message
    Ensuite une fois que t'as une base qui marche, tu part avec. De temps en temps, un programmeur de l'équipe essaie un truc en plus (ho un plugin pour le code coverage, ho un plugin pour findbugs) et si ça marche, le reste de l'équipe suit.
    Ben justement, il nous faudrait une base pour faire marcher tous les programmes pré-cités. Et il faudra certainement qu'on change de version d'Eclipse après, donc autant savoir comment installer des plugins et Frameworks proprement.

    Tu veux un exemple de problème ?
    Tuto Maven : http://dcabasson.developpez.com/arti...uction-maven2/
    Il ajoute bêtement Hibernate...

    A mon tour : je crée un projet vide, et j'essaie d'y ajouter Hibernate dans le pom.xml (dernière version stable : 3.6.5)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <dependency>
    <groupId>hibernate</groupId>
    <artifactId>hibernate</artifactId>
    <version>3.6.5</version>
    <scope>compile</scope>
    </dependency>
    Message d'erreur.
    Fouillons sur maven.org et essayons de mettre les choses proprement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <groupId>org.hibernate</groupId>
    <artifactId>hibernate-parent</artifactId>
    <version>3.6.5.Final</version>
    Ben oui, j'ai pas trouvé la version "core", donc j'ai essayé le "parent", au hasard.
    Message d'erreur.
    On a cherché mais on n'a pas réussi à faire fonctionner un projet utilisant Maven.

  4. #4
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 467
    Points : 48 756
    Points
    48 756
    Par défaut
    ca ça n'a rien a voir avec eclipse, ça a a voir avec la bonne utilisation de maven.

    On peux voir la tête de votre pom.xml et surtour l'erreur générée? Y a quoi dans la console maven?


    Pour l'installation de plugins eclipse, il y a un menu software update ou vous pouvez tapper les urls d'update des plugins, vous cocher les plugins que vous voulez, ca redémarre eclipse et c'est tout bon.

    Pour désinstaller c'est une peux plus chiant, le plus stable que je connaisse et le moins bidouille c'est d'utiliser les snapshots que eclipse fait à chaque installation de nouveau plugins pour revenir en arrière.


    et pour hibernate core, c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-core</artifactId>
        <version>3.6.5.Final</version>
    </dependency>
    utilisez le site http://www.mvnrepository.com pour trouver vos artefacts facilement

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    mars 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : mars 2004
    Messages : 76
    Points : 56
    Points
    56
    Par défaut
    Edit : J'ai fait un super message ... disparu en cours de route, donc désolé si celui-ci manque de précision, finalement.

    Citation Envoyé par tchize_ Voir le message
    ca ça n'a rien a voir avec eclipse, ça a a voir avec la bonne utilisation de maven.
    J'ai créé un topic spécifique pour la partie Maven à l'endroit adéquate ... et j'ai finalement réussi une compilation Maven !!

    Citation Envoyé par tchize_ Voir le message
    Pour l'installation de plugins eclipse, il y a un menu software update ou vous pouvez tapper les urls d'update des plugins, vous cocher les plugins que vous voulez, ca redémarre eclipse et c'est tout bon.
    C'est comme cela qu'on a installé le plugin m2eclipse.
    Il faut quand même préciser qu'on a vu qu'il était directement inclut dans Eclipse Indigo, et que le projet de Sonatype était repris par Eclipse.org. Sauf qu'on a jamais trouvé où était le plugin Maven d'Eclipse.org (dans Eclipse), que ce soit à partir de la version Indigo ou après avoir téléchargé le plugin m2e d'Eclipse.org.
    Après être revenu à la version de Sonatype, moins récente, cela fonctionne alors allons-y.

    En revanche, on avait tenté d'utiliser Spring WS auparavant, et l'histoire fut moins joyeuse. Sur 4 PC, 1 seul a réussi à faire un "Hello World From Spring" ... et aucun n'a réussi à faire fonctionner un bête Web Service à notre disposition à partir de Spring WS.
    On s'est servi de "New Software Updates" pour mettre le "Core / Spring IDE" à partir de http://springide.org/updatesite : pas moyen d'avoir une install qui se fasse en entier.
    On a télécharger pleins de .jar, on a essayé d'arranger tout ça comme on a pu (ajout du spring-ws-2.0.2.RELEASE-all.jar et en remplissant les propriétés "Source attachment" --> spring-ws-2.0.2.RELEASE-sources.jar, "Javadoc location", et "Native Library Location"), mais rien n'a fonctionné.

    Citation Envoyé par tchize_ Voir le message
    Pour désinstaller c'est une peux plus chiant, le plus stable que je connaisse et le moins bidouille c'est d'utiliser les snapshots que eclipse fait à chaque installation de nouveau plugins pour revenir en arrière.
    Dans notre cas, ça signifie revenir à un point où notre Eclipse serait vierge puisque le premier truc essayé a planté : Spring.

    Citation Envoyé par tchize_ Voir le message
    utilisez le site http://www.mvnrepository.com pour trouver vos artefacts facilement
    Au premier coup d’œil, cela parait moins clair que maven.org, mais on va essayer. En tout cas, merci pour tous ces conseils !!

    Et si t'en as d'autres, on est évidemment preneur !!

  6. #6
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 467
    Points : 48 756
    Points
    48 756
    Par défaut
    Citation Envoyé par Cyborg Voir le message
    Sauf qu'on a jamais trouvé où était le plugin Maven d'Eclipse.org (dans Eclipse), que ce soit à partir de la version Indigo ou après avoir téléchargé le plugin m2e d'Eclipse.org.
    La dernière fois que j'ai regardé, ca faisait presque 1 an qu'il étaient occupé de migrer le projet. Alors oui, la version sur le site de sonatype est bien celle à installer et la plus récente

    En revanche, on avait tenté d'utiliser Spring WS auparavant, et l'histoire fut moins joyeuse.
    Si vous voulez un environnement J2EE configuré pour du spring, téléchargez directement spring source en bundle, ca vous évitera de perdre du temps :p


    pour info, voici quelques urls d'update que j'utilise


    http://subclipse.tigris.org/update_1.6.x
    http://m2eclipse.sonatype.org/sites/m2e
    http://m2eclipse.sonatype.org/sites/m2e-extras
    SpringSource Update Site for Eclipse 3.6 - http://dist.springsource.com/release/TOOLS/update/e3.6
    http://www.zeroturnaround.com/update-site

  7. #7
    Membre éprouvé
    Profil pro
    Inscrit en
    février 2010
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : février 2010
    Messages : 764
    Points : 1 027
    Points
    1 027
    Par défaut
    Citation Envoyé par Cyborg Voir le message
    Nous nous sommes éclaté avec du JDBC, des servlets, du JSP, mêlé de JQuery, d'Ajax et de CSS. Aucun soucis. Nous sommes passé à l'utilisation de Frameworks, et là ... c'est le drame !!
    La plupart du temps en entreprise il y a une équipe dédié à ça.
    Son rôle est de fournir un poste de travail développeur opérationnel immédiatement, avec tout ce qui va bien comme par exemple des squelettes d'applications et des plugins maison pour générer une partie du code.

    Faire du maven pour faire du maven car les copains en fond, c'est inutile, le besoin dicte l'utilisation de tel ou tel outil.
    Spring ce n'est pas le plus simple des frameworks et la roadmap du projet convient de moins en moins aux grosses boites. Mais ici je vais me faire tapper dessus en disant ça. Mais c'est une réalité, j'ai un gros client (genre une boite du CAC40) qui a déclaré Spring persona non grata dans son SI.

    Depuis des années, la tendance a été d'empiler les couches les unes sur les autres, et au final le ticket d'entrée du développeur était de plus en plus cher. On a finit par mettre tout ça en centre de service, mais là encore le résultat est une augmentation des coûts. Maintenant il faut développer pour tous les types d'écrans, internet, smartphones, tablettes etc ... on multiplie encore les technos et donc les coûts. Les développeurs mettent des mois et des mois avant d'être opérationnel, là ou quelques jours suffisait.

    La tendance à l'heure actuelle est donc de simplifier tout ça.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    mars 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : mars 2004
    Messages : 76
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par tchize_ Voir le message
    Si vous voulez un environnement J2EE configuré pour du spring, téléchargez directement spring source en bundle, ca vous évitera de perdre du temps :p
    Et y'a la même chose pour hibernate, struts ?
    On nous demande d'apprendre à manipuler différents frameworks. On va pas utiliser un nouvel EDI pour chaque framework ?!?

    Citation Envoyé par Jimmy_ Voir le message
    La plupart du temps en entreprise il y a une équipe dédié à ça.
    Son rôle est de fournir un poste de travail développeur opérationnel immédiatement, avec tout ce qui va bien comme par exemple des squelettes d'applications et des plugins maison pour générer une partie du code.
    Comme j'le disais, on est actuellement en "formation" (on s'auto-forme plus qu'autre chose) pour apprendre à manipuler ces différents Frameworks chez les clients. Si on peut pas les installer, pas facile d'apprendre à les manipuler.

    Citation Envoyé par Jimmy_ Voir le message
    Faire du maven pour faire du maven car les copains en fond, c'est inutile, le besoin dicte l'utilisation de tel ou tel outil.
    Si ça peut nous simplifier la vie pour l'install de nos postes, on est preneur.

    Citation Envoyé par Jimmy_ Voir le message
    Spring ce n'est pas le plus simple des frameworks et la roadmap du projet convient de moins en moins aux grosses boites.
    En l'occurrence, c'est ce qu'on nous demande d'apprendre. C'est pas à nous de dire si c'est bien, ou pas.

    Citation Envoyé par Jimmy_ Voir le message
    Depuis des années, la tendance a été d'empiler les couches les unes sur les autres [...]. Maintenant il faut développer pour tous les types d'écrans, internet, smartphones, tablettes etc ...[...]
    C'est un débat à part entière, donc on va essayer d'éviter. Cependant, y'a quand même une question qui me turlupine :
    Comment un développement en plusieurs couches, optimisant les parties de code réutilisables, peut coûter plus cher qu'un développement où, pour chaque matériel, il faut tout re-développer ?
    Re-développer tout de manière plus spécifique est moins coûteux que de développer une bonne fois pour toute de manière générique ?

    L'exemple des smartphones, tables, etc me parait le plus parlant : il n'y a que l'interface à revoir, en fonction du matériel ; le contenu du logiciel, le coeur métier, les accès en base de données ... Tout ça n'est pas à re-développer !?!

  9. #9
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    avril 2007
    Messages
    25 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : avril 2007
    Messages : 25 467
    Points : 48 756
    Points
    48 756
    Par défaut
    hibernate, doit y a avoir des plugins principalement pour gérer l'autocomplétion dans les fichiers. J'en ai jamais vraiment ressenti le besoin.
    Struts, je vois pas trop quel serait le role des plugins là dedans C'est surtout des classes java et un peu de xml.
    Spring IOC est un très bon outils que je regrette de ne pas avoir découvert plus tôt pour mon dev, ca fait économiser moulte lignes de code. Maintenant, les trucs comme spring web etc, c'est plus spécifique et je comprend que toutes les boites n'en veillent pas nécessairement.

    L'empilement de couche n'est pas trop un problème, ce qui pose problème c'est quand on passe à l'orgie de couche où toute modification nécessite presque de modifier 7 ou huit couches différentes Et il faut dire ce qui est les "architectes" java ont fait beaucoup de dégats de ce coté là en créant d'énormes structure domino impossibles à maintenir à coût raisonnable.
    Il ne faut jamais penser "développer générique", il faut penser "développer pour le buisness, rendre par la suite le code générique si le besoin le justifie". Rien ne sert de développer client/serveur avec des couche d'abstraction interrogées par le web si au final le client a juste besoin d'une connexion desktop et ne budgetise pas au final le smartphone, l'iphone et la tablette

    Quand à l'équipe dédiée pour vous donner un pose de travail dev, c'est peut-être vrai dans les grosses SSI qui vendent 50 développeurs temps plein, mais les endroits comme là où je bosse ou t'as juste une équipe de dev en appoint parce que le dev c'est pas le buisness de la boite, on se débrouille

Discussions similaires

  1. [Palm] Comment programmer pour Palm Os ?
    Par Pascal Lob dans le forum Mobiles
    Réponses: 7
    Dernier message: 24/08/2007, 10h59
  2. Comment gérer efficacement des listes en Base de données ?
    Par alexk dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 12/04/2005, 21h21
  3. Réponses: 7
    Dernier message: 13/12/2004, 20h23
  4. Réponses: 9
    Dernier message: 17/02/2004, 13h21
  5. comment programmer une progressbar
    Par Choucas dans le forum Paradox
    Réponses: 3
    Dernier message: 13/11/2002, 12h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo