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

Développement Web en Java Discussion :

Performance d'une couche n-tiers


Sujet :

Développement Web en Java

  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut Performance d'une architecture n-tiers
    Bonjour Tout Le monde ,

    Actuelement je dois developpez une application n-tière j2EE qui stock des pièces jointes dans un serveur centralisé .

    Le problème vu l'armada que propose la platform j2EE (framework ,ejb ...) ,bref je suis un peut perdu dans le choix des framework que je dois utiliser .

    Le problème c'est que cette application sera très solicitée par les clients ,donc je dois gérer la charge vis à vis du serveur (requet ,resp ).

    Du coup je sais pas lequel des framework ou ejb dois-je utiliser (struts , webservice , spring , jsf ...) .

    La performance temps/rep ainsi que la dimunition de charge sur le serveur sont les critères de base pour mon choix ,mais lequel est le plus appropirié ?

  2. #2
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Le choix de la technologie doit être fait en fonction des fonctionalité de ton application. Sans savoir ce qu'elle doit faire (doit elle publier des services? accéder à des services? accéder à une base de données? faire de l'ajax? web? desktop? mobile? news ? ...).

    Dans tout les cas, la pluspart des framework reconnu sont sensé être optimisé en terme de performance. Et si les performance sont vraiment critique, l'utilisation d'un cache est vraiment conseillé (cache au niveau ORM, au niveau services, au niveau HTTP, au niveau JVM, au niveau cluster du serveur d'app, ...). Le choix du cache étant clairement lié à celui de la technologie choisie.

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Oui, il fallait apporter plus de précision concernant les traitements attendus de cette application.

    En fait elle entre dans le cadre d’une plateforme de gestion du contenu (Gestion Electronique des Documents) , et elle va communiquer avec un logiciel opensource pour la gestion des documents (Alfresco) qui d’ailleurs est très gourmand en mémoire et CPU.

    Mon application devra communiquer directement avec Alfresco via des APIs pour faire différents traitement (upload de document, gestion des privilèges des utilisateurs (OpenLDAP) ….)
    En résume c’est ça.
    D’autres part j’hésite entre struts ,spring ,jsf,wicket cote MVC , gestion des requetes et sessions...
    Et entre hibernate ou autres outils cote BD .

    Juste une remarque :struts,et hiebrante sont des framework que j'ai deja utilisé et j'aurais pas de probleme à les réutiliser ,mais je dois perviligier la performance de l'architecture de mon application dans ce cas:

    Je dois esseyer d'eviter les surchages sur les serveurs le max possible,pour ne pas avoir des problemes de transaction qui pourrons couter chère ,voila .

  4. #4
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Hello,
    Apparement ton application est quand même assez compliqué, l'aide d'un architecte logiciel professionnel pourrais être un plus pour la définition de l'architecture de ton application.

    Voici mes conseils, si tu connais déjà Hibernate, utilise le, et regarde bien la gestion de son cache pour tes problématique de performance.
    Pour ton CMS, base toi le plus possible sur les API standard (JCR et JCR2), cela te donnera plus de souplesse.
    Pour ta couche MVC, wicket est bien si tu as une application et pas un simple site web, et spécialement par sa gestion des formulaire et de l'Ajax codé uniquement en Java. Sinon, personnellement je préfère Spring MVC à Struts et je ne pense pas qu'il y ai de différence de performance.

    Dans tout les cas, je pense que l'utilisation de Spring serais un réel plus pour homogénéiser la manière dont tu va accéder à tes différentes couche (et entre autre, Spring contient des helper pour Hibernate et les LDAP).

    Bon courage!

  5. #5
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Merci pour vos conseils, mais vue que je dois entamer bientôt le développement, j’aimerais éclaircir quelques points.

    Si j’ai bien compris wicket est mieux cote performance qu’un struts 1. 3 ou struts 2 ou meme jsf et springMVC .
    D’ailleurs j’ai fais le tour du forum et précisément les sujets de sondage, j’ai constaté qu’il ya convergence consernant les bonnes performances avec wicekt par rapport à jsf ou struts 2.Par contre struts 1.3 malgré une performance acceptable il est cependant considéré comme vieillissant.

    Dans ce cas vue le temps qui me reste (moins de 2 mois), aussi à prendre en considération le manque de documentation de wicket vis-à-vis a struts ou jsf . Je me pose la question :est ce que ça vaut la peine dans le cadre de ce projet de se plonger dans le monde du wicket ,et va-t-il répondre à tous les besoins dans le cadre du model vue controller (MVC) comme le fera struts ou jsf ?

  6. #6
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Wicket (qui n'est pas vraiment un framework MVC) a un mode de programmation du style Swing qui en fait un framework assez compliqué d'apprentissage (même si après le développement peut être assez rapide surtout si on compte utiliser de l'Ajax qui a un support 100% Java dans Wicket).

    Pour un développement rapide, je conseillerais Spring MVC ou Struts (même si il est vieillissant, si tu connais Struts 1.3 je ne voit pas de raison particulière de ne pas l'utiliser, un framework mature a de nombreux avantages en terme de performance, stabilité et maintenance).

    Selon mon expérience personnelle avec Wicket, les performances ne sont pas si bonne que ça et si tu as beaucoup d'utilisateur il faut des serveurs avec beaucoup de mémoire vive car c'est un framework statefull qui consomme énormément de mémoire.

  7. #7
    Membre confirmé
    Inscrit en
    Septembre 2007
    Messages
    233
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 233
    Par défaut
    Pour ton CMS, base toi le plus possible sur les API standard (JCR et JCR2), cela te donnera plus de souplesse.
    Pourriez vous me donner plus d'information sur cet API (jcr) car à priori il s'avère etre une bonne solution .

  8. #8
    Membre chevronné

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2002
    Messages : 346
    Par défaut
    Bonjour,

    Il n'y a pas beaucoup de ressource sur le web autour de la JCR, comme point de départ voici un article sur Wikipedia http://en.wikipedia.org/wiki/Content...y_API_for_Java.

    JCR: Java Content Repository, une API standardisé Java d'accès au CMS, il faut juste vérifier que ton CMS soit compatible JCR puis utiliser l'API. Je ne connais pas les détails car je ne l'ai jamais utilisé.

Discussions similaires

  1. [WPF] Génération automatique de la couche DAL d'une application 4-Tier
    Par youness78 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 14/11/2013, 16h28
  2. Performances d'utilisation couche DTO dans une application web j2ee
    Par bonapart002 dans le forum Général Java
    Réponses: 15
    Dernier message: 02/06/2013, 15h48
  3. Réponses: 3
    Dernier message: 17/06/2009, 08h34
  4. Réponses: 1
    Dernier message: 07/11/2008, 09h16
  5. Comment mettre en place une structure 3 tiers.
    Par WOLO Laurent dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 27/07/2003, 22h01

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