Сервер приложений - Application server
An сервер приложений это сервер на котором размещены приложения.[1]
Фреймворки сервера приложений программные фреймворки для построения серверов приложений. Фреймворк сервера приложений предоставляет обе возможности для создания веб-приложения и сервер среда для их запуска.
Каркас сервера приложений содержит комплексную модель уровня обслуживания. Он включает в себя набор компонентов, доступных разработчику программного обеспечения через стандартную API определен для самой платформы. Для веб-приложений эти компоненты обычно работают в той же среде, что и их веб сервер (s), и их основная задача - поддерживать создание динамических страниц. Однако многие серверы приложений не просто создают веб-страницы: они реализуют такие службы, как кластеризация, отказ, и балансировки нагрузки, поэтому разработчики могут сосредоточиться на реализации бизнес-логика.[2]
На случай, если Ява серверов приложений, сервер ведет себя как расширенный виртуальная машина для запуска приложений, прозрачное управление подключения к базе данных с одной стороны, и часто подключения к веб-клиенту с другой.[нужна цитата ]
Другие варианты использования этого термина могут относиться к Сервисы что сервер предоставляет или компьютерное железо на котором работают службы.[нужна цитата ]
История
Этот термин изначально использовался при обсуждении ранних клиент – сервер системы для различения серверов, содержащих логику приложений SQL Сервисы[3] и промежуточное ПО серверы в отличие от других типов серверов данных.
В настоящее время, несмотря на то, что веб-браузеры стали повсеместными и обычно являются клиентом для конечных пользователей во многих стратегиях развертывания приложений, веб-приложения на основе браузера представляют собой лишь подмножество технологий серверного приложения.
Определение сервера приложений
Серверы приложений - это системное программное обеспечение, на котором веб-приложения или настольные приложения[нужна цитата ] запустить. Серверы приложений состоят из соединителей веб-серверов,[требуется разъяснение ] компьютер языки программирования, библиотеки времени выполнения, соединители баз данных и код администрирования, необходимый для развертывания, настройки, управления и подключения этих компонентов на веб-узле. Сервер приложений работает позади[нужна цитата ] а веб сервер (например. Apache или Microsoft Информационные службы Интернета (IIS)) и (почти всегда) перед SQL[нужна цитата ] база данных (например, PostgreSQL, MySQL, или Oracle ). Веб-приложения - это компьютерный код, который запускается на серверах приложений и написан на языке (ах), поддерживаемом сервером приложений, и вызывает библиотеки времени выполнения и компоненты, предлагаемые сервером приложений.
Существует множество серверов приложений. Выбор влияет на стоимость, производительность, надежность, масштабируемость и ремонтопригодность веб-приложения.
Проприетарные серверы приложений предоставляют системные услуги четко определенным, но частным образом. Разработчики приложений разрабатывают программы в соответствии со спецификацией сервера приложений. Недостатком такого подхода является зависимость от конкретного поставщика.
Противоположный, но аналогичный случай - это Java EE Платформа. Серверы приложений Java EE предоставляют системные услуги в соответствии с четко определенным открытым отраслевым стандартом. Разработчики приложений разрабатывают программы в соответствии со спецификацией Java EE, а не в соответствии с сервером приложений. Приложение Java EE, разработанное в соответствии со стандартом Java EE, может быть развернуто на любом сервере приложений Java EE, что делает его независимым от производителя.
Серверы приложений Java
Платформа Java, Enterprise Edition или Java EE (ранее J2EE) определяет базовый набор API и функции Серверы приложений Java.
Инфраструктура Java EE разделена на логические контейнеры.
- Контейнер EJB: Enterprise JavaBeans (EJB) используются для управления транзакциями. Согласно Чертежи J2EE, то бизнес-логика приложения находится в Enterprise JavaBeans - модульный серверный компонент, обеспечивающий множество функций, включая декларативное управление транзакциями и улучшающее приложение. масштабируемость.
- Веб-контейнер: Веб-модули включают сервлеты и JavaServer Pages (JSP).
- Контейнер JCA (Архитектура соединителя Java EE )
- Поставщик JMS (Служба сообщений Java )
Некоторые серверы приложений Java не используют многие функции Java EE, такие как EJB и Java Message Service (JMS). Их основное внимание уделяется сервлетам Java и страницам JavaServer.
Существует множество серверов приложений Java с открытым исходным кодом, которые поддерживают Java EE.
На коммерческих серверах приложений Java преобладали Сервер приложений WebLogic от Oracle, Сервер приложений WebSphere от IBM и открытый исходный код Платформа корпоративных приложений JBoss (JBoss EAP) от Красная Шапка.
Страница сервера Java (JSP) выполняется в веб-контейнер. JSP-страницы позволяют создавать HTML страниц путем встраивания ссылок на логику сервера внутри страницы. Кодировщики HTML и программисты Java могут работать бок о бок, ссылаясь на код друг друга изнутри своего собственного.
Вышеупомянутые серверы приложений в основном обслуживают веб-приложения, а также услуги через RMI, EJB, JMS и SOAP. Некоторые серверы приложений нацелены на сети, отличные от Интернет те: Протокол инициирования сеанса серверы, например, целевые телефонные сети.
.NET Framework
Microsoft
Microsoft позиционирует свою инфраструктуру приложений и служб среднего уровня в Windows Server операционная система и .NET Framework технологии в роли сервера приложений.[4] Роль Windows Application Server включает в себя Internet Information Services (IIS) для поддержки веб-сервера, .NET Framework для поддержки приложений, ASP.NET для создания сценариев на стороне сервера, COM + для взаимодействия компонентов приложения, очередь сообщений для многопоточной обработки и Windows Communication Foundation (WCF) для взаимодействия приложений.[5]
Сторонний
- Мононуклеоз (кроссплатформенная реализация .NET с открытым исходным кодом, поддерживающая почти все его функции, за исключением функций, специфичных для ОС Windows), спонсируемая Microsoft и выпущен под Лицензия MIT
- Сервер приложений Base4, проект с открытым исходным кодом
- Сервер приложений TNAPS, бесплатный сервер приложений, разработанный TN LLC
Серверы приложений PHP
Серверы приложений PHP используются для запуска и управления PHP Приложения.
Zend Сервер, построен Zend Technologies, обеспечивает функциональность сервера приложений для приложений на основе PHP.
appserver.io, созданный TechDivision GmbH, представляет собой многопоточный сервер приложений для PHP, написанный на PHP.
RoadRunner Spiral Scout - это высокопроизводительный сервер приложений PHP, балансировщик нагрузки и менеджер процессов, написанный на Golang.
Серверы мобильных приложений
Сервер мобильного приложения мобильный промежуточное ПО что делает бэкэнд системы, доступные для мобильный приложение для поддержки Разработка мобильных приложений. Во многом как веб сервер который хранит, обрабатывает и доставляет веб-страница к клиенты, сервер мобильных приложений устраняет разрыв между существующей инфраструктурой и мобильными устройствами.
Цель
Хотя большинство основанных на стандартах инфраструктура (в том числе Таким образом ) предназначены для подключения к любому независимому от поставщика, продукта или технологии, большинство предприятий испытывают проблемы с подключением серверных систем к мобильным приложениям, поскольку мобильные устройства создают следующие технологические проблемы:[6]
- Ограниченные ресурсы - мобильные устройства имеют ограниченную мощность и пропускную способность
- Прерывистая связь - сотовая связь и покрытие Wi-Fi часто не непрерывно
- Трудно обеспечить[7] - мобильность и BYOD затруднить защиту мобильных устройств
Целью сервера мобильных приложений является создание существующей инфраструктуры для размещения мобильных устройств.
Общие черты
Основные возможности услуг мобильного приложения включают:
- Маршрутизация данных- данные упакованы в меньшие (ОСТАЛЬНЫЕ ) объекты с некоторой бизнес-логикой для минимизации требований к пропускной способности и батарее
- Оркестровка- транзакции и интеграция данных из нескольких источников
- Служба аутентификации- безопасное подключение к серверным системам управляется мобильным промежуточным ПО
- Не в сети поддержка- позволяет пользователям получать доступ и использовать данные, даже если устройство не подключено
- Безопасность- шифрование данных, управление устройствами, SSL, ведение журнала вызовов
Серверы мобильных приложений против серверов приложений против веб-серверов
Серверы мобильных приложений, серверы приложений и веб-серверы служат аналогичным целям: они являются частями промежуточное ПО которые подключают серверные системы к пользователям, которым необходим к ним доступ, но технологии в каждой из трех различаются. Серверы приложений, разработанные до повсеместного распространения веб-приложений, предоставляют внутреннюю бизнес-логику через различные протоколы, иногда включая HTTP, и управляют безопасностью, обработкой транзакций, пулом ресурсов и обменом сообщениями.[8] Когда популярность веб-приложений выросла, серверы приложений перестали удовлетворять потребности разработчиков, и веб-сервер был создан, чтобы заполнить этот пробел.[нужна цитата ]
Веб-серверы обеспечивают функции кэширования и масштабирования, необходимые для веб-доступа и не предоставляемые серверами приложений. Они преобразуют запросы в статический контент и обслуживают только HTTP-контент.[9] Со временем серверы приложений и веб-серверы трансформировались из двух ранее различных категорий, объединенных функций и, возможно, объединились.[нужна цитата ]
Серверы мобильных приложений идут по тому же пути.[нужна цитата ] Появление мобильных устройств требует функциональности, которую разработчики традиционных серверов приложений не ожидали, и серверы мобильных приложений заполняют этот пробел. Они заботятся о безопасности, управлении данными и требованиях автономного режима, которые не удовлетворяются существующей инфраструктурой, и представляют контент исключительно в REST.
Со временем эти три категории могут полностью объединиться и стать доступными в одном продукте, но корневые функции различаются.
Модели развертывания
Сервер приложений может быть развернут:
- На территории
- Облако
- Частное облако
- Платформа как услуга (PaaS)
Смотрите также
использованная литература
- ^ "Что такое сервер приложений?". theserverside.com. Получено 2010-02-28.
сервер приложений предоставляет среду, в которой приложения могут работать, независимо от того, какие приложения являются или что они делают
- ^ Стефано Чери; Пьеро Братурнали; Альдо Бонджо; Марко Брамбилла; Сара Комай; Маристелла Мателла. «Разработка веб-приложений, интенсивно использующих данные, 2 квартал 2003 года». Отсутствует или пусто
| url =
(Помогите) - ^ «Анализ в среде сервера приложений». Корпорация Майкрософт. 1 июня 1997 г.
- ^ TechNet: Сервер приложений
- ^ TechNet: роль сервера приложений
- ^ «Почему для разработки мобильных приложений требуется нечто большее, чем SOA». 19 ноября 2014 г.
- ^ «Миллиард пользователей смартфонов могут быть затронуты уязвимостью безопасности Heartbleed». 11 апреля 2014 г.
- ^ «Сервер приложений, веб-сервер: в чем разница?». 2002-08-23.
- ^ «В чем разница между сервером приложений и веб-сервером?».