Est-ce que je vois une différence fondamentale entre la façon dont Java Standard API et Java EE API sont mis en œuvre?Pourquoi les API Java EE sont elles-mêmes implémentées par les fabricants de serveurs d'applications?
API Java standard est ici, mis en œuvre par Oracle, pour quiconque d'utiliser dans la programmation Java: http://docs.oracle.com/javase/7/docs/api
Mais pourquoi est-ce que les décideurs (par exemple IBM, RedHat, Oracle) des serveurs d'applications (à savoir JBoss, WebLogic, WebSphere, GlassFish, WildFly) proposent différentes implémentations de la même API Java EE?
Exemple 1: RESTEasy est une implémentation de JAX-RS disponible avec JBoss
Exemple 2: HornetQ est une implémentation de JMS disponible avec wildfly
Je suppose que je devrais demander, "Que signifie même avoir cette page d'API EE sur le site Web d'Oracle puisque chaque fournisseur a sa propre implémentation? Le lien ci-dessous est-il juste pour un spectacle?" https://docs.oracle.com/javaee/7/api/
Bravo! I Cependant, je me demande toujours pourquoi tous ces surnoms (c'est-à-dire HornetQ, RESTEasy) sont nécessaires pour faire référence à des implémentations spécifiques faites par des fournisseurs spécifiques. Les noms des fournisseurs ou les noms des serveurs d'applications ne devraient-ils pas suffire à faire savoir aux utilisateurs quelles implémentations particulières sont utilisées? – softwarelover
Ce sont des implémentations de sous-catégories de la spécification Java EE (ie JMS ou JAX-RS), et parfois ces technologies peuvent être utilisées de manière autonome (pas dans le cadre d'un serveur d'applications), le nom est juste pour se différencier. sont essentiellement des produits individuels. –
Quel concept! Comme vous l'avez dit «parfois», j'apprécierais que vous énumériez quelques-unes de ces sous-catégories de spécifications JEE qui, dans la pratique, peuvent être utilisées comme produits autonomes. – softwarelover