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

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs Discussion :

Question de clarification de définition


Sujet :

Plateformes (Java EE, Jakarta EE, Spring) et Serveurs

  1. #1
    Membre habitué

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 46
    Points : 183
    Points
    183
    Par défaut Question de clarification de définition
    Bonjour,

    Je voulais avoir une définition claire et succinte des termes suivants (entre parenthèse, une première définition personnelle nourrie de quelques sites) pour clarifier mon esprit qui s'embrouille sérieusement :

    (pour simplifier on parlera pas du bon temps des clients lourds et du encore plus vieux temps des terminaux et mainframe).

    1. Serveur HTTP : logiciel capable de gérer les requêtes du protocole HTTP.
    2. Serveur d'Application : logiciel mettant à disposition des applications webs.
    3. Serveur Web : pareil que HTTP.
    4. Conteneur de Servlet : un serveur d'application exécutant des apps webs Java.

    5. Donc en gros Apache, c'est à la base un serveur HTTP/Web mais avec ses modules, il peut se transformer en serveur d'application (pour des appli écrites en C, Perl, Python, Ruby avec le mod_ qui va bien ou FastCGI) ?

    6. Tomcat, JOnAS, JBoss, Glassfish : ceux sont des serveurs d'applications ?
    (qui du fait qu'elles soient en Java se nomment "servlet", donc on peut aussi les appeler "conteneur" de servlet ?)

    7. Certains de ceux-ci étant aussi des serveurs HTTP/Web comme Tomcat ?

    8. Mais alors pourquoi peut-on associer Tomcat & Apache ? N'y-t-il pas un recouvrement des fonctionnalités de ces logiciels ? Y'a-t-il des serveurs d'application qui ne sont pas serveurs web, donc on doit embarquer Apache dans notre serveur d'application ?

    9. Mais pourquoi PHP peut être vu comme "une alternative aux serveurs d'applications" (dixit Wikipedia fr), car il nécessite toujours un serveur d'app ???

    10. Enfin pour IIS, c'est un serveur HTTP + d'application, principalement mis en avant pour les pages écrites en ASP .Net.

    11. Enfin, lorsqu'on parle de développement MVC (modèle vue contrôleur), cela s'applique à une technologie (RubyOnRails par ex) pour construire notre application web.
    Or de l'autre côté, l'architecture 3tier ressemble beaucoup à ça (présentation, métier = contrôle des données, accès aux données) : 3tier et MVC sont-ils alors équivalent ?

    Merci d'avance pour vos clarifications pour un esprit bien embrouillé !

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Un serveur d'application Java doit répondre à un certains nombres de critères, dont celui de gérer les servlets.
    Donc un serveur d'application est, entre autre, un conteneur de servlets mais la réciproque n'est pas vraie.
    En effet, Tomcat, est un conteneur de servlets mais pas un serveur d'application, car il ne gère pas toutes les spécifications J2EE et notamment les EJBs.

    Tomcat peut effectivement servir de petit serveur Web mais ce n'est pas son rôle. Son rôle est de récupérer les requêtes transmises par le serveur web et qui le concernent.
    D'ailleurs Tomcat est souvent couplé à Apache:
    -Tomcat pour le contenu dynamique: jsp ...
    -Apache pour le contenu static: html, images; configuration

  3. #3
    Membre habitué

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 46
    Points : 183
    Points
    183
    Par défaut
    OK. Donc Tomcat n'est pas un serveur d'application mais seulement un conteneur servlet. Un serveur d'application J2EE étant plus complet.
    De plus la partie HTTP de Tomcat n'étant pas son point fort, on préfère lui adjoindre Apache pour ça.
    Apache lui délèguera alors les pages jsp.

    Mais pour ce qui est de l'architecture nTier et MVC ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    365
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Janvier 2006
    Messages : 365
    Points : 495
    Points
    495
    Par défaut
    Bonjour,
    Pour compléter un peu la réponse.
    - Tomcat est un conteneur de servlets (jsp/servlet) et également un serveur web à part entière puisqu'il sert également les pages statiques. Mais Tomcat ne gère pas des pages php, ce que permet Apache. Mais à contrario, Apache ne gère pas les jsp/servlet, il a donc besoin d'un module de servlet. D'où la nécessité de coupler Apache + Tomcat lorsque ton serveur web doit gérer aussi bien des pages php que des jsp/servlet. Mais Tomcat n'a pas besoin d'Apache tant qu'il s'agit de pages statiques et de jsp/servlet.
    - Un serveur d'applications Java EE = conteneur web (Tomcat par exemple) + conteneur EJB + des services système (gestion de transactions, gestion de la sécurité, clusters, load balancing ...). Donc Tomcat se limitant en un conteneur web n'est pas un serveur d'applications. Des exemples de serveurs d'applications Java EE sont : JBoss, JOnAS, GlassFish, WebSphere, WebLogic ...
    Concernant le point 9 :
    Mais pourquoi PHP peut être vu comme "une alternative aux serveurs d'applications" (dixit Wikipedia fr), car il nécessite toujours un serveur d'app ???
    je pense que là c'est surement un abus de langage de la part de l'ami Wikipedia, car PHP est un langage de script qui a besoin d'un serveur web (Apache) pour s'exécuter, alors qu'un serveur d'applications est une bien grosse artillerie, mais bon...
    Quant à ce qui est du MVC, je te conseillerais ce lien :
    http://www.wantii.com/wordpress/?p=8
    Bon il parle de Struts2, mais quelque part en bas il donne une explication de ce qu'est le modele MVC, et même si on ne connait pas Struts, c'est à mon avis une explication assez instructive quant à ce qu'est le MVC et qu'il n'est pas.
    Bon courage !!
    SCJP 5 / SCBCD 1.3 Certified

  5. #5
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Les architectures nTiers représentent une vue globale du système d'information et plus précisemment les différents acteurs.
    On peut avoir pour une architecture 2 tiers :
    - 1 tier application + présentation (ex: un client swing)
    - 1 tier base de données

    3 tiers pour :
    - 1 tier présentation (ex: navigateur web)
    - 1 tier application (ex: appli web sur serveur d'application)
    - 1 tier base de données

  6. #6
    Membre habitué

    Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 46
    Points : 183
    Points
    183
    Par défaut
    OK, je crois que maintenant j'ai tout ce qu'il me fallait. Merci à tous les deux pour les explications, c'est bien clair maintenant.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 17/06/2013, 15h23
  2. Réponses: 7
    Dernier message: 18/07/2010, 18h27
  3. [UC] Clarification sur les rôles utilisateurs / Questions générales
    Par MakaveliFr dans le forum Cas d'utilisation
    Réponses: 5
    Dernier message: 08/11/2007, 09h27

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