EcommerceDEV. Développement, optimisation et sécurisation des sites de commerce électronique.
arrowAccueil arrow Optimisation arrow Performance arrow A propos de la performance des EJB
Jeudi 15 mai 2008
Nom d'utilisateur     Mot de passe      Conserver       Mot de passe perdu ? 
Menu
Accueil
A propos du site
Carte du site
Moteur de recherche
Nouvelles
Contactez-nous
Evénements
Lettres de nouvelles
- - - - - - -
Analyse
Conception
Optimisation
Programmation
Sécurité
Produits/Services
déc 20 2005
A propos de la performance des EJB Version imprimable Suggérer par mail
Appréciation des utilisateurs: / 3
FaibleMeilleur 
Optimisation - Performance
Ecrit par Kamal AOUDA   
20-12-2005
New Page 1

Dans Java tout est objet mais tout n’est pas EJB. Tel est le jeu de mots que nous avons choisi pour alimenter le débat sempiternel sur l’utilisation des Enterprise Java Beans dans les applications J2EE. L’engouement pour ces composants est tel que certains architectes n’hésitent pas à les implémenter dans leurs applications quelques soient les contraintes et le contexte d’utilisation. Un rapport du Gartner Group estime d’ailleurs que les entreprises ont mondialement dépensé un peu plus d’un billion de dollars US pour intégrer les EJB à leurs applications.



A dire vrai, les EJB sont des composants robustes qui facilitent le déploiement des applications dans les environnements fortement distribués. Ils sont également un bon choix technologique lorsqu’on souhaite construire des middletiers ou des passerelles vers les systèmes hérités [180] (vieilles applications écrites en Cobol et exécutées sur un gros système). Le revers de la médaille est que les EJB sont des composants très complexes qui nécessitent une main d’œuvre très qualifiée (et donc très chère).

La couche de complexité technique ajoutée par les EJB à l’architecture MVC n’est pas sans effet sur les performances de l’application. En effet les invocations multiples de leurs méthodes via le protocole RMI-IIOP sont extrêmement pénalisantes pour le temps de réponse. De plus des opérations comme l’instanciation, l’activation ou la passivation des beans sont gourmandes en processeur et en mémoire. Notons par ailleurs que les EJB ne peuvent pas être exécutés sur un conteneur de servlets comme Tomcat. Ils ont besoin d’un conteneur spécial comme celui d’IBM (Websphere) ou de BEA Systems (Weblogic). La politique de tarification de ces sociétés est très agressive parce qu’ils vendent leurs produits dans un seul bloc monolithique avec aucune possibilité de découplage entre la couche qui gère les JSP/Servlets et celle qui gère les EJB. A moins d’envisager l’utilisation d’un conteneur gratuit [181] comme JBOSS il faut donc évaluer les pour et les contre des EJB aussi bien en termes de complexité technique qu’en termes de coûts (rappelons le encore une fois la performance n’est pas seulement une affaire de débit et de temps de réponse mais également une affaire de coûts).

En pratique on peut développer avec les JSP, les servlets et les Java Beans tout ce qu’on peut développer avec les EJB. Soulignons à ce sujet que le framework Struts ne contient pas d’EJB et cela n’affecte ni sa popularité ni son applicabilité à plusieurs types de sites (y compris les sites de commerce électronique). Dans bien des cas les EJB peuvent s’avérer surdimensionnés par rapport aux besoins d’affaires. Ils sont certainement un bon choix technologique pour l’implémentation des middletiers dans des environnements fortement distribués mais ils peuvent devenir de véritables goulots d’étranglement dans les applications simples et centralisées (exemple un site de commerce électronique d’une PME dans lequel il n’y a aucune interaction avec un système d’héritage  [182]).


Notes de bas de page

 

[180] Traduction littérale de legacy systems

[181] Très souvent les licences sont gratuites mais il y a plusieurs coûts cachés liés à la formation, à la maintenance à l’ajout de modules supplémentaires…
[182] Legacy system
 

Dernière mise à jour : ( 20-12-2005 )
< Précédent   Suivant >
Livre gratuit sur l'optimisation des applications Java/MySQL pour les besoins d'ecommerce
New Page 1

Kamal AOUDA a le plaisir de vous informer de la publication de son livre gratuit sur l'optimisation des applications Java/MySQL pour les besoins du commerce électronique. Ce livre  propose un référentiel pour l'intégration du management des performances aux trois premières phases du cycle de développement (analyse, design, codage). Comme son titre l'indique, ce livre ne traite que des problèmes de performance qui sont dus à des anomalies dans l'analyse, le design et le codage des applications de commerce électronique et des bases de données auxquelles elles sont adossées. Sont exclues du périmètre du livre les anomalies attribuables :

* Au réseau qui connecte l'application à l'Internet.
* Au serveur web et au serveur d'application.
* A la version de la Java Virtual Machine utilisée.
* A tout matériel utilisé par l'application localement ou à distance.
* Aux scripts exécutés du côté du client (Vbscript, Javascript).

Notons par ailleurs que le livre ne couvre que les phases d'analyse, de design et de codage. Les phases de test, de déploiement et de maintenance ont été sciemment exclues parce qu'il existe déjà un nombre conséquent de livres et d'articles qui traitent du management des performances dans ces 3 phases.

 

Pour télécharger gratuitement ce livre cliquez sur ce lien. Pour être au courant des mises à jour apportées à ce livre, nous vous recommandons de vous inscrire gratuitement à notre site en cliquant sur ce lien.
 

 

Moteur de recherche
Recommander ce site
Collaboration
Téléchargements
Derniers événements
Aucun événement
Sondages

Comment évaluez-vous la qualité des documents publiés sur ce site ?

  
Blogs Ecommerce
Blog de capitaine commerce
top

Ce site a été crée avec le CMS Mambo. Un logiciel gratuit disponible sous licence GPL.

Copyright Ecommerce DEV 2006.

Hosted by SiteGround