Разница между сервером приложений и контейнером сервлетов?



Я пытаюсь понять разницу между полноценным сервером приложений (например, Weblogic, JBoss и т. д.) и контейнер сервлета (Tomcat, Jetty etc.).



чем они отличаются и когда их использовать?



спасибо,

983   5  

5 ответов:

сервлет-контейнер поддерживает только API сервлета (включая JSP, JSTL).

сервер приложений поддерживает весь JavaEE-EJB, JMS, CDI, JTA, API сервлетов (включая JSP, JSTL) и т. д.

можно запустить большинство технологий JavaEE на сервлет-контейнере, но вы должны установить автономную реализацию конкретной технологии.

вообще говоря, контейнер сервлета более или менее ограничивается реализацией спецификации сервлета J2EE. Кроме того, он сосредоточен на среде выполнения, а не на предоставлении дополнительных инструментов.

напротив, полноценный сервер приложений реализует весь стек J2EE; кроме того, он поставляется со всеми инструментами enterprisey и возможностями интеграции. Сервер приложений обычно имеет расширенные интерфейсы администрирования, поддерживает кластеризацию и другие особенности, используемые в основном в разработке систем высокого класса.

для новичка, вероятно, лучше остаться с простым контейнером сервлета, так как кривая обучения там гораздо менее крутая.


Edit

@Apache Fan: это зависит от специфики вашей ситуации, как существующие системы и планы на будущее среди прочего. Я не думаю, что здесь применим общий подход к блок-схеме.

выбор платформы обычно делается путем взвешивания конкретных требований с учетом непосредственных знаний рассматриваемых систем.

однако вопрос не дает никаких подсказок относительно того, каковы критерии оценки. Должен ли он быть открытым исходным кодом? Необходима ли круглосуточная поддержка поставщиков? С какой корпоративной средой должна интегрироваться система? Являются ли лицензионные сборы проблемой? Любые обязательные технологии или инструменты? Так далее.

Не зная выше, это в значительной степени стрельба в темный.

в основном сервер приложений в контексте Java EE-это программное обеспечение, установленное на сервере и реализующее одну спецификацию Java EE (например, Java EE 7). Это означает, что такое программное обеспечение (сервер приложений)должно иметь возможность запускать приложение Java EE.

Java EE определяет 4 домена, так называемые тара:

  • контейнер апплета,
  • контейнер клиента приложения,
  • веб-контейнера, и
  • контейнер EJB.

два контейнера являются частью сервера приложений (EJB и веб-контейнер) и два других являются частью клиентского компьютера.

JBoss и Weblogic-это серверы приложений, Tomcat и Jetty-это веб-контейнер. Вот почему JBoss и Weblogic могут иметь дело с большим количеством технологий, чем веб-контейнер. Сервер приложений может управлять EJB.

контейнер сервлетов не подходит выражение для квалифицированного Tomcat и Jetty, потому что это более ограничительно. Tomcat также может выполнять JSP и JSF, а не только сервлеты.

afaik, websphere и jboss полностью совместимы с J2EE-сервером, который может работать за пределами сервлетов, таких как EJB, тогда как Tomcat-это просто контейнер сервлетов, и вы не можете запускать на нем EJBs.

в терминах непрофессионала : веб-сервер-это: обработка HTTP-запросов (обычно из браузеров).

контейнер сервлетов (например, Tomcat) означает: Он может обрабатывать сервлеты и JSP.

сервер приложений (например, GlassFish) означает: *Он может управлять приложениями Java EE (обычно как сервлет/JSP, так и EJBs).

для новичка, вероятно, лучше остаться с простым контейнером сервлетов.

Comments

    Ничего не найдено.