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

Servlets/JSP Java Discussion :

[Web en jsp-servlet]Question d'ordre fonctionnel


Sujet :

Servlets/JSP Java

  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut [Web en jsp-servlet]Question d'ordre fonctionnel
    Bonjour j'aurai une série de questions à vous soumettre :
    Voilà mon cahier des charges, où les demandes utilsateurs font qu'on a un site web qui doit être construit, il y aura en principe jusqu'à 1000 persones connectés en même temps, le nombre d'utilsateurs peut aller jusqu'à 15.000. Comment fait on pour décider quel serveur je dois utiliser ? Doit on utiliser des clusters ? Si oui pourquoi ? Comment ? Quels sont les logiciels, je parle de systèmes d'exploitations, Windows, Open solaris, ubuntu etc... ? Machine virtuels, Virtual Box ? VMWare ? Le hardware et les machines physiques surtout, et quelles quantités mémoire dois-je utiliser ? 2Go de mémoire vous semblent suffisant ? Quelles genre de machine : PC, où serveurs Sun ? Et pourquoi ? Je ne connais pas du tout la méthode de calcul, je ne sais pas du tout quoi choisir, je suis perdu. Apache-Tomcat ? Glassfish ? Websphere ? Jboss ? Cluster où non ? Qu'auriez vous choisi ?
    Pour la base de données Mysql -un peu léger quand même, c'est ce qui m'a été suggéré- ? Oracle ? Le site doit être fait en servlet-jsp-jpa, d'ailleurs je ne sais pas si je dois utiliser des frameworks, si oui pourquoi ? Je pense en particulier à Hibernate ?

    Existe-t-il des livres qui en parlent ? J'ai besoin surtout de recettes, de méthodes de calcul, pour le choix de l'O/S, et des logiciels, et du hardware néçéssaire. Puis de méthode d'analyse pour un site de cette envergure, et enfin de programation.
    C'est un projet qui devrait être décroché, et je dois être la personne qui doit choisir et conseiller pour les technologies Java EE.

    D'autre part j'ai posté ce sujet ici dans Servlet Jsp, puisque le site doit être fait en java, jsp-servlet-jdbc-jpa si vous estimez que pour une raison où une autre ce sujet n'a rien à faire merci de le déplacer et de m'en informer.

    Bien à vous.

    PS: les fonctionnalités sont trés classiques, c'est à dire bien sûr s'enregistrer, avec son mot de passe, faire des recherches, de tout genre, utilisateurs, vidéo, etc.. éditer des newletters, des évenements, chat ainsi que des forum.

  2. #2
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Voilà mon cahier des charges
    Où ça ?

    systèmes d'exploitations
    Honnêtement, c'est au choix. Peut importe à vrai dire, même si j'ai une préférence pour Linux
    Machine virtuels, Virtual Box ? VMWare ?
    Très à la mode tout ça. Pas forcément toujours utile, faut voir.
    il y aura en principe jusqu'à 1000 persones connectés en même temps, le nombre d'utilsateurs peut aller jusqu'à 15.000.
    ...
    Le hardware et les machines physiques surtout, et quelles quantités mémoire dois-je utiliser ? 2Go de mémoire vous semblent suffisant ? Quelles genre de machine : PC, où serveurs Sun ?
    ...
    cluster ?
    Tout dépends de la charge des serveurs et de la complexité des calculs. On peut pas répondre d'emblée, mais si tu as 1000 utilisateurs très actifs, je pense que tu peux justifier la mise en place de cluster.
    Apache-Tomcat ? Glassfish ? Websphere ? Jboss ?
    Première question : as-tu besoin d'un serveur JEE complet ou non (par là j'entends JMS, EJB etc) ? Si oui, alors JBoss, Glassfish ou Geronimo feront très bien l'affaire (ils gèrent en plus très bien les clusters, c'est pas hyper dur à configurer, surtout dans le cas de JBoss que je connais un peu). Sinon, une batterie de Tomcat en cluster devrait te suffire (par contre, c'est plus chiant à configurer).

    Pour la base de données Mysql -un peu léger quand même, c'est ce qui m'a été suggéré- ?
    MySQL c'est pas mal, pour un gros site utilise peut-être plutôt Postgre ou Oracle, ou encore Firebird. A toi de voir.

    frameworks
    Oui, utilises-en plusieurs même, ce sera plus simple. Tu as une panoplie de choix impressionnante. En premier lieu, comme tu fais du JPA, tu dois choisir une implémentation : OpenJPA, Hibernate, EclipseLink, TopLink. Pour la couche Web (servlets JSP) : JSF (standard), Spring MVC, Wicket, Tapestry, Stripes, Struts pour ne citer qu'eux, sans compter les frameworks de composition de vues (Sitemesh, Tiles, ...). Ensuite tu peux utiliser un framework middle tier pour lier le tout, par exemple Spring ou Seam.
    Comme tu le vois, les possibilités sont assez importantes, et il faut avoir un peu d'expérience pour choisir. Tu as des comparatifs sur le web, mais le mieux c'est de les essayer, et de choisir toi même. Moi personnellement, je choisirais Spring MVC+Tiles+Spring+l'implémentation JPA que tu veux (OpenJPA par exemple ?).
    Existe-t-il des livres qui en parlent ?
    Il en existe des dizaines. Et des tutos sur le site aussi !

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut
    Merci Patriarch pour conseils
    Où ça ?
    L'ennuie c'est que je ne suis pas autorisé à publié le cahier des charges, ceci étant je fais de mon mieux pour que ma question soit un minumum compréhensible. Je pense que dans ce que j'ai écrit il y avait les informations les plus importantes.

    Machine virtuels, Virtual Box ? VMWare ?
    Très à la mode tout ça. Pas forcément toujours utile, faut voir.
    Trés bonne question, Patriarch, excellente question. Si à la place des machines virtuelles je mettais en place un cluster de machine physique ? J'ai pensé aux machines virtuels, parce que je désire acheter de la mémoire plutôt qu'un machine physique. Et c'est là qu'on me coince sur le choix.




    Citation:
    il y aura en principe jusqu'à 1000 persones connectés en même temps, le nombre d'utilsateurs peut aller jusqu'à 15.000.
    ...
    Le hardware et les machines physiques surtout, et quelles quantités mémoire dois-je utiliser ? 2Go de mémoire vous semblent suffisant ? Quelles genre de machine : PC, où serveurs Sun ?
    ...
    cluster ?
    Tout dépends de la charge des serveurs et de la complexité des calculs. On peut pas répondre d'emblée, mais si tu as 1000 utilisateurs très actifs, je pense que tu peux justifier la mise en place de cluster.
    Les seuls infos que j'ai sur le cahier des charges c'est 1000/personnes et en plus trés actives, d'où ma question. Mais quand vous parlez de calcul d'emblée, vous voulez dire quoi ? Je ne sais pas comment calculer ceci justement. Moi j'ai donné un a priori, je suis parti du principe qu'une machine avec 1 Go ram suffisait. Mais j'ai choisi ce chiffre un peu comme on va cocher un nombre au monopoly, où à la loterie. Or l'informatique c'est tout sauf de la loterie, et par conséquent j'estime que mon choix n'est pas bon. Parce qu'il est aléatoire, et je ne sais pas comment y remédier.


    Citation:
    Apache-Tomcat ? Glassfish ? Websphere ? Jboss ?
    Première question : as-tu besoin d'un serveur JEE complet ou non (par là j'entends JMS, EJB etc) ? Si oui, alors JBoss, Glassfish ou Geronimo feront très bien l'affaire (ils gèrent en plus très bien les clusters, c'est pas hyper dur à configurer, surtout dans le cas de JBoss que je connais un peu). Sinon, une batterie de Tomcat en cluster devrait te suffire (par contre, c'est plus chiant à configurer).
    Je pense qu'il y aura des ejb 3 sans doute, et certainement des du JMS, donc on s'oriente ici vers Glassfish.


    MySQL c'est pas mal, pour un gros site utilise peut-être plutôt Postgres ou Oracle, ou encore Firebird. A toi de voir.
    OK c'est parti pour Postgres.


    Oui, utilises-en plusieurs même, ce sera plus simple. Tu as une panoplie de choix impressionnante. En premier lieu, comme tu fais du JPA, tu dois choisir une implémentation : OpenJPA, Hibernate, EclipseLink, TopLink. Pour la couche Web (servlets JSP) : JSF (standard), Spring MVC, Wicket, Tapestry, Stripes, Struts pour ne citer qu'eux, sans compter les frameworks de composition de vues (Sitemesh, Tiles, ...). Ensuite tu peux utiliser un framework middle tier pour lier le tout, par exemple Spring ou Seam.
    Comme tu le vois, les possibilités sont assez importantes, et il faut avoir un peu d'expérience pour choisir. Tu as des comparatifs sur le web, mais le mieux c'est de les essayer, et de choisir toi même. Moi personnellement, je choisirais Spring MVC+Tiles+Spring+l'implémentation JPA que tu veux (OpenJPA par exemple ?).
    Notre choix se dirige vers EclipseLink, Toplink, cependant nous manquons de tutoriaux en français. JPA, j'ai fait quelques trucs mais, c'est assez destabilisant quand on ne connait rien. Je ne connais pas OPENJPA, je vais peut être l'éssayer.

    Il en existe des dizaines. Et des tutos sur le site aussi !
    Je vais regarder alors avec plaisir ce qu'il y a sur Developpez.com

    Bien à vous.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Si vous vous dirigez vers GlassFish, il serait plus simple d'utiliser TopLink (il est intégré par défaut)... et si c'était JBoss, on se tournerait naturellement vers Hibernate... mais les 2 sont très bien

    Sinon, pour les bases de données, il y a également DB2 UDB qui est excellente...
    Mais bon, le choix dépend un peu du volume d'informations à traiter... DB2 ou Oracle sont à privilégier pour des très gros volumes, sinon, MySQL fonctionne parfaitement et a de très bon résultats (benchmark)

    Pour les frameworks, leur fonction est de simplifier les développements... en servlet / jsp on fait tout ce qu'on veut mais il y a beaucoup de chose dont on pourrait s'affranchir avec des frameworks comme jsf ou struts (pour ne citer que les principaux)... ça dépend un peu de la richesse de l'ihm aussi, richfaces (jsf) est superbe de ce point de vue, struts-layout (struts) est pas mal non plus...

    Bref, ce n'est pas toujours simple de faire les (bons) choix...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre Expert
    Avatar de Patriarch24
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    1 047
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 1 047
    Par défaut
    Bref, ce n'est pas toujours simple de faire les (bons) choix...
    Ca se saurait.

    Trés bonne question, Patriarch, excellente question. Si à la place des machines virtuelles je mettais en place un cluster de machine physique ? J'ai pensé aux machines virtuels, parce que je désire acheter de la mémoire plutôt qu'un machine physique. Et c'est là qu'on me coince sur le choix.
    Je suis pas assez expérimenté sur du virtuel pour en parler. Mais si tu fais un cluster de machines virtuelles (intérêt ???), t'as intérêt à avoir beaucoup de RAM.
    Mais quand vous parlez de calcul d'emblée, vous voulez dire quoi ?
    Ben s'ils doivent utiliser un truc du genre moteur de recherche sans arrêt, c'est pas pareil que de remplir des formulaires en permanence. La question c'est pas de savoir si les utilisateurs vont être actifs, mais c'est si le serveur lui-même va l'être !
    ejb 3 sans doute, et certainement des du JMS
    À noter que tu peux héberger tes ejbs dans un serveur dédié, et/ou en cluster. Bon choix pour Glassfish.

  6. #6
    Membre éclairé
    Inscrit en
    Janvier 2007
    Messages
    265
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 265
    Par défaut
    Vos interventions sont trés enrichissantes.

    @Patriarch
    Dommage qu'il n'y a pas de méthode de calculs ça m'aiderait énormément, histoire de leur dire que le choix est un temps soit peu scientifique, et non au pifomètre.
    Je ne suis pas un fanatique de machines virtuels, comme je l'ai dit si j'ai une méthode de choix, qui me permette d'éviter, les machines virtuelles, où choisir le hardware adéquate, je ne demande pas mieux. Je pense que si vous dites que les machines virtuelles ne sont pas la panacée, je vous crois sur parole, parce que vous savez de quoi vous parlez. J'ai d'ailleurs entendu un écho similaire, il y a quelques temps d'un technicien, personne ne lui avait prété attention à l'époque.

    Ben s'ils doivent utiliser un truc du genre moteur de recherche sans arrêt, c'est pas pareil que de remplir des formulaires en permanence. La question c'est pas de savoir si les utilisateurs vont être actifs, mais c'est si le serveur lui-même va l'être !
    Par contre votre argument est trés trés interressant, pourriez vous le développer svp. Ca mérite une attention particulière.


    Bon choix pour Glassfish.
    Oui on se dirige vers Glassfish, d'abord parce qu'il est éfficace et aussi et surtout gratuit.
    Cordialement.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Patriarch24 Voir le message
    ...
    La question c'est pas de savoir si les utilisateurs vont être actifs, mais c'est si le serveur lui-même va l'être !
    C'est clair, c'est une chose d'avoir 1000 utilisateurs connectés en permanence et qui font de la navigation (ce qui, d'un point de vue du serveur, ne représente pas une grosse demande de cpu) et une application qui servirait par exemple de moniteur de trafic routier et qui ferait des calculs permanents.

    Le premier cas risque surtout de nécessiter de la mémoire (surtout si on fait un usage abusif de la session)

    Dans ton cas (apparemment du moins) je pense que ce sont surtout les requêtes base de données qui vont prendre de la cpu.
    Le chat peut prendre pas mal de bande passante, mais d'un point de vue cpu devrait être assez light (si bien codé)
    Pour les images/vidéos, c'est surtout du transfert... c'est plus du temps...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Application web avec JSP / Servlet
    Par alaaKH dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 31/05/2013, 20h21
  2. Application web, choix jsp, servlet, controller
    Par Ceddoc dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 25/05/2012, 15h35
  3. Réponses: 0
    Dernier message: 29/09/2011, 15h58
  4. Web Service JSP Servlet
    Par becks10 dans le forum Services Web
    Réponses: 0
    Dernier message: 19/05/2011, 01h37
  5. Développement web java jsp servlet bean
    Par nicbond dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 26/06/2009, 14h02

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