В чем разница между application server и web server?

Веб-сервер хранит страницы для просмотра в браузере, в то время как сервер приложений предоставляет методы, которые клиентское приложение может вызывать. Более детально можно сказать, что веб-сервер принимает и обрабатывает http запросы, в то время как сервер приложений хранит бизнес-логику для приложений через множество протоколов.
Рассмотрим более детально:
Web server
Веб-сервер обрабатывает HTTP протокол. Когда веб-сервер получает HTTP запросы (request), он отвечает HTTP ответом (response), таким как отсылка назад HTML страницы. Для обработки запроса, веб-сервер может отвечать статической html страницей или изображением, посылать редирект или делегировать динамический ответ другой программе, такой как CGI скрипт, JSP, servlet, ASP, server-side JavaScript или любой другой серверной технологии.
Модель делегирования веб сервера предельно проста. Когда запрос приходит на сервер, он просто передает запрос программе, ответственной за ее обработку. Веб-сервер не предоставляет никакого функционала, предоставляя лишь среду, в которой серверные программы могут выполнять и отсылать обратно сгенерированные ответы.
Поскольку веб-сервер сам по себе может не поддерживать транзакции или пул соединений с базой данных, он может применять различные стратегии такие как load balancing, caching, clustering.
Application Server
Сервер приложений предоставляет бизнес-логику клиентским приложениям через различного рода протоколы, возможно также и по HTTP. В то время как веб сервер в большинстве случаев работает с HTML в для веб-браузера, сервер приложений обеспечивает доступ к бизнес-логике для использования в клиентских приложениях.
Такие сервера приложений могут включать графический интерфейс пользователя, запущенный на компьютере, веб сервер или даже сервер приложений.
В большинстве случаев, сервер предоставляет бизнес-логику через API компонентов, таких как EJB. Также, сервер приложений управляет своим собственными ресурсами, такими как internet security, transaction processing, resource pooling, messaging. Также, как и веб-сервер, сервер приложений может также применять различные техники расширения.
Материалы, которые могут вас заинтересовать
- Нуждается ли приложение в сервере приложений? / Deciding Whether an Application Needs an Application Server
- Weblogic. JMS. Отправка и прием сообщения на topic из клиента.
- Websphere + Jython. Сборник готовый функций для всевозможных операций по созданию j2ee ресурсов
- Как происходит вызов EJB?
- В чем разница между EJB 2.0 и EJB 3.0?
- Можно ли вызывать Runtime.gc() в EJB?
- Что такое deployment descriptor или дескриптор развертывания?
- Являются ли JavaBeans компонентами J2EE?
- Какие существуют компоненты в J2EE?







Отправить комментарий