В чем разница между сервером приложений и веб-сервером php/java plus?
Мне трудно понять эту терминологию.
Что именно подразумевается под сервером приложений? Мне кажется, что это веб-сервер с дополнительными возможностями сценариев, как AMP-сервер или Apache + JSP.
Когда я смотрю на документацию, например, JBoss или Zend, похоже, что он запускает сервлет / скрипт только при получении http-запроса. То же, что и php-интерпретатор в настройке AMP. И сетевой трафик тоже только через http-запросы.
Разница, которую я заметил, заключается в том, что серверы приложений лучше контролируют запущенные в данный момент скрипты / сервлеты.
1 ответ
Артефакты JEE, такие как JSP/ servlets / EJB, запускаются в контейнере. JEE определяет строгие правила относительно того, что такое контейнер и как он должен себя вести.
Например, tomcat - это контейнер сервлетов. Контейнер сервлета или, в этом отношении, любой контейнер обеспечивает выполнение соответствующих артефактов.
Tomcat - это единственный контейнер сервлетов. у него есть возможность запускать сервлеты.
Сервер приложений - это больше, чем просто контейнер. На сервере приложений есть EJB-контейнер, поставщик услуг JMS, поставщик источников данных, поставщик услуг JNDI и другие. Все это в совокупности делает сервер приложений.
Apache не может запустить JSP/ Servlets. Tomcat может. Комбинация Apache + tomcat используется в нескольких местах, поскольку Apache используется для обслуживания статического содержимого.