1.2. Frameworks

Развитие инструментального программного обеспечения, используемого для разработки различного рода приложений, привело к созданию отдельного класса программ — frameworks (каркасов). Отдельно взятая framework представляет собой систему взаимосогласованных компонентов и сервисов, позволяющих создавать компьютерные программы для различных предметных областей науки, техники, сферы коммерции и т.п.

1.2.1. Сервер приложений

[Замечание]Замечание

Для построения веб-приложения создано большое количество frameworks. Их часто называют серверами приложений или прикладными серверами. В контексте сервера приложения термин «приложение» не является синонимом отдельной выполняемой программы, это обозначение инфраструктуры, позволяющей создавать веб-приложения.

Основным компонентом такой инфраструктуры является язык программирования, позволяющий создавать конкретные приложения, запускаемые пользователями через сеть. При их создании возникает множество задач, напрямую не поддерживаемых языком программирования. Поэтому в состав сервера приложений входят компоненты, обеспечивающие решение таких задач как поддержка системы безопасности сайта, обеспечение доступа к базам данных, построение навигационных элементов, создание и управление шаблонами отображения и т.п.

Современные приложения, как правило, строятся по многоуровневой структуре клиент — сервер, в которой сервер приложений выделяется в отдельный уровень.

Трехуровневая модель

Рисунок 1.1. Трехуровневая модель

В такой трехуровневой среде (веб-сервер, сервер приложений, сервер базы данных) сервер приложений выполняет следующие функции:

  • сопровождает набор устойчивых соединений с базой данных;
  • обеспечивает хранение информации о состоянии соединений по протоколу HTTP для обеспечения непрерывного взаимодействия (т.к. этот протокол не предусматривает хранение информации о состоянии и не способен сам поддерживать непрерывные соединения);
  • позволяет отделить прикладную логику от логики презентации;
  • хранит и выполняет программный код.
[Замечание]Замечание

Различие между CMS, сервером приложений и framework проявляется в характере их взаимоподчинения. Это выражено в том факте, что CMS может включать в себя несколько frameworks, используемых для решения различных задач. В свою очередь framework создается на базе сервера приложения или среды разработки. Так на основе сервера приложений Zope создан CMF — специализированный framework разработки веб-приложений. В свою очередь CMF является составной частью CMS Plone.