Веб-сервер и сервер приложений

Является ли сервер приложений чем-то вроде дополнительного уровня обслуживания приложений над веб-сервером?

Есть ли сервер приложений всегда в качестве основного сервера веб-сервера?

В чем разница?

Ответы

Ответ 1

Нет, сервер приложений не содержит веб-сервер...

Прочтите следующие статьи...

http://www.answers.com/topic/application-server

http://download.oracle.com/docs/cd/E19159-01/819-3671/ablat/index.html

В основном:

После того, как Интернет взорвался в середине 1990-х годов, серверы приложений стали веб-сайтами.

Также показано различие между веб-сервером, веб-контейнером и сервером приложений...

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

A Веб-сервер - это сервер, который может получать HTTP-запросы, интерпретировать их, обрабатывать соответствующие HTTP-ответы и отправлять их соответствующим клиентам (веб-браузерам). Пример: веб-сервер Apache. Подробнее о веб-серверах и их работе →

A Web Container - это совместимая с J2EE реализация, которая обеспечивает среду для запуска сервлета и JSP. Положив это по-другому, можно сказать, что Web Container представляет собой комбинацию Servlet Engine и JSP Engine. Если HTTP-запрос относится к веб-компоненту (обычно к сервлету или JSP), тогда запрос пересылается в веб-контейнер, и результат запроса отправляется обратно на веб-сервер, который использует этот результат для подготовки ответа HTTP для конкретный HTTP-запрос. Пример: Tomcat - типичный веб-контейнер. Типичной настройкой было бы иметь HTTP-сервер Apache как веб-сервер и Tomcat в качестве веб-контейнера.

Сервер приложений - это полный сервер, который предоставляет среду для запуска бизнес-компонентов (EJB, ADF BC и т.д.) в дополнение к предоставлению возможностей веб-контейнера, а также Веб сервер. Пример: Bea WebLogic, IBM WebSphere, Oracle Сервер приложений и т.д.

Ответ 2

Собственно, при взломе Интернета и, в частности, "веб-сервисах" все современные серверы приложений также могут функционировать как веб-серверы. Например, текущая версия Tomcat включает встроенную функциональность Web-сервера, поэтому вам больше не нужно запускать отдельный HTTP-сервер Apache. Раньше предпочтительным было использование отдельных выделенных веб-серверов, таких как Apache, поскольку сервер приложений оптимизирован для сервера приложений, а не для веб-сервера; но производительность серверов приложений как веб-серверов улучшилась, так что любая оставшаяся разница в производительности не имеет значения - и, конечно же, не оправдывает расходы на запуск отдельных серверов.

Сегодня главное отличие заключается в том, что сервер приложений предназначен для поддержки языков программирования, таких как Java или, на платформе .net, С#, а также для обеспечения базовой инфраструктуры, которая включает в себя автоматическую отказоустойчивость, сеанс mgmt, транзакция mgmt, многопоточность - и все остальное, необходимое для создания масштабируемых корпоративных приложений. Текущие веб-серверы предназначены для поддержки таких языков, как Ruby, PHP, Python и Perl, а также отсутствие встроенной инфраструктуры сервера приложений.

Однако различие между серверами приложений и веб-серверами размывается и будет продолжать делать это, поскольку "веб-службы" становятся все более популярными, а языки, такие как Ruby, становятся зрелыми и поэтому требуют, чтобы веб-серверы предоставляли большую часть той же базовой инфраструктуры как сегодня App Servers. В конце концов, основное различие будет (еще не показано): если вы хотите разработать back-end (облачный) уровень вашего приложения, использующего Java или С#, используйте сервер приложений; если вы хотите разработать приложение, использующее Ruby, PHP или Perl, используйте веб-сервер.

Ответ 3

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

Прочтите Сервер приложений, веб-сервер: Какая разница?