Главная страница
Навигация по странице:

  • Программа работы 1. Изучение теоретического материала. 2. Написание сетевых приложений ИС с выбранной архитектурой. 3. Отладка программы. Пояснения к работе

  • 4.1. Архитектура "файл-сервер"

  • 4.2. Архитектура "клиент-сервер"

  • 4.3. Многоуровневый "клиент-сервер"

  • 4.4. Архитектура Web -приложений

  • Задания к лабораторной работе

  • Требования к оформлению результатов лабораторной работы

  • Лабораторная работа 4 построение приложений информационных систем с различными вариантами архитектур


    Скачать 377.02 Kb.
    НазваниеЛабораторная работа 4 построение приложений информационных систем с различными вариантами архитектур
    Дата17.10.2022
    Размер377.02 Kb.
    Формат файлаpdf
    Имя файлаAIS_Lab_4.PDF.pdf
    ТипЛабораторная работа
    #738067

    1
    Лабораторная работа № 4
    ПОСТРОЕНИЕ ПРИЛОЖЕНИЙ ИНФОРМАЦИОННЫХ
    СИСТЕМ С РАЗЛИЧНЫМИ ВАРИАНТАМИ АРХИТЕКТУР
    Цель работы: изучение и практическая реализация широко используемых архитектур информационных систем.
    Программа работы
    1. Изучение теоретического материала.
    2. Написание сетевых приложений ИС с выбранной архитектурой.
    3. Отладка программы.
    Пояснения к работе
    В источниках существуют различные определения "архитектуры информационных систем" [4,5].
    Архитектура – это организационная структура системы.
    Архитектура
    информационной
    системы – концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь компонентов информационной системы.
    Архитектура – это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы.
    В данной лабораторной работе рассмотрим из существующей классификации информационных систем наиболее широко используемые архитектуры: файл-серверную, клиент-серверную и
    Web-архитектуру.
    4.1. Архитектура "файл-сервер"
    Файл-серверные приложения схожи по своей структуре с локальными приложениями, но в отличие от них используют сетевой ресурс для хранения программ и данных.

    2
    Функции сервера: хранения данных и кода программы.
    Функции клиента: обработка данных происходит исключительно на стороне клиента.
    Классическое представление информационной системы в архитектуре "файл-сервер" представлено на рис.4.1
    Рис. 4.1. Классическое представление архитектуры "файл-сервер"
    Организация информационных систем на основе использования выделенных файл-серверов все еще является распространенной в связи с наличием большого количества персональных компьютеров
    (ПК) разного уровня развитости и сравнительной дешевизны связывания ПК в локальные сети. Конечно, основным достоинством данной архитектуры является простота организации.
    Проектировщики и разработчики информационной системы находятся в привычных и комфортных условиях IBM PC в среде Windows или какого-либо облегченного варианта Windows Server. Имеются удобные и развитые средства разработки графического пользовательского интерфейса, простые в использовании средства разработки систем баз данных (СУБД).
    Достоинства файл-серверной архитектуры:
    - многопользовательский режим работы с данными;

    3
    - удобство централизованного управления доступом;
    - низкая стоимость разработки;
    - высокая скорость разработки;
    - невысокая стоимость обновления и изменения программного обеспечения (ПО).
    Недостатки:
    - проблемы при многопользовательской работе с данными, последовательный доступ, отсутствие гарантии целостности;
    - низкая производительность (зависит от производительности сети, сервера, клиента);
    - большая загруженность сетевого трафика, т.к. обработка данных происходит в основном на стороне клиента;
    - плохая возможность подключения новых клиентов;
    - ненадежность системы.
    Простое файл-серверное приложение, работающее с небольшими объемами информации и рассчитанное на применение в многопользовательском режиме, можно спроектировать, разработать и отладить очень быстро. Для небольшой компании – это будет эффективная и полезная система. Однако в рамках средних и крупных предприятий для поддержки информационной системы, обслуживаемой большими группами пользователей, файл-серверные архитектуры становятся недостаточными.
    4.2. Архитектура "клиент-сервер"
    Клиент-сервер – сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг (сервисов), называемых серверами, и заказчиками услуг, называемых клиентами.
    Нередко клиенты и серверы взаимодействуют через компьютерную сеть и могут быть как различными физическими устройствами, так и программным обеспечением. Первоначально системы такого уровня базировались на классической двухуровневой клиент-серверной архитектуре. Под клиент-серверным приложением в этом случае понимается информационная система, основанная на использовании серверов
    баз
    данных.
    Схематически такую архитектуру можно представить, как показано на рис 4.2.

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

    5
    - возможность, в большинстве случаев, распределить функции вычислительной системы между несколькими независимыми компьютерами в сети;
    - все данные хранятся на сервере, который, как правило, защищен гораздо лучше большинства клиентов, а также на сервере проще обеспечить контроль полномочий, чтобы разрешать доступ к данным только клиентам с соответствующими правами доступа;
    - поддержка многопользовательской работы;
    - гарантия целостности данных.
    Недостатки:
    - администрирование данной системы требует квалифицированного профессионала;
    - высокая стоимость оборудования;
    - бизнес-логика приложений осталась в клиентском ПО.
    Данный вид архитектуры еще называют архитектурой с "толстым" клиентом.
    4.3. Многоуровневый "клиент-сервер"
    Многоуровневая архитектура клиент-сервер – разновидность архитектуры клиент-сервер, в которой функция обработки данных
    (основная бизнес-логика) вынесена на один или несколько отдельных серверов. Это позволяет разделить функции хранения, обработки и представления данных для более эффективного использования возможностей серверов и клиентов.
    Среди многоуровневой архитектуры клиент-сервер наиболее распространена трехуровневая архитектура (ее еще называют "тонкий" клиент), предполагающая наличие клиентского приложения
    (терминала ) , подключенного к серверу приложений, который в свою очередь подключен к серверу
    базы
    данных.
    Схематически такую архитектуру можно представить, как показано на рис 4.3.

    6
    Рис. 4.3. Трехуровневая архитектура "клиент-сервер"
    Терминал – это интерфейсный (обычно графический) компонент, который представляет первый уровень архитектуры и собственно приложение для конечного пользователя. Первый уровень не имеет прямых связей с базой данных (по требованиям безопасности) и не нагружен функциональной бизнес-логикой (по требованиям масштабируемости). На первый уровень обычно выносится: интерфейс авторизации, алгоритмы шифрования, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сортировка, группировка, подсчет значений) с данными, уже загруженными на терминал.
    Сервер приложений располагается на втором уровне. На этом уровне сосредоточена большая часть бизнес-логики. Остальные ее фрагменты, экспортируются на терминалы, а также в виде хранимых процедур и триггеров на третий уровень – сервер БД.
    Сервер базы данных обеспечивает хранение данных и выносится на третий уровень. Обычно это стандартная реляционная или объектно-ориентированная СУБД. Если третий уровень представляет собой базу данных вместе с хранимыми процедурами, триггерами и схемой, описывающей приложение в терминах реляционной модели, то второй уровень строится как программный интерфейс, связывающий клиентские компоненты с прикладной логикой базы данных.

    7
    В простейшей конфигурации физически сервер приложений может быть совмещен с сервером базы данных на одном компьютере, к которому по сети подключается один или несколько терминалов. В
    "правильной"
    (с точки зрения безопасности, надежности, масштабирования) конфигурации сервер базы данных находится на выделенном компьютере (или кластере), к которому по сети подключены один или несколько серверов приложений, к которым, в свою очередь, по сети подключаются терминалы.
    Достоинством данной архитектуры является :
    - клиентское ПО не нуждается в администрировании;
    - масштабируемость;
    - конфигурируемость – изолированность уровней друг от друга позволяет быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней;
    - высокая безопасность;
    - высокая надежность;
    -низкие требования к скорости канала
    (сети) между терминалами и сервером приложений;
    -низкие требования к производительности и техническим характеристикам терминалов, как следствие снижение их стоимости.
    Недостатки:
    - растет сложность серверной части и, как следствие, затраты на администрирование и обслуживание;
    - более высокая сложность создания приложений;
    - сложнее в разворачивании и администрировании;
    -высокие требования к производительности серверов приложений и сервера базы данных, а значит и высокая стоимость серверного оборудования;
    - высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений.
    4.4. Архитектура Web-приложений

    8
    Обычно Web-приложения создаются как приложения в архитектуре "клиент-сервер" (“тонкий” клиент), но серверная часть имеет различные архитектурные решения [5]. Схематически такую архитектуру в трехзвенном варианте можно представить, как показано на рис.4.4.
    Рис. 4.4.Архитектура Web-приложений
    В начале конфигурация World Wide Web (WWW) виделась ее создателям как "пространство для обмена информацией, в котором люди и компьютеры могли бы общаться между собой". Поэтому первые Web -приложения представляли собой примитивные файловые серверы, которые возвращали статические
    HTML-страницы запросившим их клиентам.
    Вторым этапом развития Web-технологий стало появление понятия приложений, которые базировались на таких интерфейсах как
    CGI (Common Gateway Interface) или FastCGI. CGI – это стандартный интерфейс работы с серверами, позволяющий выполнять серверные приложения. Входной информацией для таких приложений служило содержимое HTTP-заголовка. CGI-приложения генерировали HTML- код, который возвращался браузеру. Основной проблемой CGI- приложений было то, что при каждом клиентском запросе сервер выполнял эти приложение в реальном времени, загружая ее в

    9 отдельное адресное пространство, а это сказывалось на производительности работы CGI-приложений.
    Появление технологии Internet Server API (ISAPI) позволило не только решить проблемы производительности, которые возникали с
    CGI-приложениями, но и предоставить в распоряжение разработчиков более богатый программный интерфейс. Эти два механизма (CGI и
    ISAPI) послужили основой создания первого типа Web -приложений, в которых, в зависимости от каких-либо клиентских действий
    (запросов), выполнялся серверный код. Также стала возможной динамическая генерация содержимого Web -страниц и их наполнение перестало быть чисто статическим.
    Интерфейс ISAPI – это особенность Microsoft Internet Information
    Server.
    ISAPI-приложения представляют собой динамические загружаемые библиотеки (DLL), которые выполняются в адресном пространстве Web-сервера. У таких серверов других фирм через некоторое время также появилась возможность выполнять приложения, реализованные в виде библиотек. В случае Web-серверов Netscape этот программный интерфейс называется NSAPI (Netscape Server API). У довольно распространенного Web-сервера Apache также имеется возможность выполнять Web-приложения, реализованные в виде библиотек, которые именуются Apache DSO (Dynamic Shared Objects).
    Дальнейшим развитием использования как CGI-, так и ISAPI- приложений является разработка нового, высокоуровневого интерфейса второго типа Web-приложений, который упростил задачи генерации HTML-кода, позволил обращаться к его компонентам и использовать базы данных. Таким интерфейсом стала объектная модель Active Server Pages (ASP), построенная на основе ISAPI- фильтра.
    Основной идеей ASP с точки зрения создания интерфейса приложения является то, что на Web-странице присутствуют фрагменты кода, который интерпретируется Web-сервером и пользователь получает результат выполнения этих фрагментов кода.
    Вскоре после появления ASP были созданы и другие технологии, реализующие идею размещения внутри Web-страницы кода, выполняемого Web-сервером. Наиболее известная из них на сегодняшний день – технология JSP (Java Server Pages), основной идеей которой является однократная компиляция Java-кода (сервлета)

    10 при первом обращении к нему, выполнение методов этого сервлета и помещение результатов выполнения этих методов в набор данных, отправляемых в браузер.
    Новейшая версия технологии Active Server PagesASP.NET, являющаяся ключевой в архитектуре Microsoft.NET Framework. С помощью ASP.NET можно создавать Web-приложения и Web-сервисы, которые не только позволяют реализовать динамическую генерацию
    HTML-страниц, но и интегрируются с серверными компонентами, могут использоваться для решения широкого круга бизнес-задач, возникающих перед разработчиками современных Web-приложений.
    В общем случае клиентом Web-сервера может быть не только персональный компьютер, оснащенный обычным Web-браузером.
    Одновременно с широким распространением мобильных устройств появилась и проблема предоставления Web-серверами данных, которые могут быть интерпретированы этими устройствами.
    Поскольку мобильные устройства обладают характеристиками, отличными от характеристик персональных компьютеров
    (ограниченным размером экрана, малым объемом памяти, а нередко и невозможностью отобразить что-либо, кроме нескольких строк текста), для них существуют и другие протоколы передачи данных:
    WAP (Wireless Access Protocol) и соответствующие языки разметки
    WML (Wireless Markup Language), СHTML – (Compact HTML) и т.д.
    При этом возникает задача передачи данных на мобильное устройство в соответствующем формате. Для этой цели существуют специализированные сайты, либо происходит опознание типа устройства в момент его обращения к серверу и преобразование исходного документа (например, в формате XML) в формат, требующийся данному мобильному устройству (например, в формат
    XSLT). Другим способом поддержки различных типов клиентов является создание "разумных" серверных компонентов, которые способны генерировать различный код в зависимости от типа клиента.
    Такой подход, в частности, реализован в Microsoft ASP.NET.
    Третьим этапом развития клиентских частей Web-приложений стало размещение некоторой части логики приложения (такой как проверка корректности вводимых данных) в самом Web-браузере. В частности, современные Web-браузеры способны интерпретировать скриптовые языки (VBScript, JavaScript), код на которых, как и ASP-

    11 код, размещается на Web–странице. Этот код интерпретируется уже не
    Web -сервером, а браузером и соответственно выполняется на клиентском устройстве.
    Отметим, что с ростом объема используемых данных и числа посетителей Web-сайтов возрастают и требования к надежности, производительности и масштабируемости Web-приложений.
    Четвертым этапом эволюции подобных приложений стало отделение бизнес-логики, реализованной в Web-приложении от его интерфейса. В этом случае в самом Web-приложении обычно остается так называемая презентационная часть, а бизнес-логика, обработка данных и реализация транзакций переносятся в сервер приложений в виде бизнес-объектов.
    Поскольку современный Интернет – это не столько средство демонстрации присутствия компании на рынке или инструмент маркетинга, сколько инструмент ведения бизнеса, достаточно важными становятся задачи реализации организации через Интернет таких взаимоотношений с клиентами, как продажа товаров и услуг. И здесь довольно важными становятся решения для электронной коммерции типа "предприятие-клиент" (B2Cbusiness-to-consumer) или задачи интеграции Web-приложений с целью реализации схемы "предприятие-предприятие" (B2Bbusiness-to-business), позволяющей заключать торговые сделки между предприятиями, обмениваться каталогами товаров, проводить аукционы, создавать электронные торговые площадки.
    Следующим этапом эволюции Web-приложений, помимо доступа к корпоративным данным и данным партнеров, стало получение доступа к корпоративным приложениям. Для решения этой задачи интеграции Web-приложений с внутренними информационными системами предприятий и с приложениями, обеспечивающими взаимодействие с клиентами и партнерами, используются специальные среды, называемые корпоративными порталами.
    Нередко частью портального решения являются средства управления информационным наполнением Web-сайта – объем данных, доступных пользователям с помощью сайтов крупных компаний и порталов, сейчас таков, что управление этими данными "вручную" не представляется возможным.

    12
    Обобщая вышесказанное, можно выделить основные особенности
    Web-архитектуры.
    Достоинство :
    - отсутствие необходимости использовать дополнительное ПО на стороне клиента, что позволяет автоматически реализовать клиентскую часть на всех платформах;
    - возможность подключения практически неограниченного количества клиентов;
    - благодаря единственному месту хранения данных и наличия системы управления базами данных обеспечиваются минимальные требования для поддержания целостности данных;
    - доступность при работоспособности сервера и каналов связи;
    - архитектура Web-систем не имеет существенных ограничений относительно объема данных.
    Недостатки :
    - недоступность при отсутствии работоспособности сервера или каналов связи;
    - относительно низкая скорость Web-сервера и каналов передачи данных в сравнении с локальными сетями.
    Задания к лабораторной работе
    1. Разработать и отладить сетевое приложение, реализующее файл-серверную архитектуру.
    2. Разработать и отладить сетевое приложение, реализующее двухуровневуюклиент-серверную архитектуру.
    3. Разработать и отладить сетевое приложение, реализующее трехуровневуюклиент-серверную архитектуру.
    4. Разработать и отладить сетевое приложение, реализующее трехуровневуюWeb- архитектуру.
    Требования к оформлению результатов лабораторной работы
    Выполнение каждой лабораторной работы заканчивается отчетом , который должен включать :

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


    написать администратору сайта