Контейнер EJB находится на всех серверах приложений. Контейнер EJB в глубине
Я новичок в EJB. Из всего чтения и поиска, которые я сделал до сих пор, я понял следующее:
- EJB-это компоненты, в которых записывается и поддерживается бизнес-логика приложений.
- все EJB помещаются во что-то, называемое контейнером EJB.
- контейнер EJB-это не что иное, как программа на стороне сервера, написанная для управления EJB и обеспечения основных функций, которые должны предоставляться EJB(viz, transaction управление, безопасность, столкновение освобождают envt, etc).
1) я сомневаюсь, что так называемый компонент EJB находится на всех серверах приложений?
2) когда мы говорим EJB 2.1/3.0/3.1, означает ли это, что выпущена новая версия контейнера EJB?
3) контейнер EJB также находится на веб-серверах?
спасибо.
2 ответов
ответить
вообще да. Сервер приложений обычно называют сервером с контейнером EJB, таким как Glassfish, Jboss и т. д. Но вам нужно убедиться, что сервер приложений имеет поддержку EJB.
да
нет. Веб-серверы или веб-контейнеры (Tomcat, Jetty и т. д. ) служат другой цели, чем контейнер EJB. Но все серверы приложений имеют веб-серверы (наряду с EJB стеклотара. ).
сервер контейнера EJB и веб-контейнера (серверов) - это разные уровни в сценарии приложения Java EE . Проверка этой ссылке для получения дополнительной информации.
вы правильно поняли идею EJB.
да и нет. Зависит от того, что вы понимаете как "сервер приложений" (двусмысленность описал ниже в ответе 3.)
когда вы говорите EJB 2.x / 3.0 / 3.1 или так далее, вы ссылаетесь на конкретную спецификацию EJB, что означает, что вы ссылаетесь на набор сервисов эта версия поддерживает. Другими словами - да, это означает, что контейнер EJB должно быть в заданной версии.
Сначала выпускается спецификация (вы можете увидеть черновики версий, проголосовать за новые функции и в основном участвовать в этом процессе). Затем пишется ссылочная реализация (RI), чтобы показать, что она "выполнима", и вы можете использовать ее сразу. Затем различные поставщики могут предоставить свои собственные контейнеры EJB, которые должны соответствовать конкретной спецификации EJB.-
есть несколько различных терминов, которые вам нужно знать. Просто будьте уверены, мы говорим об одном и том же:
- веб-сервер является сервером HTTP/HTTPS, как Apache HTTP Server, который обслуживает запросы клиентов. Этот термин связан не только с Java EE.
- веб-контейнер-это термин Java EE, который может означать несколько вещей, но обычно он относится к контейнеру сервлетов и, скажем, контейнеру JSP. Эти контейнеры обслуживают веб-клиентов, поэтому это web контейнер. Как правило, веб-контейнер имеет веб-сервер внутри него (как в случае котяра.) Однако вы можете настроить его так, чтобы статические ресурсы были сервером только чистым веб-сервером, а динамический контент (ваше Java-приложение, сервлеты, JSP и т. д.) будет сервером вашего веб-контейнера.
- сервер приложений-это расплывчатое название. В мире Java EE purists это может означать только такой сервер, который предоставляет все службы Java EE. Не-Java EE пуристы лечит сервер приложений как произвольный сервер, который состоит из вашего приложения. Согласно этому определению, вы можете вызвать Tomcat (веб-контейнер и веб-сервер)сервер приложений.
Как вы видите, словарь не острый, так как одна вещь может означать несколько немного разных вещей. Более того, начиная с Java EE 6 у нас есть профили. Это означает, что сервер приложений Java EE может соответствовать веб-профилю или полному профилю. Таким образом, только сервер веб-профиля следует рассматривать как сервер приложений.
просто как резюме - вы можете использовать контейнер EJB в веб-контейнере. Взгляните на в большинстве случаев или в основном в project TomEE.