Анализ существующих базовых технологий
Шаблоны страниц. При запросе шаблоны заполняются динамическим содержимым, обычно, но необязательно, создаваемым интерпретируемым языком сценариев. Подход применяется в технологиях ASP, JSP, PHP. РНР — шаблоны. При выполнении на Web — сервере Apache интерпретатор может являться расширением сервера (в экспериментальном режиме IIS). JSP — шаблоны. При обработке выполняется их предкомпиляция в Java… Читать ещё >
Анализ существующих базовых технологий (реферат, курсовая, диплом, контрольная)
Итак, в предыдущем материале были рассмотрены наиболее популярные базовые технологии построения приложений серверной стороны. Из рассмотренного можно выделить следующие основные подходы к архитектуре серверных приложений:
- 1. Отдельное выполнение запросов. При каждом запросе динамического содержимого, запускается отдельная программа для обработки запросов. Программа генерирует содержимое, передаваемое клиенту. Этот подход используется в классических CGI-скриптах.
- 2. Накопление исполняемых процессов. Подход аналогичен предыдущему, но при этом если запрос выполняется повторно, нового запуска программы не происходит, а обработка передается существующему процессу. Данный подход применяется в технологиях Java Servlets, Fast CGI.
- 3. Шаблоны страниц. При запросе шаблоны заполняются динамическим содержимым, обычно, но необязательно, создаваемым интерпретируемым языком сценариев. Подход применяется в технологиях ASP, JSP, PHP.
- 4. Расширения Web — сервера. Web — сервер обращается к особым расширениям для обработки динамического содержания. Расширения специфичны для Web — сервера. Этот подход используется в IS API, NSAPI, mod_perl.
Каждый из указанных подходов имеет свои возможности и ограничения, и, соответственно, свою область применения. Модель отдельного выполнения запросов существенно ограничивает производительность. Вариант накопления процессов является развитием этой технологии, повышает производительность, при этом сохраняя максимальную гибкость разработки. Шаблонный подход чрезвычайно удобен при разработке небольших систем, однако при увеличении сложности он начинает тормозить процесс разработки и не является подходящим для крупных систем. Он также отличается невысокой производительностью, хотя исследования [1] показывают, что в определенных условиях могут демонстрировать достаточно высокие показатели и конкурировать с подходом 2). Расширения Web — сервера не являются самым удобным средством разработки, жестко привязывают систему к определенному Web — серверу, но демонстрируют максимальную производительность и дают наибольшую гибкость в разработке.
Рассмотрим платформы по требованиям, определенным ранее. CGI не входит в обзор, поскольку является неудобной в использовании, и имеющей низкую эффективность, а расширения серверов слишком сильно привязаны к конкретным программным продуктам. По схеме обработки запросов платформы распределяются следующим образом:
- § РНР — шаблоны. При выполнении на Web — сервере Apache интерпретатор может являться расширением сервера (в экспериментальном режиме IIS).
- § Java Servlets — накапливание процессов для каждого сервлета.
- § JSP — шаблоны. При обработке выполняется их предкомпиляция в Java Servlets, позволяя использовать схему накапливания процессов.
- § ASP.NET — шаблоны. Используется схема предварительной компиляции, а не интерпретации кода. В результате используется расширение Web — сервера IIS. Могут использоваться и низкоуровневые обработчики.