У меня есть опыт работы с основными Java и Java EE. Я прочитал различный вопрос о SO, чтобы понять, что такое Java EE? И немного ответов в SO: what-exactly-is-java-ee, what-is-java-ee
У меня есть некоторые сомнения:
1) Если Java EE - это просто спецификация, кто их реализует? Используют ли серверы приложений (например, JBOSS, GlassFish) эти спецификации?
2) Если я прав, спецификация EJB реализуется контейнером EJB, и я считаю, что EJB Container является частью Application Server. Теперь, когда мы, разработчики, пишем код EJB, что мы на самом деле делаем? У меня есть сомнение, контейнер EJB реализует спецификацию EJB, поэтому мы переопределяем некоторую "часть спецификации" EJB? Почему какая-то часть EJB реализуется контейнером EJB и что-то, что разработчики пишут? ИЛИ что какая-то часть EJB должна быть предоставлена контейнером EJB и какая-то часть, которая должна быть разработана разработчиками? Мне трудно понять это.
Пожалуйста, помогите кому-нибудь понять это?