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

Wildfly/JBoss Java Discussion :

JBoss ou Tomcat, lequel choisir pour une application Struts2 + Spring + Hibernate ?


Sujet :

Wildfly/JBoss Java

  1. #1
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 011
    Points : 1 375
    Points
    1 375
    Par défaut JBoss ou Tomcat, lequel choisir pour une application Struts2 + Spring + Hibernate ?
    Bonjour à tous,

    Tout est dans le titre ! Je développe actuellement une application struts 2 + hibernate + spring sur un serveur tomcat. Tout marche pour le moment correctement, et je me demandais s'il pouvait être intéressant de passer sur JBoss (ou un autre serveur d'applications)

    J'ai vu que JBoss venait intégré avec hibernate par exemple, aurais-je intérêt à passer sur ce type de serveur pour mon projet ? Je ne vois pas bien la différence. À chaque fois on dit que JBoss supporte les EJB, ne serait-ce pas l'équivalent de Spring ?

    Je suis un peu largué sur l'intérêt de JBoss, si quelqu'un pouvais m'éclairer ^^

    Merci !

  2. #2
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Personnellement si ton appli ne déploie pas les EJB, tu restes sur du tomcat, mis à part les EJB, jboss déploie beaucoup d'autres services dont une simple appli web n'en a pas besoin, tu peux lister tous ces services dans son fichier de conf(jboss-service.xml). Jboss c'est du tomcat + conteneur EJB + plus d'autres services additionnels. D'où sa lenteur de démarrage tu remarqueras. dans ton cas tomcat te fera très bien l'affaire, je me souviens pour un client qui nous l'avait imposé avoir passé du temps à désactiver ces services pour accélérer son démarrage, mais bon tu me diras un serveur d'appli n'est pas censé redemarrer tout le temps
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  3. #3
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 011
    Points : 1 375
    Points
    1 375
    Par défaut
    Merci pour ta réponse

    J'ai été voir un peu les service qu'il y a dans ce fichier, j'ai vu entre autres web service, logging factory, JTA et security config..

    Donc selon toi je n'ai rien à gagner à passer mon appli sur jboss ? Quid de la web-console ? Ça a l'air pas mal à première vue, un outil de visualisation de charge du serveur, de statistiques etc.. c'est ça non ? Ça peut se trouver un équivalent pour Tomcat?

  4. #4
    Membre expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Points : 3 938
    Points
    3 938
    Par défaut
    Citation Envoyé par muad'dib Voir le message
    Merci pour ta réponse

    J'ai été voir un peu les service qu'il y a dans ce fichier, j'ai vu entre autres web service, logging factory, JTA et security config..

    Donc selon toi je n'ai rien à gagner à passer mon appli sur jboss ? Quid de la web-console ? Ça a l'air pas mal à première vue, un outil de visualisation de charge du serveur, de statistiques etc.. c'est ça non ? Ça peut se trouver un équivalent pour Tomcat?
    Tu peux coupler tomcat à une JConsole pour suivre à chaud les transactions, ils expliquent ici, après si ton choix se porte sur Jboss je n'ai rien contre, mais son utilisation n'est pas indispensable pour ton cas.
    Vous avez peut être hâte de réussir et il n'y a rien de mal à cela...
    mais la patience est aussi une vertu; l'échec vous l'enseignera certainement..."

  5. #5
    Membre éprouvé Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Points : 1 154
    Points
    1 154
    Par défaut
    Citation Envoyé par muad'dib Voir le message
    Merci pour ta réponse

    J'ai été voir un peu les service qu'il y a dans ce fichier, j'ai vu entre autres web service, logging factory, JTA et security config..

    Donc selon toi je n'ai rien à gagner à passer mon appli sur jboss ? Quid de la web-console ? Ça a l'air pas mal à première vue, un outil de visualisation de charge du serveur, de statistiques etc.. c'est ça non ? Ça peut se trouver un équivalent pour Tomcat?
    La web-app JProbe est pas mal du tout pour ça. Un minimum de configuration (tutorial d'install sur leur site), et tu peux voir tout ce que tu veux (tu peux même naviguer dans le données des sessions utilisateurs)
    Veuillez agréer nos sentiments les plus distingués. Soyez assurés de notre entière collaboration, bien à vous pour toujours et à jamais dans l'unique but de servir l'espérance de votre satisfaction, dis bonjour à ton père et à ta mère, bonne pétanque, mets ton écharpe fais froid dehors.

  6. #6
    Expert éminent
    Avatar de kdmbella
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2010
    Messages
    799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2010
    Messages : 799
    Points : 7 039
    Points
    7 039
    Par défaut
    utiliser Jboss dans ton cas c'est comme vouloir utiliser une scie a moteur pour couper un crayon. Donc oui tu peut l'utilise, mais utiliser Tomcat serait plus judicieux pour les besoins que tu as spécifiées.
    "L'humanité se divise en trois catégories : ceux qui ne peuvent pas bouger, ceux qui peuvent bouger, et ceux qui bougent."
    - Benjamin Franklin

    De l'aide en Javascript , consultez la FAQ JS.

    De l'aide sur le FrameWork JS DHTMLX : posez vos questions sur le forum des Bibliothèques & Frameworks JS.

  7. #7
    Membre expérimenté
    Avatar de muad'dib
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2003
    Messages
    1 011
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2003
    Messages : 1 011
    Points : 1 375
    Points
    1 375
    Par défaut
    Merci beaucoup à tous pour vos réponses

    Tant que j'y suis j'aimerais vous demander alors dans quel cas utiliser JBoss ? Pourquoi utiliser des EJB plutôt que spring ? Pourquoi utiliser une version JAR d'hibernate quand jboss vient avec hibernate intégré (d'après ce que j'ai compris)

    Enfin pourquoi choisir JBoss ? Pour des architectures d'application n-tiers ?
    Dans le cas où je souhaiterais diviser le code source de mon appli sur plusieurs serveurs (par exemple la vue sur un ou 2 serveurs, la partie modèle sur 1 autre et la partie metier sur un autre (je dis le nombre des serveurs au hasard)) : est-ce que choisir JBoss simplifierait cette répartition des parties de l'application ?

    Est-ce possible de diviser l'applications sur plusieurs serveurs sans un serveur d'applications ? Si plus tard, le site que je suis entrain de créer commence à souffrir niveau charge, passer à JBoss sera compliqué ?

  8. #8
    Membre averti
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    250
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2011
    Messages : 250
    Points : 403
    Points
    403
    Par défaut
    Spring et JBoss n'ont pas rien à voir l'un avec l'autre.
    Spring est un conteneur léger, il a besoin d'être déployé dans un conteneur de servlet (Tomcat, Jetty, ...), tandis que JBoss est un serveur d'application J2EE à part entière (embarquant un Tomcat d'ailleurs).

    Côté Spring, rien ne t'empêche d'utiliser un autre ORM qu'Hibernate, comme MyIbatis par exemple.
    Côté J2EE, tout dépend du serveur d'application que tu va choisir.
    Par exemple, Hibernate est l'implémentation de la spécification JPA choisie par JBoss; mais d'autres serveurs d'applications comme Glassfish utilisent une autre implémentation (EclipseLink en l'occurence).

    Quant à choisir entre le pattern J2EE et Spring, le débat est sans fin.
    Spring te permet de fournir les mêmes services que du J2EE standard : EJB3, JMS, WebServices, Injection de dépendances, ...
    A titre personnel, pour avoir travaillé avec les deux, la légèreté de Spring est appréciable au niveau développement, en contraste avec la lourdeur du pattern J2EE.
    Maintenant, la majorité des serveurs d'application J2EE du marché fournissent un certain nombre de fonctionnalités intéressantes comme la gestion des pools d'EJB, des pools de connexion BDD, des files JMS, ce qui s'avère fort appréciable pour l'exploitation. Qui plus est, tous ces serveurs J2EE implémentent la spécification, donc tu est à peu près sur d'avoir des comportements homogènes, cela peut t'éviter d'oublier de fermer une session Hibernate par exemple.

    Par expérience, séparer la couche métier et la couche présentation entraîne une baisse des performances de l'applicatif à cause du temps de sérialisation/désérialisation des objets. Il est préférable de multiplier le nombre de serveurs que de séparer les différentes logiques.

    Quant à la répartition de charge, généralement les architectures sont basées sur les couples Apache+Tomcat+Spring ou Apache+Serveur J2EE.
    La seule différence majeure que je vois est que tu peux faire tourner un Tomcat sur une machine beaucoup moins puissante que pour un serveur JBoss (quantité de mémoire allouée)

Discussions similaires

  1. Que choisir pour une application de "gestion d'une todo liste" ? Python ou Java ?
    Par Yoshidu62 dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 10/08/2007, 09h03
  2. Quel SGBD choisir pour une application Web ?
    Par jason69 dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 04/07/2007, 12h08
  3. Réponses: 5
    Dernier message: 19/03/2007, 16h21
  4. Réponses: 2
    Dernier message: 12/12/2006, 17h42
  5. [Flash/HTML] lequel choisir pour une intégration d'un XML ?
    Par freija dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 25/07/2006, 09h07

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