Skip to content
elizavetakovyazina edited this page Dec 15, 2018 · 3 revisions

Экзаменационный билет №17

Верповский А.В., Ковязина Е.С., Куцев С.О. ИДМ-18-05

Вопрос 1. Модель взаимосвязи открытых систем. Понятия уровня и протокола

Основной задачей, решаемой при создании компьютерных сетей, является обеспечение совместимости оборудования по электрическим и механическим характеристикам и обеспечение совместимости информационного обеспечения (программ и данных) по системе кодирования и формату данных. Решение этой задачи относится к области стандартизации и основано на так называемой модели OSI (модель взаимодействия открытых систем - Model of Open System Interconnections). Модель OSI была создана на основе технических предложений Международного института стандартов ISO (International Standards Organization).

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

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

Каждый уровень архитектуры подразделяется на две части:

  • спецификацию услуг;

  • спецификацию протокола.

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

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

  1. Физический уровень осуществляет соединения с физическим каналом, так, отсоединения от канала, управление каналом. Определяется скорость передачи данных и топология сети.

  2. Канальный уровень добавляет в передаваемые массивы информации вспомогательные символы и контролирует правильность передаваемых данных. Здесь передаваемая информация разбивается на несколько пакетов или кадров. Каждый пакет содержит адреса источника и места назначения, а также средства обнаружения ошибок.

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

  4. Транспортный уровень связывает нижние уровни (физический, канальный, сетевой) с верхними уровнями, которые реализуются программными средствами. Этот уровень разделяет средства формирования данных в сети от средств их передачи. Здесь осуществляется разделение информации по определенной длине и уточняется адрес назначения.

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

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

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

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

Вопрос 2.Виды интерфейсов, используемых в веб-программировании

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

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

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

Представим основные виды интерфейсов приложений в таблице ниже.

Как видно, выделены три вида веб-интерфейсов: использующие HTML, использующие обычные элементы графического интерфейса и интерфейс нового поколения Rich UI. Кроме того, важно заметить отличие веб-интерфейсов от обычных в области переносимости приложений. В данном случае важна переносимость (кроссплатформенность) клиентской части. Прежде всего это совместимость с различными операционными системами и веб-брау- зерами. В среде Интернета это приобретает особую важность, так как пользователь ожидает такой же совместимости, которая обычно реализована в современных веб-сайтах. Люди привыкли к возможности работать с веб-приложениями из своей операционной системы (Маc OS, Windows, Linux, мобильных версий ОС) и ожидают таких же возможностей от любой информационной системы с веб-интерфейсом. При этом ограничение программной платформы пользователя уже сложно осуществимо, так как активно используются личные коммуникаторы, нетбуки и компьютеры, которыми не управляет информационная служба компании, внедряющей ИС с веб-интерфейсом.

Наиболее «чистым» и близким к идеологии веб-приложений будет //ГЛ/Т-интерфейс. Приложения с таким интерфейсом, как правило, не требуют никаких клиентских приложений, кроме веб-бра- узера. Таким образом, любой компьютер, оснащенный им, может выступать в качестве терминала или рабочего места.

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

  • раскрывающиеся списки;
  • элементы выбора checkbox,;
  • элементы выбора radio button;
  • поля для ввода текста;
  • многострочные текстовые поля;
  • кнопки;
  • группы управляющих элементов field set.

Используя эти элементы и свойства документов HTML, можно создавать полноценные приложения, заменяющие по интерфейсу привычные приложения с визуальным интерфейсом.

Говоря о веб-интерфейсах, основанных на HTML, мы на самом деле имеем немного больший набор средств: так называемый DHTML. Технология DHTML состоит в связке языка разметки гипертекстовых документов HTML, системы оформления документов CSS {Cascade Style Sheet) и языка программирования, выполняемого в браузере JavaScript, т.е. браузер может обрабатывать некоторые действия пользователя локально, без обращения к серверу (как обычно). Например, можно проверить заполнение полей формы и не отправлять ее, пока пользователь не ввел данные в обязательные поля.

Тем не менее язык JavaScript не может заменить логику серверной части приложения, поэтому самой большой проблемой веб-интер- фейсов является необходимость полной загрузки всего документа для обновления информации. Например, вы просматриваете отчет, состоящий из 10 таблиц в виде одной динамической веб-страницы. Вы изменили один параметр во входных данных и ожидаете обновления одной из таблиц. Однако обновление информации должно произойти в виде перезагрузки всего документа, т.е. 10 таблиц. Если время, затрачиваемое на эту операцию, незначительно (менее 1 с), то пользователь просто не замечает этой задержки. Но если загрузка страницы намного дольше, пользователь получает требуемые данные с большой задержкой, что приносит большие неудобства. До недавнего времени это несовершенство стояло на пути развития приложений с веб-интерфейсом, однако уже существует технология, снимающая эту проблему.

Новая технология, о которой идет речь, получила название Ajax (обычно читается как «аякс»), т.е. «асинхронный JavaScript и XML». С использованием Ajax веб-интерфейсы становятся намного более удобными в использовании и отзывчивыми к действиям. Дело в том, что теперь можно обновлять отдельные части динамической страницы. В примере с отчетами и 10 таблицами можно было обновить только одну таблицу (в которой изменились данные), при этом пользователь мог бы работать с другими элементами той же формы, не дожидаясь загрузки всей страницы.

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

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