Развитие инструментального программного обеспечения, используемого для разработки различного рода приложений, привело к созданию отдельного класса программ — frameworks (каркасов). Отдельно взятая framework представляет собой систему взаимосогласованных компонентов и сервисов, позволяющих создавать компьютерные программы для различных предметных областей науки, техники, сферы коммерции и т.п.
![]() | Замечание |
|---|---|
Для построения веб-приложения создано большое количество frameworks. Их часто называют серверами приложений или прикладными серверами. В контексте сервера приложения термин «приложение» не является синонимом отдельной выполняемой программы, это обозначение инфраструктуры, позволяющей создавать веб-приложения. |
Основным компонентом такой инфраструктуры является язык программирования, позволяющий создавать конкретные приложения, запускаемые пользователями через сеть. При их создании возникает множество задач, напрямую не поддерживаемых языком программирования. Поэтому в состав сервера приложений входят компоненты, обеспечивающие решение таких задач как поддержка системы безопасности сайта, обеспечение доступа к базам данных, построение навигационных элементов, создание и управление шаблонами отображения и т.п.
Современные приложения, как правило, строятся по многоуровневой структуре клиент — сервер, в которой сервер приложений выделяется в отдельный уровень.
В такой трехуровневой среде (веб-сервер, сервер приложений, сервер базы данных) сервер приложений выполняет следующие функции:
![]() | Замечание |
|---|---|
Различие между CMS, сервером приложений и framework проявляется в характере их взаимоподчинения. Это выражено в том факте, что CMS может включать в себя несколько frameworks, используемых для решения различных задач. В свою очередь framework создается на базе сервера приложения или среды разработки. Так на основе сервера приложений Zope создан CMF — специализированный framework разработки веб-приложений. В свою очередь CMF является составной частью CMS Plone. |