IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

Spring Java Discussion :

Quel serveur d'application pour application de gestion JEE


Sujet :

Spring Java

  1. #1
    Membre actif Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Points : 260
    Points
    260
    Par défaut Quel serveur d'application pour application de gestion JEE
    Bonjour,
    Je développe un nouveau projet JEE sous Java 1.8 avec le framework Spring MVC, peut-être Hibernate, Bootstrap, BDD PostgreSQL, le tout sur un serveur Ubuntu 14.04 hébergé sur un VPS OVH.
    J'ai déjà utilisé Tomcat il y a quelques années, mais GlassFish me tente ou pourquoi pas autre chose (JBoss...). Je voudrais connaître votre avis par rapport à mon besoin.
    Qu'est-ce qui est à la mode dans les boites en ce moment ?

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Ben dans ce cas ce serait bien d'exprimer quel est ton besoin

  3. #3
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    Tout dépend de ce que tu veux gérer: WildFly et Glassfish sont des serveurs JavaEE. Ils te fournissent l'API JPA (donc pas Hibernate directement) et d'autres API standards. Ils ont aussi des outils d'administration un peu plus évolués que Tomcat.
    L'avantage de Tomcat c'est que tu gères tout à la main. Bref tout dépend de ton besoin.

  4. #4
    Membre actif Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Points : 260
    Points
    260
    Par défaut
    J'ai un petit serveur OVH VPS SSD1 avec seulement 10Go d'espace et 2G0 de RAM donc un outil qui n'est pas trop gourmand est mieux.
    Quelles informations vous faut-il de plus pour me conseiller au mieux ?

  5. #5
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    WildFly tourne sur un PI ;o) mais bon faut un peu le tuner.
    Il existe aussi une version 'servlet' de WildFly qui est sûrement plus légère après j'ai pas comparé avec un Tomcat.
    Personnellement je ne vois pas trop l'intéret d'un spring-mvc surtout si tu fais du bootstrap mais bon j'ai pas utilisé depuis longtemps.

  6. #6
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 740
    Points
    3 740
    Billets dans le blog
    12
    Par défaut
    Si tu veux un truc pas trop gourmand tu as Jetty et Tomcat (ce sont des servlet container), si tu veux un serveur d'application respectant la spécification Java EE tu as plusieurs choix : WildFly (la version non-entreprise de JBoss) ou GlassFish par exemple. Tous dépend de ton besoin, en théorie si tu souhaites utiliser le framework Spring, ce dernier embarque le nécessaire pour faire de l'injection de dépendance je crois, donc un Tomcat devrait suffire. Si tu veux utiliser un maximum la spécification Java EE (JPA, JMS, EJB, CDI etc), il faudra te dépatouiller avec des dépendances que Jetty ou Tomcat n'embarque pas.

    PS: Rien ne t'empêche de faire du Bootstrap (Twitter) ou connecter ton application à une base PostgreSQL avec du Jetty ou Tomcat.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  7. #7
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 057
    Points : 1 532
    Points
    1 532
    Par défaut avis
    Bonjour,

    Tomcat ou Jetty, suffisent.
    Glassfish ou Jboss c'est trop lourd, c'est fait pour de l'EJB/CDI

    c'est comme utiliser un char d'assaut pour aller chercher une baguette.

    sinon pour le fun EJB Lite tu as Tomee, Tomcat + OpenEJB.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  8. #8
    Membre chevronné

    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    974
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 974
    Points : 1 825
    Points
    1 825
    Par défaut
    Citation Envoyé par Tanebisse Voir le message
    un outil qui n'est pas trop gourmand est mieux.
    tu peux envisager alors de remplacer Tomcat en utilsant vert.x

    http://thierry-leriche-dessirier.dev...ster-verticle/

    http://vertx.io/

  9. #9
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    @nathieb : moi ca me fait un peu rire de dire que Jboss/Wildfly c'est lourd à cause des EJBs (que tu peux enlever, il existe une distribution servlet only) et de CDI alors que tu vas te coltiner une application Spring MVC avec Spring, Spring Data, SpringWeb et tout le bousin qui vient avec.
    Glassfish comme WildFly sont modulaires et tu peux retirer les modules qui ne t'intéressent pas (cf distribution Servlet only ou WildFly Swarm). Tu peux même mettre juste un Undertow avec son extension Servlet si tu veux réduire au minimum.
    Après Java EE a tendance à mettre du CDI de partout donc c'est sûr que de retirer Weld ça va devenir de plus en plus délicat mais en même temps CDI pousse pour pouvoir s'exécuter en J2SE.

    Eclipse Vertx c'est un changement de paradigme donc tout dépend de ce que tu peux "investir" en terme de temps et de risque.

  10. #10
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Il y a surtout que je ne vois pas trop l'intérêt d'un serveur comme JBoss ou Glassfish quand on utilise Spring, Tomcat ira très bien, pourquoi changer ?
    L'intérêt d'un serveur JEE est dans l'usage de la norme JEE, pas d'un concurrent comme Spring...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  11. #11
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 468
    Points : 2 996
    Points
    2 996
    Par défaut
    Citation Envoyé par OButterlin Voir le message
    Il y a surtout que je ne vois pas trop l'intérêt d'un serveur comme JBoss ou Glassfish quand on utilise Spring, Tomcat ira très bien, pourquoi changer ?
    L'intérêt d'un serveur JEE est dans l'usage de la norme JEE, pas d'un concurrent comme Spring...
    JEE et Spring sont clairement concurrents et partenaires d'innovations a la fois. D'ailleurs, de nos jours avec l'injection et tout le tralala, tu passes de l'un a l'autre tres facilement, dans certains cas sans meme avoir a changer de code.
    Au final, si tu vas pour utiliser Spring, alors tu te retrouves a faire ton serveur d'app en prenant Tomcat et en y ajoutant ce que tu veux. Si tu pars d'un serveur d'app JEE, alors tu as deja tout et tu n'as pas a te creer ton serveur. Comme le dit ehsavoie, le Tomcat plus leger est maintenant une legende du passe. Quelques metriques tres recentes montrent qu'utiliser Tomcat plutot qu'un serveur JEE, c'est des economies de bout de ficelles: http://antoniogoncalves.org/2016/02/...here-art-thou/ , la modularite des serveurs d'application a bien remis tout en cause. Par exemple, la partie EJB de WildFly ne coute rien tant que tu ne l'utilises pas.
    Bref, c'est une question de point de vue: est-ce que tu preferes avoir un serveur complet fourni par un tiers, meme si tu ne vas pas l'utiliser a 100%, ou te faire ton serveur a toi... Perso, je suis plutot favorable a ne pas me prendre la tete a packager un serveur, et a prendre un truc qui marche de A a Z direct, pour me concentrer sur mon appli immediatement.
    Mais au final, que ce soit avec un serveur Tomcat+Spring ou Java EE, tu vas utiliser les memes paradigmes, voire meme les meme frameworks sous-jacents, les memes technos, pour ecrire un code quasi identique, avec une meme productivite et un meme rendu a l'utilisateur final...
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  12. #12
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 740
    Points
    3 740
    Billets dans le blog
    12
    Par défaut
    D'ailleurs, de nos jours avec l'injection et tout le tralala, tu passes de l'un a l'autre tres facilement, dans certains cas sans meme avoir a changer de code
    Ayant fait de l'EJB Session, CDI, Spring IoC, il faut forcément changer les annotations, donc le code change.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

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

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Heu non les annotations spring sont les même quel que soit le conteneur. Et les annotation cdi ejb jpa sont standardisées avec un bémol en jpa pour les zones d'ombre de la spec. Donc le code n'a pas a changer d'un conteneur jee a l'autre supportant la même spec.

  14. #14
    Modérateur
    Avatar de Gugelhupf
    Homme Profil pro
    Analyste Programmeur
    Inscrit en
    Décembre 2011
    Messages
    1 320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Analyste Programmeur

    Informations forums :
    Inscription : Décembre 2011
    Messages : 1 320
    Points : 3 740
    Points
    3 740
    Billets dans le blog
    12
    Par défaut
    En même temps on fait du Java donc forcément on n'aura pas à changer le code si on reste sur un même Framework/API. Je n'ai pas fait le rapprochement avec les serveurs d'applications, ce que je voulais dire, c'est qu'entre Spring IoC, EJB Session et CDI, on fait de l'injection de dépendance, mais qu'entre ces différents API il faut rester cohérent (ex : ne pas mélanger les annotations, que si on veut passer de l'un à l'autre il faut changer les annotations etc). J'ai d'ailleurs rédigé un article entre JAX-RS et Spring MVC : dans les faits on fait la même chose, mais en pratique on change juste les annotations (lien), je pense faire de même avec EJB Session / Spring IoC / CDI si je trouve un peu de temps.
    N'hésitez pas à consulter la FAQ Java, lire les cours et tutoriels Java, et à poser vos questions sur les forums d'entraide Java

    Ma page Developpez | Mon profil Linkedin | Vous souhaitez me contacter ? Contacter Gokan EKINCI

  15. #15
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Mickael_Istria Voir le message
    JEE et Spring sont clairement concurrents et partenaires d'innovations a la fois. D'ailleurs, de nos jours avec l'injection et tout le tralala, tu passes de l'un a l'autre tres facilement, dans certains cas sans meme avoir a changer de code.
    Au final, si tu vas pour utiliser Spring, alors tu te retrouves a faire ton serveur d'app en prenant Tomcat et en y ajoutant ce que tu veux. Si tu pars d'un serveur d'app JEE, alors tu as deja tout et tu n'as pas a te creer ton serveur. Comme le dit ehsavoie, le Tomcat plus leger est maintenant une legende du passe. Quelques metriques tres recentes montrent qu'utiliser Tomcat plutot qu'un serveur JEE, c'est des economies de bout de ficelles: http://antoniogoncalves.org/2016/02/...here-art-thou/ , la modularite des serveurs d'application a bien remis tout en cause. Par exemple, la partie EJB de WildFly ne coute rien tant que tu ne l'utilises pas.
    Le problème est plutôt lié à l'hébergement (serveur OVH VPS SSD1).
    Je ne sais pas où ça en est mais à l'époque, ils étaient souvent préinstallé avec un Tomcat, d'où Tomcat + Spring...
    Personnellement, je développe tout sur JBoss, comme tu dis, tout y est, pas de prise de tête pour inclure d'autres éléments et depuis JBoss7, ça démarre super bien
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  16. #16
    Membre expérimenté Avatar de nathieb
    Homme Profil pro
    DevOps
    Inscrit en
    Mai 2004
    Messages
    1 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DevOps
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 057
    Points : 1 532
    Points
    1 532
    Par défaut on s'amuse
    Bonjour,

    Dans le cadre d'un projet mobile (perso) je viens de découvrir OpenShift,
    tu as le beurre, l'argent du beurre, bon la crémière cela va être difficile.
    Il propose un cloud avec Tomcat ou Jboss voir un Diy (do it yourself), je suis en ce moment
    sur le déploiement d'un TOMEE, histoire de tester.
    C'est easy, gratuit et franchement il y a du choix et de l'espace.
    Dommage qu'aucun hébergeur francais puisse proposer de telles solutions.

    Olivier
    Architecte destructurant,
    be cool, be free

    Il nous reste Debian bien sûr

  17. #17
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 468
    Points : 2 996
    Points
    2 996
    Par défaut
    Dans le cadre d'un projet mobile (perso) je viens de découvrir OpenShift,
    tu as le beurre, l'argent du beurre, bon la crémière cela va être difficile.
    Il propose un cloud avec Tomcat ou Jboss voir un Diy (do it yourself), je suis en ce moment
    sur le déploiement d'un TOMEE, histoire de tester.
    C'est easy, gratuit et franchement il y a du choix et de l'espace.
    +1. OpenShift m'avait fait très bonne impression quand je l'ai essayé, tu démarres un appli visible super vite, sans avoir trop à réfléchir à tout ce qui est sécu et scalabilité qui sont déjà suffisamment bien géré pour démarrer sans risque. J'avais créé un compte, cliqué la case "avoir wildfly" et j'avais plus qu'à faire un push de mon projet GitHub pour que ce soit deployé publiquement en quelques minutes. En quelques minutes, j'ai eu mon Hello World là où il m'en avait fallu plusieurs heures pour un moins bon résultats dans mes précédentes expériences.

    Dommage qu'aucun hébergeur francais puisse proposer de telles solutions.
    Ils pourraient s'ils le voulaient: OpenShift est open-source apres tout. Apres, c'est une question de strategie: Red Hat a pris le tournant DevOps en faisant une offre cloud/infra agréable pour les devs; alors que pas mal d'autres hebergeurs restent tres orientés pure infrastructure.
    Après, pour ce qui est chauvinisme, vu le nombre de recrue que fait Red Hat en France en ce moment, ça deviendrait presque un produit de notre terroir
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  18. #18
    Membre actif
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 178
    Points : 274
    Points
    274
    Par défaut
    Quitte à vouloir aller vers la légèreté je vous conseille Undertow avec l'extension Servlet (voir même sans si vous n'y êtes pas lié). Tu peux même packager pour en faire juste un main avec ton war Ca prend très peu de ressources, il supporte HTTP2. Mais la vraie source de consommation de mémoire / CPU ça reste l'application. Donc j'ai encore un doute sur la légèreté de Spring MVC pour ça.
    Oui OpenShift c'est de la balle pour prototyper, d'ailleurs pas mal de grosses entreprises francaises l'utilisent en 'cloud interne'. C'est d'ailleurs une des raisons pour lesquelles on avait une journée "Université" (aka workshop) OpenShift au SnowCamp, parce que c'est génial pour le développement.

  19. #19
    Membre actif Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Points : 260
    Points
    260
    Par défaut
    OK merci pour tous vos retours, je suis parti su un classique Tomcat et me suis inscrit sur Openshift en plus de mon VPS. Il n'y a plus qu'à le tester !

  20. #20
    Membre éclairé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    605
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 605
    Points : 670
    Points
    670
    Par défaut The eternal battle JBoss vs Spring
    Le monde JEE est aussi puissant qu'il est éprouvant.

    Spring permet une grande variétés de choses, est très modulable, mais il demande tellement de configuration qu'on se demande souvent "Quand est-ce qu'on commence à bosser avec sur le sujet qui nous intéresse vraiment ?"
    Il est apprécié des informaticiens qui ont une vision "architecture technique" de leur application, mais moins par ceux qui ont une vision "traitements métiers" où l'on veut faire développer à de nouveaux arrivants rapidement quelque-chose de fonctionnel. Il est assez aisé de prendre un débutant et de le faire entrer sur un projet JBoss, et beaucoup moins simple de le faire entrer sur un projet Spring.

    Ce qui est éprouvant avec Spring, c'est le désir de faire toujours quelque-chose d'autre même quand il n'y en a pas besoin. On se retrouve avec des situations dingues.
    Impossible de déclarer une simple servlet qui n'adhère pas au modèle MVC de Spring sans se plonger longtemps dans la doc.
    Spring Batch est génial, tout le monde vous l'a dit et vous devez l'apprendre par coeur (pas Spring Batch : mais le fait qu'il est génial), mais si vous ne parvenez pas à entrer dedans, je vous comprends très bien.
    Spring MVC doit être la pire plaie de toute l'histoire de l'humanité,
    et bravo à ceux qui arriveront à expliquer à des débutants spring-data, spring-jdbc, le modèle de transaction, l'ORM avec les déclarations de datasources, entity manager factory, transaction manager, etc... puis les repository... : on apprend aux gens la programmation XML.
    Spring Boot est symbolique : sa présence est la concession par une partie de sa communauté que Spring est devenu trop compliqué. Et aujourd'hui, le gag, c'est que en plus de maitriser les modules core, batch, mvc, data, jdbc, web, security de Spring, on vous demande de maitriser Spring Boot ! Spring, un bon tiers du développement, c'est de la configuration. Et 20% supplémentaires, c'est se former et former les autres tellement c'est complexe. Dans mon esprit Spring est très puissant, mais il est "délirant". Le moment où l'on peut-être sur son strict code métier sans s'occuper d'autre chose est très court, est ponctuel. Spring en tant que tel avec toutes ses nécessités géniales et supposées vous simplifier la vie se rappelle à vous à chaque instant, d'un format hors JEE qu'il vous oblige à suivre, d'une cent-cinquantième config qu'il vous oblige à placer ici ou là, vous interrompant.
    Impossible de résoudre un problème humain d'informatique en ligne droite sans l'emmêler des désirs perpétuels qu'il a, parce que c'est un framework trop prégnant. Et même les convictions entendues de ses adeptes : "Oui, mais c'est très modulable.", "Quand ce sera fini, tu verras", "C'est très puissant.", et les centaines de "Ce qui est bien avec Spring, c'est que..." – je raille, mais le fan-club a contribué à me le rendre épuisant – ne suffisent pas à excuser ce problème.


    JBoss de son côté (car il n'y a que JBoss à s'opposer à Spring : les autres serveurs d'applications sont moins représentés), à eu son heure de gloire
    dont il a bien profité à la manière du lièvre et de la tortue pour se faire dépasser en terme de fonctionnalités par Spring jusqu'à JEE 6.
    Dans le courant de l'année 2012, JBoss qui n'avait rien d'autre à faire en a profité pour se suicider (comme ça, ça lui passait par la tête...), en devenant strictement payant, et pendant des années la communauté "des EJB" a végété sur l'excellent mais non mis à jour JBoss AS 7. Et ce n'est que des années après qu'enfin les versions Wildfly sont venues. Mais quel gâchis et quelle perte de temps !
    JBoss, ça démarre et on peut y aller. On fait son site web tout de suite. On déclare une datasource en standalone, son persistance unit dans son code source et ça suffit.

    Mais alors on est face à des déboires :
    1) Impossible de tester les EJB facilement en tests d'intégration. Arquillian tout puissant qu'il soit est très long et complexe à configurer pour le faire fonctionner. Il est très lourd.

    2) Il est pas toujours acquis que ce que l'on fournira dans son ear remplacera réellement les modules équivalents installés sur JBoss. Certains d'entre-vous se sont peut-être confrontés au fameux jar majora de JSF 2 de JBoss AS 7.1.1 difficile à contourner et qui empêche de déployer facilement des versions avancées de JSF 2. Idéalement, il faudrait n'utiliser dans son application que des composants aux versions des modules présents dans JBoss en faisant exclure tous les autres par des <dependency> exclude.
    Si vous aimez les pom.xml aux allures d'épitaphe, c'est bien : parce que ça va vous faire le POM de l'année : plusieurs centaines de lignes.

    3) Le CDI. Va pour @Inject et @Named. Mais @Qualifier, @Alternative etc. qui connaît, qui comprend ? Comment s'y sont-ils pris pour expliquer cela aussi mal ? Vous avez déjà réussi à parcourir toute une doc sur le CDI dans JEE en entier, vous ? Moi pas. C'est tellement étrange et tarabiscoté les exemples d'emploi que je n'ai jamais réussi à m'y projeter vraiment. Là encore : c'est sûrement puissant, mais pas très intelligible.

    Je suis sévère avec les deux systèmes. Le problème de fond, c'est qu'un nouveau venu avec zéro à deux années d'expérience il doit pouvoir bosser quelque-part.
    Et tous les frameworks qui réclament une expertise trop forte, je les dénonce. Certaines fois des annonces d'emploi réclament huit années d'expérience pour entrer sur un projet employant l'un d'entre-eux. C'est bien trop ! C'est un aveu d'échec.
    Ils doivent se simplifier s'il le faut pour devenir plus accessibles. Les JSR pourront peut-être, à terme, les réunir sous l'égide de règles communes.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Quel langage de programmation pour application LINUX
    Par The schild dans le forum Linux
    Réponses: 8
    Dernier message: 21/08/2015, 12h13
  2. Serveur Java EE pour application web et application web mobile
    Par DavidleVrai dans le forum Développement Web en Java
    Réponses: 2
    Dernier message: 21/01/2015, 11h11
  3. Cherche programmeur pour application pour l'astronomie
    Par astroghost13 dans le forum ALM
    Réponses: 1
    Dernier message: 18/08/2010, 15h37
  4. quel approche de developpement pour application evolutive
    Par benben02 dans le forum Général Java
    Réponses: 1
    Dernier message: 06/12/2009, 16h14
  5. Réponses: 1
    Dernier message: 05/07/2007, 16h54

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