Dire que tout outil ou le cadre est juste "mieux" est ridicule. Il dépend toujours de la situation, l'architecture, etc. Vous n'avez pas forcément envie d'utiliser un marteau pour enfoncer une vis.
J'ai écrit JBoss dans l'Action, j'ai donc évidemment, comme la technologie JBoss, mais je serai le premier à dire que JBoss peut-être exagéré dans de nombreuses situations. Par exemple, pour les deux derniers sites que j'ai développé, il ne fait plus de sens pour construire avec du Graal et de la déployer sur un Tomcat autonome instance.
C'est un peu injuste de dire que tout ce que vous obtenez lors de l'utilisation de JBoss est EJB et JMS. JBoss offre de nombreux services et fonctionnalités, y compris:
- Servlet/JSP contenant
- JNDI
- EJB
- JTA
- clustering
- la mise en cache
- JMS
- Source de données / gestion des Ressources
- JMX intégration
- OSGi soutien
- web services
- portails
- Web Haricots (Couture)
- Certaines consoles d'administration
- un conteneur IoC
- etc.
La chose qui attire de nombreux architectes de JBoss, c'est sa flexibilité. Il utilise une architecture de plugin qui vous permet d'ajouter et de supprimer des services. Comme d'autres l'ont dit, en utilise Tomcat comme son conteneur de Servlet, de sorte que vous pouvez littéralement whittle JBoss là où elle est pratiquement juste un serveur Tomcat. Quel est l'intérêt de faire cela? Vérification Future si vous pensez que vous allez utiliser d'autres fonctionnalités de JBoss.
Ces services JBoss sont pré-intégrés et de s'efforcer de fournir un modèle de déploiement qui minimise votre effort dans l'écriture de l'application de la logique ou de la configuration d'intégrer vous-même. Cela étant dit, d'autres frameworks comme Spring font un excellent travail de soutien à un uniforme des façons d'intégrer de nombreuses bibliothèques populaires et des cadres. Mais depuis qu'ils se concentrent sur l'intégration de la 3e partie des bibliothèques, de l'interopérabilité entre les services est à vous. Parce que JBoss est la construction de la services et l'intégration plate-forme, ils prennent le temps de développer (et le soutien) pour l'interopérabilité.
Quelques questions à se poser lors du choix sont:
- Allez-vous utiliser la norme JavaEE éléments architecturaux comme les EJB?
- BTW, EJB peut fonctionner en autonome Tomcat à l'aide de JBoss conteneur embarqué, donc si EJB est tout ce que vous utilisez, alors vous n'avez pas encore les utiliser JBoss
- Allez-vous utiliser les Services Web, Portails, JMS?
- Vous êtes à la recherche dans la construction du Web de Haricots ou de Couture?
- Quelles plates-formes de déploiement (Tomcat, JBoss, etc) ne votre IL, de soutien et de développement personnel utilisez actuellement? Si vous allez utiliser quelque chose de nouveau, vous devrez payer des frais supplémentaires pour apprendre la nouvelle plate-forme.
- Si vous vendez un produit que les clients se déployer, quel sera l'impact sur les clients de l'organisation.
- Êtes-vous allez avoir besoin de soutien rémunérés?
- Vous pouvez trouver de l'aide pour Tomcat par de nombreuses entreprises (y compris Red Hat, je crois).
- Vous aurez besoin de comparer les coûts, parce que je ne pense pas que JBoss soutien est bon marché, bien que je n'ai pas regardé les prix ces derniers temps.
- Aurez-vous besoin de faire sophistiqué de clustering?
- JBoss a quelques merveilleuses capacités de clustering, et vous aurez probablement une bonne prise en charge des clusters par Red Hat. Si, pour une divulgation complète, je n'ai jamais fait aucun complexe clustering avec tous les autres cadres pour pouvoir comparer.
- Êtes-vous allez avoir besoin avancées de gestion des transactions (transactions distribuées, 2-phase s'engage, etc)
Pas de sonner comme un plug sans vergogne, mais le premier chapitre de JBoss dans l'Action est disponible gratuitement sur l'Manning site web. Si nous ne faisons pas un direct comparaison entre JBoss et d'autres serveurs d'applications et d'environnements de déploiement dans ce chapitre, nous faisons parler les différences architecturales un peu, ce qui est pertinent à votre question.