Comme expliqué ci-dessus par @Miguel Ping, les serveurs d'Application contient des fonctionnalités les développeurs n'ont pas besoin.
Par exemple, beaucoup de développeurs n'ont pas besoin de code pour la messagerie , ils n'ont pas besoin de JMS pots.
Les autres développeurs ne peuvent pas besoin de clustering, de sorte qu'ils n'ont pas besoin de clustering code, et ainsi de suite.
Comme aujourd'hui, la plupart de l'INTERFACE utilisateur est orienté vers le web, conteneur de Servlet, qui doivent être fournis par les serveurs d'application , devient de plus en plus un élément essentiel, par conséquent, de nombreux développeurs de décider d'utiliser un conteneur de Servlet (j'.e - tomcat).
Dans ce cas, de nombreux développeurs utilisent le framework Spring pour prévoir le remplacement de la fonctionnalité qu'ils ont avec la plaine de Java EE (ou d'intégrer avec Java EE - Printemps peut être exécuté sur le dessus de l'application serveur en tant que bien).
Printemps-core est lightware et offre surtout une Depdency Injection/Inversion De Contrôle des conteneurs (en remplacement de l'EJB conteneur Java EE).
Vous pouvez ajouter d'autres modules du framework Spring pour donner plus de fonctionnalités à votre application., alors que dans de nombreuses applications serveurs (ceux des EJB 3.0 et ci-dessous) le serveur d'application est le chargement de l'ensemble de la pile et cela affecte aussi regarder le temps de Serveur d'Application (et c'est assez ennuyeux pour les développeurs, à partir de l'expérience personnelle).
Cela dit, EJB 3.1 contient maintenant des profils, par exemple - le profil web qui charge un nombre réduit de pièces de Java EE spec. En outre, Jboss introduit dans JBoss as 7 un parallèle mécanisme de déploiement sur l'analyse des dépendances au sein de l'application , et effectue en parallèle du déploiement de composants indépendants.
Par exemple, à oVirt projet open source, nous avons réduit le temps de démarrage de plus de 1 minute sur un simple déploiement d'un virutalization environnement à quelque chose comme 3 secondes.
Je n'ai aucune idée si un tel mécanisme existe dans d'autres EJB 3.1 les serveurs d'applications, cependant, comme mentionné précédemment, vous pouvez définir des profils assez facilement ou utilisez déjà des profils existants, tels que le profil web (EJB lite) afin de réduire le temps de démarrage
Pour conclure,
Dans le passé, les gens utilisés tomcat principalement à réduire les temps de début et de réduire la quantité de modules en cours de chargement.
Le printemps a présenté une alternative modulaire pour le développement Java EE et peut être utilisé avec tomcat.
.
Aujourd'hui, avec les EJB 3.1, Java EE a également adpoted la modularisation, et il y a des serveurs d'applications tels que JBoss as 7, qui réduisez le temps de quelques secondes grâce à toutes sortes d'optimisation faite pendant le déploiement.