Файл: Очная 2016 г Содержание.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2023

Просмотров: 202

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

8. Различная физическая реализация логической модели


На практике трехзвенная логическая модель приложения зависит от специфики распределенной информационной системы, такой как, например, территориальная распределенность подразделений компании, различные характеристики использования коммуникативных служб, требования по минимизации ресурсов на рабочей станции клиента требования безопасности и др. Теперь мы проверим варианты физической реализации логической модели, основанной на архитектуре “клиент-сервер”.

Друзвенная система



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

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

Трехзвенная система



В трехзвенной архитектуре обработка данных выполнятся приложением сервера, а клиент в этом случае отвечает только за представление данных и интерфейс пользователя.

В трехзвенной системе, построенной с использованием web – технологий клиент взаимодействует напрямую с сервером, т.е. все особенности конкретной базы данных скрыты от него. Все компоненты доступа к БД располагаются на web-сервере.

Основным преимуществом трехзвенной системы является ее масштабируемость. Кроме того, она позволяет сократить сетевой трафик.

Существует несколько вариантов реализации трехзвенной модели.

Различные промежуточные варианты
Java-аппелты выполняются на клиенте, но они имеют доступ к хранилищу не напрямую, а через компоненты сервера.

Некоторые клиенты (DHTML, JavaScript) позволяют allow осуществлять проверку данных, введенных пользователем на клиенте без доступа к серверу.

Многозвенные системы

Многозвенные системы являются модификацией трехзвенных систем.

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

В большинстве случаев существует общий подход к решению такого рода проблем, было создано много продуктов, предназначенных для их решения. Среди них мониторы транзакций, сервера сообщений, координаторы взаимодействия и.т.д. Таким образом, средний уровень увеличивается, становясь более распределенным; становится возможным выделить несколько подуровней. Это было особенно значимым в Intranet-системах. Почти те же процессы, существующие в системе, организуют хранение данных, т.е. cтановится возможным взаимодействовать с гетерогенными источниками данных. Все вышесказанное означает, что, на самом деле трехзвенные системы стали мультизвенными распределенными системами

Можно сказать, что мультизвенные системы распределены двумя способами: они распределены логически и физически.

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

Физическая распределенность предполагает распределенность отдельных функциональных узлов на нескольких машинах и даже нескольких платформах.

Итак, в многозвенной системе мы имеем компоненты – это отдельные структурные узлы, которые ответственны за конкретную функциональность и работают сравнительно независимо физически эти компоненты могут быть распределены на различные машины.

Простейшим примером решения, реализованном на базе ПО Microsoft, является Intranet-система, которая располагает клиентские части на базе Microsoft Internet Explorer, сервер приложений – на базе Microsoft Internet Information Server с использованием Microsoft Distributed Transaction Coordinator (возможно, Microsoft Transaction Server) и, наконец, сервер БД на базе Microsoft SQL Server.

Многозвенная распределенная система имеет возможность комбинирования нескольких систем, выбирая или создавая новые системы с написанием минимума кода.



Основными преимуществами таких систем являются:


  • Компонентная архитектура;

  • Функциональность на компонентном уровне;

  • Возможность повторного использования компонент;



  • Возможность одновременного использования компонент;



  • Упрощение модификации и масштабируемость;

  • Наличие потенциала для наращивания производительности;

  • Возможность независимой разработки компонент.  



9. Трехзвенная система. Тонкий клиент. Толстый клиент


Тонкий клиент

Используется как простое средство, подобное веб-броузеру, на уровне представления для просмотра статичных гипертекстовых документов. Web-сервер посылает броузеру клиента простой HTML-текст, где пользователь вводит данные в поля формы. Броузер не получает каких-либо компонент кода, и для него нет необходимости поддерживать Java, Java-script и пр., т.е. обеспечивается полная платфоманезависимость и защищенность клиентской части от мобильного кода. Такой подход используется, например, в системах, где клиентская часть реализована на карманных устройствах или компьютерах патрульных машин, когда они подсоединены к системе с использованием беспроводных сетевых технологий, т.е. на тонком клиенте с низкой пропускной способностью соединения.

Документы (страницы) генерируются на сервере либо посредством скриптовых языков (например, ASP) или посредством внешних по отношению к web-серверу программ (используя CGI). Все запросы и доступ к БД выполняются компонентами сервера или внешними программами.

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

Сегодня ведущие производители ПО сосредоточены на организации эффективного WWW-доступа к информационным хранилищам, построенным на основе их сервере БД. В такие пакеты включается обработка запросов от WWW-server к серверу БД и динамическая генерация гипертекстовых документов.

Толстый клиент

Этот клиент имеет очень богатый инструментарий, например, виртуальныу машину Java (JVM) и JDBC-клиент или другие специфичные для конкретной платформы средства, которые позволяют получить прямой доступ к БД. В этом случае как уровень представления, так и функциональная логика располагается на одном и том же клиенте.

ПРИМЕРЫ:

  • Java-апплет, загруженный с web-сервера на клиент (посредством ссылки в гипертекстовом документе) и выполняемый на клиенте. Java-апплет выполняет доступ к БД напрямую через специальный протокол JDBC, функциональная логика (формирование SQL-запросов и обработка результатов) содержится в том же Java-аппелете.

  • Решение для конкретных платформ, например, для платформы Microsoft Windows: OCX (OLE Custom Controls) в IE доступ к БД через RDС (RemoteData Controls).



  1. Принципы гипертекстовой разметки. Структура документов HTML

1. Язык гипертекстовой разметки HTML



Язык гипертекстовой разметки HTML (HyperText Markup Language) был предложен Тимом Бернерсом-Ли в 1989 году в качестве одного из компонентов технологии разработки распределенной гипертекстовой системы World Wide Web.

Когда Т. Бернерс-Ли предложил свою систему, в мире информационных технологий наблюдался повышенный интерес к новому и модному в то время направлению-гипертекстовым системам. Сама идея, но не термин, была введена В. Бушем в 1945 году в предложениях по созданию электромеханической информационной системы Меmех. Несмотря на то, что Буш был советником по науке президента Рузвельта, идея не была реализована. В 1965 году Т. Нельсон ввел в обращение сам термин "гипертекст", развил и даже реализовал некоторые идеи, связанные с работой с "нелинейными" текстами. В 1968 году изобретатель манипулятора "мышь" Д.Енжильбард продемонстрировал работу с системой, имеющей типичный гипертекстовый интерфейс, и, что интересно, проведена эта демонстрация была с использованием системы телекоммуникаций. Однако внятно описать свою систему он не смог. В 1975 году идея гипертекста нашла воплощение в информационной системе внутреннего распорядка атомного авианосца "Карл Винстон". Работы в этом направлении продолжались, и время от времени появлялись реализации типа НуреrСаrd фирмы Аррlе или НуреrNоdе фирмы Хеrох. В 1987 была проведена первая специализированная конференция Нуреrtехt'87, материалам которой был посвящен специальный выпуск журнала "Соmmunication АСМ".

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

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

Разработчики HTML должны были решить две задачи:

  • дать дизайнерам гипертекстовых баз данных простое средство создания документов;

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

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

К моменту создания HTML существовал стандарт языка разметки печатных документов SGML (Standard Generalised Markup Language), который и был взят в качестве основы HTML. Предполагалось, что такое решение поможет использовать существующее программное обеспечение для интерпретации нового языка. Однако, будучи доступным широкому кругу пользователей Internet, HTML зажил своей собственной жизнью. Вероятно, многие администраторы баз данных WWW и разработчики программного обеспечения для этой системы имеют довольно смутное представление о стандартном языке разметки SGML.

Язык НТМL позволяет определять структуру электронного документа с полиграфическим уровнем оформления; результирующий документ может содержать самые разнообразные таги: иллюстрации, аудио- и видео- фрагменты и так далее. Язык включает в свой состав развитые средства для специфицирования нескольких уровней заголовков, шрифтовых выделений, различных групп объектов, например, словари, каталоги или меню для размещения иллюстраций и других фрагментов, а также множество других возможностей.

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

  • такой файл можно создать в любом текстовом редакторе на любой аппаратной платформе в среде любой операционной системы.

  • к моменту разработки HTML существовал американский стандарт для разработки сетевых информационных систем - Z39.50, в котором в качестве единицы хранения указывался простой текстовый файл в кодировке LATIN1, что соответствует US ASCII.

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

Такой подход предполагает наличие еще одной компоненты технологии - интерпретатора языка. В World Wide Web функции интерпретатора разделены между сервером гипертекстовой базы данных и интерфейсом пользователя.

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

Если первая версия языка (HTML 1.0) была направлена на представление языка как такового, где описание его возможностей носило скорее рекомендательный характер, вторая версия языка (HTML 2.0) фиксировала практику использования конструкций языка, версия ++ (HTML++) представляла новые возможности, расширяя набор тагов HTML в сторону отображения научной информации и таблиц, а также улучшения стиля компоновки изображений и текста, то версия 3.2 призвана упорядочить все нововведения и согласовать их с существующей практикой. Кроме этого, в версии 3.2 снова делается попытка формализации интерфейса пользователя гипертекстовой распределенной системы.

По сравнению с версией 2.0, HTML 3.2 позволяет реализовать отображение таблиц (контейнер ...
), выполнение мобильных кодов (...

), обтекание графики текстом, а также отображение верхних и нижних индексов (...; ...).

Кроме этих возможностей, которые фиксируют текущую практику использования HTML, современные программы просмотра HTML - документов позволяют реализовать и ряд других возможностей разметки текста, которые описаны в стандарте HTML 3.0 и расширениях HTML фирм-разработчиков программного обеспечения:

  • разметка математических формул (HTML 3.0);

  • дополнительные контейнеры заголовка (HTML 3.0; Netscape Extensions; Microsoft Extensions);

  • дополнительные атрибуты стандартных контейнеров тела документа (ALIGN; BGCOLOR; TARGET и т.п.);

  • разбиение страницы на фреймы;

  • открытие дополнительных окон и др.

Сейчас World Wide Web Consortium (W3C) уже опубликовал рабочие материалы спецификации HTML 4.03. Кроме возможностей разметки текста, включения мультимедиа и формирования гипертекстовых связей уже существовавших в предыдущих версиях HTML, в версию 4.0 включены дополнительные средства работы с мультимедиа, языки программирования, таблицы стилей, упрощенные средства печати изображений и документов, которые становятся более доступными для всех пользователей HTML 4.0. Эти дополнения служат интернационализации WWW и распространению ее по всему миру. Кроме этого, для управления сценариями просмотра страниц Website (гипертекстовой базы данных, выполненной в технологии World Wide Web) можно использовать языки программирования этих сценариев типа JavaScript, Java и VBScript.

Прежде всего, рассмотрим структуру HTML-документов.

За основу модели разметки документов в HTML принята таговая модель. Таговая модель описывает документ как совокупность контейнеров, каждый из которых начинается и заканчивается тагами. Т.е. документ НТМL представляет собой не что иное, как обычный АSСII-файл, с добавленными в него управляющими НТМL-кодами (тагами).

Таги НТМL-документов в большинстве своем просты для понимания и использования, ибо они образованы с помощью общеупотребительных слов английского языка, понятных сокращений и обозначений. НТМL-таг состоит из имени, за которым может следовать необязательный список атрибутов тага. Текст тага заключается в угловые скобки (< и >). Простейший вариант тага - имя, заключенное в угловые скобки, например