Это подробный ответ с некоторыми сценариями, чтобы четко понять разницу, сходство и то, как оба могут работать вместе, и все
Сервер приложений - это термин, который иногда смешивается с веб-сервером . Хотя веб-сервер обрабатывает в основном HTTP-протоколы , сервер приложений работает с несколькими различными протоколами, включая, но не ограничиваясь , HTTP .
Основная задача веб-сервера - отображать содержимое сайта , а сервер приложений отвечает за логику , взаимодействие между пользователем и отображаемым содержимым. Сервер приложений работает вместе с с веб-сервером, где один отображает, а другой взаимодействует.
Информация, передаваемая назад и вперед между сервером и его клиентом, не ограничивается простой разметкой дисплея, а взаимодействует между ними.
В большинстве случаев сервер создает это взаимодействие через API компонента , например J2EE (платформа Java 2) , EJB (Enterprise JavaBean) и другие модели различных прикладных программ.
Пример:
Лучший способ понять разницу между сценариями, в которых сервер приложений работает с веб-сервером, и сценарием, в котором нет сервера приложений, - через онлайн-магазин.
Сценарий 1: веб-сервер без сервера приложений
у вас есть интернет-магазин только с веб-сервером и без сервера приложений. На сайте будет отображаться, где вы можете выбрать продукт. Когда вы отправляете запрос, сайт выполняет поиск и возвращает результат HTML своему клиенту. Веб-сервер отправляет ваш запрос непосредственно на сервер базы данных (наберитесь терпения, я объясню этот в нашем следующем слепке) и ждем ответа. После получения веб-сервер формулирует ответ в HTML-файл и отправляет его в веб-браузер. Эта двусторонняя связь между сервером и сервером базы данных происходит каждый раз, когда выполняется запрос.
Сценарий 2: веб-сервер с сервером приложений
если запрос, который вы хотите выполнить, уже выполнен ранее, и с тех пор данные не изменились, сервер сгенерирует результаты, не отправляя запрос на сервер базы данных. Это позволяет выполнять запрос в режиме реального времени, когда второй клиент может получить доступ к той же информации и получать надежную информацию в режиме реального времени, не отправляя еще один повторяющийся запрос на сервер базы данных. Сервер в основном действует как промежуточное звено между сервером базы данных и веб-сервером. Это позволяет извлекать информацию для повторного использования в первом сценарии, поскольку эта информация встроена в определенную и «настраиваемую» HTML-страницу, это не повторный процесс. Второй клиент должен будет снова запросить информацию и получить другую HTML-страницу с запрошенной информацией, что крайне неэффективно. Не говоря уже о том, что сервер этого типа очень гибок благодаря своей способности управлять своими собственными ресурсами, включая безопасность, обработку транзакций, обмен сообщениями и пул ресурсов.
Для поддержки такого множества сложных задач этот сервер должен иметь встроенную избыточность, большую вычислительную мощность и большой объем оперативной памяти для обработки всех данных, которые он извлекает в режиме реального времени.
Надеюсь, это поможет.