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 :

Différence entre conteneur léger et lourd (Ex : Spring Vs EJB)


Sujet :

Spring Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Points : 70
    Points
    70
    Par défaut Différence entre conteneur léger et lourd (Ex : Spring Vs EJB)
    Bonjour tout le monde,
    Pourrai-je savoir quel est la différence technique entre les conteneurs lourds comme les EJB et les conteneurs léger comme Spring.

    Merci d’avance.

  2. #2
    Membre éprouvé
    Avatar de hasalex
    Homme Profil pro
    Développeur Java
    Inscrit en
    Janvier 2009
    Messages
    879
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Janvier 2009
    Messages : 879
    Points : 1 269
    Points
    1 269
    Par défaut
    D'abord, dire qu'un conteneur EJB est un partie pris. Tu commences mal, avec ta question.

    Ensuite, il faudrait plus comparer les architectures sur JavaEE et sur Spring. En particulier, dans JavaEE, il y a CDI qui est un concurrent plus direct à Spring.
    Plus exactement, pour couvrir un périmètre similaire, il faudrait EJB + CDI.
    Ensuite, il y a trop de choses pour faire une comparaison juste (c'est à dire non partisane) ; il faudrait plutôt que tu précises ce que tu veux faire et comment tu veux travailler, et sur ces bases, on pourra réagir.

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Points : 70
    Points
    70
    Par défaut
    Merci pour votre réponse, et pour vos explications. Ce n'est pas pour des fin de travaille que j'ai posé la question, mais plutôt pour comprendre la différence.

    Donc vous disiez qu’on ne peut pas dire que EJB à lui tout seul peux se ramenai a un conteneur lourd, il devra avoir l'injection de dépendance (CDI).

    Et pour les comparatif c'été seulement pour comprendre les différences et de savoir comment et quand utiliser chaque technologie.

    Merci d'avance.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mai 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Selon wiki
    Dans la page de Spring sur wiki on trouve:
    « SPRING est effectivement un conteneur dit “ léger ”, c’est-à-dire une infrastructure similaire à un serveur d'applications J2EE. Il prend donc en charge la création d’objets et la mise en relation d’objets par l’intermédiaire d’un fichier de configuration qui décrit les objets à fabriquer et les relations de dépendances entre ces objets. Le gros avantage par rapport aux serveurs d’application est qu’avec SPRING, les classes n’ont pas besoin d’implémenter une quelconque interface pour être prises en charge par le framework (au contraire des serveur d'applications J2EE et des EJBs). C’est en ce sens que SPRING est qualifié de conteneur “ léger ”. »



    -Sur spring on déclare les beans : "création d’objets et la mise en relation d’objets par l’intermédiaire d’un fichier de configuration" sans passer par une interface, exemple :
    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlnssi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <!-- A simple bean definition -->
    <bean id="..." class="...">
    <!-- collaborators and configuration for this bean go here -->
    </bean>
    <!-- more bean definitions go here -->

    </beans>

    -Contrairement aux EJB ou l'on implemente une interface, exemple "public class StatelessSessionBeanImpl implements StatelessSessionBean".

    Je pense que xml vs Java<=> léger vs lourd.

  5. #5
    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
    Sauf que les ejb n'ont pas besoin non plus d'implementer des interfaces spécifiques. Sauf si tu veux faire dans le vieux ejb 2

  6. #6
    Membre chevronné
    Avatar de eulbobo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2003
    Messages
    786
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Novembre 2003
    Messages : 786
    Points : 1 993
    Points
    1 993
    Par défaut
    On appelle un conteneur "lourd" un serveur sur lequel on trouve toutes les implémentations J2EE (jboss, glassfish)
    Un conteneur léger n'en dispose que de certaines (tomcat)

    Typiquement, tu ne peux pas faire de JMS sans rajouter des choses librairies sur un serveur Tomcat.


    Donc pour faire des EJB, tu auras besoin d'un conteneur lourd ou d'ajouter des bibliothèques à un conteneur léger.
    Pour faire du Spring, tu seras toujours obligé de rajouter des bibliothèques, mais tu pourras quand même le faire tourner dans un conteneur lourd.
    Je ne suis pas mort, j'ai du travail !

Discussions similaires

  1. Réponses: 15
    Dernier message: 29/01/2014, 18h42
  2. Réponses: 6
    Dernier message: 30/01/2009, 11h26
  3. [Framework] Différence entre Spring IoC et Business Delegate
    Par mrjeronimo dans le forum Spring
    Réponses: 2
    Dernier message: 04/08/2008, 10h04
  4. Différence entre faute grave et faute lourde ?
    Par PhilDev69 dans le forum Licenciement
    Réponses: 5
    Dernier message: 22/02/2008, 18h58

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