Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Знакомство с основными понятиями архитектуры «клиент-сервер», принципы построения web-сервера.



Лабораторная работа 2

Основные понятия архитектуры «клиент-сервер», принципы построения web-сервера.

1. Цель работы:

Знакомство с основными понятиями архитектуры «клиент-сервер», принципы построения web-сервера.

Задание на лабораторную работу

Сделать краткий конспект.

 

Методические указания к лабораторной работе

 

Основные особенности архитектуры «клиент-сервер»

Одна из моделей взаимодействия компьютеров в сети получила название «клиент-сервер» (Рис. 1Клиент-серверные архитектуры распределенной обработки данных

 

 

Практически все модели организации взаимодействия пользователя с базой данных, построены на основе модели «кли­ент-сервер». Одна из моделей взаимодействия компьютеров в сети получила название «клиент-сервер» (Рис. 1.).

То есть предполагается, что приложения, реализующие какой-либо тип модели, отличаются способом распреде­ления функций ранее приведенных групп обработки данных между как минимум двумя частями:

- клиентской, которая отвечает за целевую обработку данных и организацию взаимодействия с пользователем;

- серверной, которая обеспечивает хранение данных, обрабатывает запросы и посылает результаты клиенту для специ­альной обработки.

В общем случае предполагается, что эти части приложения функционируют на отдельных компьютерах, т. е. к серве­ру БД с помощью сети подключены компьютеры пользовате­лей (клиенты).

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

Клиент- это различные программы, написанные как пользователями, так и поставщиками СУБД, внешние или «встроенные» по отношению к СУБД. Программа-клиент организована в виде приложения, работающего «поверх» СУБД и об­ращающегося для выполнения операций над данными к компо­нентам СУБД через интерфейс внешнего уровня. Инструмен­тальные средства, в том числе и утилиты, не отнесены к серверной части очень условно. Являясь не менее важной со­ставляющей, чем ядро СУБД, они выполняются самостоятельно, как пользовательское приложение.

Основной принцип технологии «клиент—сервер» заключает­ся в разделении функций стандартного интерак­тивного приложения на четыре группы, имеющие различную природу:

- функции ввода и отображения данных:

- чисто прикладные функции, характерные для данной
предметной области (например, для банковской системы — открытие счета, перевод денег с одного счета на другой и т. д.);

- фундаментальные функции хранения и управления инфор­мационными ресурсами (базами данных, файловыми сис­темами и т. д.);

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

Выделяются четыре основных подхода, реализованные в сле­дующих моделях (или схемах):

•файловый сервер (File Server — FS);

•доступ к удаленным данным (Remote Data Access — RDA);

•север базы данных (DataBase Serveг — DBS);

•сервер приложений (Application Server — AS).

 

Файловый сервер (FS)

 

Модель является базовой для локальных сетей персональных компьютеров. В свое время она была исключительно популяр­ной среди отечественных разработчиков, использовавших такие системы, как FoxPro, Clipper, Clarion, Paradox и т. д. Один из компьютеров в сети считается файловым сервером и предостав­ляет услуги по обработке файлов другим компьютерам. Здесь мы имеем дело с распределенной файловой системой. Файловый сер­вер работает под управлением сетевой операционной системы (например, Novell NetWare) и играет роль компонента доступа к информационным ресурсам (т. е. к файлам). На других компью­терах в сети функционируют приложения, в кодах которых со­вмещены компонент представления и прикладной компонент (рис.2, а). Протокол обмена представляет собой набор низко­уровневых вызовов, обеспечивающих приложению доступ к файловой системе на файл-сервере.

FS-модель послужила фундаментом для расширения возмож­ностей персональных СУБД в направлении поддержки много­пользовательского режима. В таких системах на нескольких пер­сональных компьютерах выполняется как прикладная програм­ма, так и копия СУБД, а базы данных содержатся в разделяемых файлах, которые находятся на файловом сервере. Когда при­кладная программа обращается к базе данных, СУБД направляет запрос на файловый сервер. В этом запросе указаны файлы, где находятся запрашиваемые данные. В ответ на запрос файловый

 

 

сервер направляет по сети требуемый блок данных. СУБД, полу­чив его, выполняет над данными действия, которые были декла­рированы в прикладной программе.

К технологическим недостаткам модели относят высокий сетевой трафик (передача множества файлов, необходимых приложению), узкий спектр операций манипулирования данны­ми («данные это файлы»), отсутствие адекватных средств безопасности доступа к данным (защита только на уровне фай­ловой системы) и т. д. Собственно, перечисленное не есть не­достатки, но следствие внутренне присущих FS-модели ограни­чений, определяемых ее характером. Недоразумения возникают в том случае, когда FS-модель используют не по назначению -например, пытаются интерпретировать как модель сервера базы данных.

Удаленный доступ (RDA)

 

Более технологичная RDA-модель существенно отличается от FS-модели характером компонента доступа к информацион­ным ресурсам. Это, как правило, SQL-сервер. В RDA-модели коды компонента представления и прикладного компонента со­вмещены и выполняются на компьютере-клиенте. Последний поддерживает как функции ввода и отображения данных, так и чисто прикладные функции. Доступ к информационным ресур­сам обеспечивается либо операторами специального языка (язы­ка SQLЬ, например, если речь идет о базах данных) или вызовами функций специальной библиотеки (если имеется соответствую­щий интерфейс прикладного программирования — АРI).

Клиент направляет запросы к информационным ресурсам (например, к базам данных) по сети удаленному компьютеру. На нем функционирует ядро СУБД, которое обрабатывает запросы, выполняя предписанные в них действия и возвращает клиенту результат, оформленный как блок данных (рис. 2.1, б). При этом инициатором манипуляций с данными выступают программы, выполняющиеся на компьютерах-клиентах, в то время как ядру СУБД отводится пассивная роль — обслуживание запросов и об­работка данных. Далее будет показано, что такое распределение обязанностей между клиентами и сервером базы данных -не догма: сервер БД может играть более активную роль, чем та, ко­торая предписана ему традиционной парадигмой.

RDA-модель избавляет от недостатков, присущих как систе­мам с централизованной архитектурой, так и системам с файло­вым сервером.

Основное достоинство RDA-модели заключается в унифика­ции интерфейса «клиент—сервер» в виде языка SQL. Действи­тельно, взаимодействие прикладного компонента с ядром СУБД невозможно без стандартизованного средства общения. Запросы, направляемые программой ядру, должны быть понятны обеим сторонам. Для этого их следует сформулировать на специальном языке. Но в СУБД уже существует язык 8SQL о котором речь шла выше. Поэтому было бы целесообразно использовать его не только в качестве средства доступа к данным, но и как стандарта общения клиента и сервера.

К сожалению, RDA-модель не лишена ряда недостатков. Во-первых, взаимодействие клиента и сервера посредством SQL-запросов существенно загружает сеть. Во-вторых, удовле­творительное администрирование приложений в RDA-модели практически невозможно из-за совмещения в одной программе различных по своей природе функций (функции представления и прикладные функции).

 

Сервер баз данных (DBS)

Наряду с RDA-моделью все большую популярность приобре­тает DBS-модель (рис. 2.1, в). Последняя реализована в некото­рых реляционных СУБД (Informix, Ingres, Oracle). Ее ос­нову составляет механизм хранимых процедур - средство про­граммирования SQL-сервера. Процедуры хранятся в словаре базы данных, разделяются между несколькими клиентами и вы­полняются на том же компьютере, где функционирует SQL-сервер. Язык, на котором разрабатываются хранимые процедуры, представляет собой процедурное расширение языка запросов SQL и уникален для каждой конкретной СУБД.

В DBS-модели компонент представления выполняется на компьютере-клиенте, в то время как прикладной компонент оформлен как набор хранимых процедур и функционирует на компьютере-сервере БД. Там же выполняется компонент досту­па к данным, т. е. ядро СУБД. Достоинства DBS -модели очевид­ны: это и возможность централизованного администрирования прикладных функций, и снижение трафика (вместо SQL-запросов по сети направляются вызовы хранимых процедур), и воз­можность разделения процедуры между несколькими приложе­ниями, и экономия ресурсов компьютера за счет использования единожды созданного плана выполнения процедуры. К недос­таткам можно отнести ограниченность средств, используемых для написания хранимых процедур, которые представляют собой разнообразные процедурные расширения SQL, не выдерживаю­щие сравнения по изобразительным средствам и функциональ­ным возможностям с языками третьего поколения, такими, как Си или Паскаль. Сфера их использования ограничена конкретной СУБД, в большинстве СУБД отсутствуют возможности от­ладки и тестирования разработанных хранимых процедур.

На практике часто используются смешанные модели, когда поддержка целостности базы данных и некоторые простейшие прикладные функции выполняются хранимыми процедурами (DBS-модель), а более сложные функции реализуются непосред­ственно в прикладной программе, которая работает на компью­тере-клиенте (RDA-модель). Так или иначе, современные мно­гопользовательские СУБД опираются на RDA- и DBS-модели и при создании ИС, предполагающем использование только СУБД, выбирают одну из этих двух моделей либо их разумное сочетание.

 

Сервер приложений (АS)

 

В AS -модели (рис. 2.1, г) процесс, выполняющийся на ком­пьютере-клиенте, отвечает обычно за интерфейс с пользователем (т. е. реализует функции первой группы). Обращаясь за выпол­нением услуг к прикладному компоненту, этот процесс играет роль клиента приложения (Application Client — АC). Прикладной компонент реализован как группа процессов, выполняющий прикладные функции, и называется сервером приложения (Application Server — АS). Все операции над информационными ресурсами выполняются соответствующим компонентом, по от­ношению к которому AS играет роль клиента. Из прикладных компонентов доступны ресурсы различных типов - базы дан­ных, очереди, почтовые службы и др.

RDA и DBS-модели опираются на двухзвенную схему разде­ления функций. В RDA-модели прикладные функции приданы программе-клиенту, в DBS-модели ответственность за их выпол­нение берет на себя ядро СУБД. В первом случае прикладной компонент сливается с компонентом представления, во вто­ром - интегрируется в компонент доступа к информационным ресурсам. В АS-модели реализована трехзвенная схема разделе­ния функций, где прикладной компонент выделен как важней­ший изолированный элемент приложения, для его определения используются универсальные механизмы многозадачной опера­ционной системы, и стандартизованы интерфейсы с двумя дру­гими компонентами. АS-модель является фундаментом для мо­ниторов обработки транзакций (Transaction Processing Monitor -TRM), или, проще, мониторов транзакций, которые выделяются к особый вид программного обеспечения.

В заключение отметим, что часто, говоря о сервере базы данных, подразумевают как компьютер, так и программное обеспечение — ядро СУБД. При описании архитектуры «клиент—сервер» под сервером базы данных мы имели в виду компьютер. Ниже сервер базы данных будет пониматься как программное обеспечение — ядро СУБД.

 

 

Технология Parser

Технология Parser была разработана в Студии Web-дизайна Артемия Лебедева в 1997 году. Parser автоматизирует создание и обновление сайтов, страницы которых схожи по оформлению, содержанию или структуре. Применение технологии Parser позволяет HTML-программисту единожды описать повторяющиеся элементы информационного наполнения и разметки страниц, а затем ссылаться на них в коде каждой страницы сайта. Средствами Parser можно дать описание структуры, а затем использовать его для формирования единообразно устроенных страниц. При этом если мы изменяем описание структуры или элемента разметки, то в дальнейшем все страницы генерируются с учетом внесенных корректив.

Parser пригодна для решения большинства задач, которые обычно требуют программирования CGI-скриптов, например, для формирования страниц с результатами запросов к реляционным базам данных. В технологии Parser предусмотрены средства для работы с полями форм, строками запроса, переменными окружения Web-сервера.

Интерпретатор Parser устанавливают на сервере. Web-сервер конфигурируют таким образом, что HTML-файлы до пересылки их браузеру обрабатываются модулем Parser. Если в тексте файла обнаруживаются Parser операторы, модуль выполняет их разбор и заменяет вычисленными значениями. Например, вызов оператора ^uri[] будет заменен адресом обрабатываемой страницы, вызов ^date[] — текущей датой, вызов ^macro[value] — результатом разбора макроса value. Остальной текст, в том числе тэги языка HTML, остается без изменений.

Технология Parser строится на базе нескольких конструкций. К ним относятся операторы, макросы и некоторые другие конструкции. Оператором называется конструкция следующего вида:

^имя_оператора[аргумент1; аргумент2;...аргументN]

В качестве значений аргументов в оператор могут быть подставлены произвольные фрагменты HTML-кода, в том числе занимающие в файле несколько строк. Если аргументы оператора заключают в себе другие операторы, Parser сначала вычисляет их значения и подставляет в аргументы, которые затем использует при вычислении значения оператора. Глубина вложения операторов при этом не ограничена.

Некоторые операторы не имеют аргументов. Набор доступных операторов определяется используемой версией модуля Parser. При обработке файла модулем оператор заменяется фрагментом, который получается в результате его разбора. Более подробная информация по этой технологии может быть найдена на [8].

Необходимо отметить, что, хотя Parser и содержит ряд конструкций, позволяющих управлять ходом интерпретации шаблона документа, функциональные характеристики этой технологии весьма ограничены. Хотя в пользовательской документации [8] и сказано, что использование предлагаемых этим «языком» “возможностей не требует высокой квалификации в области программирования”, по сути, само написание и применение операторов и макросов этой технологии требует значительной подготовки. Из-за применения вложенности операторов и макросов синтаксис языка становится не читаем.

Функциональная схема данной технологии полностью аналогична схеме технологии PHP, за исключением того, что роль обработчика PHP играет обработчик инструкций Parser.

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

Сравнение технологий

Рассмотрев наиболее распространенные технологии, попытаемся сравнить их. Прежде всего, сопоставим перечисленные средства Web-программирования с предложенной нами ранее классификацией, и попытаемся выявить некоторые определяемые технологией функциональные особенности. Далее обратим внимание на такие характеристики, как безопасность, быстродействие (рассматривается качественно), нагрузка на сеть. Область применения каждой технологии была определена нами при их рассмотрении.

Все перечисленные технологии относятся к технологиям создания интерактивных Web-документов. Технологии PHP, CGI, Parser и ASP относятся к выполняемым на сервере. PHP и Parser требуют для своего функционирования дополнительной программной надстройки к Web-серверу, которая будет интерпретировать и выполнять инструкции на соответствующем языке в теле документа. Выполнение CGI-сценариев возлагается на операционную систему. Только в случае, если сценарий написан на интерпретируемом языке, требует наличия в системе соответствующего интерпретатора. Если CGI-программа написана на компилируемом языке, то для ее работы не требуется никаких дополнительных средств. Технология ASP преимущественно ориентирована на Windows-платформы.

Обработка DHTML-документов производится на стороне клиента. Для этого браузер клиента должен иметь поддержку используемых в странице языков сценариев – JavaScript или VBScript.

Вывод

Подытожим вышеизложенные сравнения следующим выводом. При применении Web-сервера на базе ОС Unix для реализации интерактивных Web-документов на стороне сервера предпочтительным является использование языка PHP. В случае повышенных требований к быстродействию при обработке больших объемов информации рекомендуется использование интерфейса CGI со сценариями, написанными на компилируемых языках. На серверах на базе Windows предпочтительно применение технологии ASP. Для проверки больших объемов информации перед передачей их на сервер или для реализации обработки информации на стороне пользователя рекомендуется использовать компоненты DHTML.

Выбор оптимального с точки зрения быстродействия решения возможен лишь при сравнении нескольких способов решения одной задачи с применением различных технологий. Сведем рассмотренные характеристики в таблицу (см. табл. 2.1):

Таблица 2.1

Характеристики Web- технологий

Характеристики Технология
  CGI PHP ASP DHTML DHTML+ActiveX
Место выполнения сервер сервер сервер клиент клиент
Быстродействие ++ +- +- +- ++
Скорость загрузки ++ ++ -- -- --
Нагрузка на сеть при работе с данными +- +- +- +- --
Платформа W/U W/U W W/U W
Простота разработки -- ++ +- +- +-
Работа с базами данных + + + - +
Отсутствие лицензирования + + - - -

примечание: W – MS Windows, U – Unix.

 

 

4. Требования к содержанию и оформлению отчета

Отчет по данной работе не оформляется

 

5. Контрольные вопросы

 

Литература

 

Лабораторная работа 2

Основные понятия архитектуры «клиент-сервер», принципы построения web-сервера.

1. Цель работы:

Знакомство с основными понятиями архитектуры «клиент-сервер», принципы построения web-сервера.

Задание на лабораторную работу

Сделать краткий конспект.

 


Поделиться:



Популярное:

  1. Алгоритм 3. Снятие заливки области построения
  2. Близкое знакомство с русской избой
  3. Буквенные обозначения для построения преобразователей
  4. В связи с этим основными проблемами, связанными с реализацией модели 4С, являются следующие.
  5. Виды отношений между понятиями
  6. Вопрос. Процесс построения модели
  7. Гипотеза: готический стиль возник путем эволюции романской архитектуры и означал переход ее на новую, более высокую стадию развития.
  8. Государственный бюджет, сущность, структура доходов и расходов, принципы его построения, роль в экономике.
  9. Государство и гражданское общество. Проблемы построения гражданского общества в Российской Федерации.
  10. Графические изображения в статистических исследованиях: виды диаграмм, правила их построения, применение в работе врача.
  11. Единая система органов исполнительной власти и принципы ее построения.
  12. Задачи урока физической культуры, правила формулировки задач. Типы школьных уроков, особенности их построения и методики проведения


Последнее изменение этой страницы: 2016-05-03; Просмотров: 1301; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.038 с.)
Главная | Случайная страница | Обратная связь