Файл: ТЕХНОЛОГИЯ «КЛИЕНТ–СЕРВЕР» (Технология «клиент–сервер»).pdf

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

Категория: Курсовая работа

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

Добавлен: 30.03.2023

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

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

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

ВВЕДЕНИЕ

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

Распространение технологии «клиент–сервер» стало повсеместным при начале общения пользователя с компьютером или с системой, также основанной на работе компьютера. Примерами ежедневного применения технологии «клиент–сервер» являются такие повсеместные действия, о которых мы даже не задумываемся, как телефонная связь или совершение покупок. Применяя автоматический кассовый аппарат, осуществляя считывание штрих–кода с товара, расплачиваясь за совершенную покупку,– мы взаимодействуем с системой компьютера «клиент–сервер».

Технология «клиент–сервер» представляет собой архитектуру взаимодействия, при которой одна программа отправляет запрос на выполнение определенного перечня действий, а другая программа реализует непосредственно выполнение этого перечня. Участниками подобного взаимодействия являются клиент и сервер. Зачастую в качестве клиента или сервера выступает компьютер, который обеспечивает функционирование того или иного программного обеспечения.

Для того чтобы подробнее разобраться в приведенной архитектуре, была определена цель выполнения работы – изучение технологии «клиент–сервер».

Объектом исследования будет выступать архитектура информационной системы. Предметом – сама технология «клиент–сервер».

Для достижения поставленной цели необходимо выполнить следующие задачи:

  • рассмотреть основные характеристики архитектуры информационных систем;
  • кратко охарактеризовать виды архитектуры информационных систем;
  • описать архитектуру «клиент-сервер»;
  • проанализировать программное обеспечение технологии «клиент–сервер».

В структуру работы включены такие элементы, как Введение, Заключение и Список литературы. Кроме того, работа содержит две главы, каждая из которых состоит из двух параграфов.

Основной теоретической и методологической базой исследования выступают работы современных авторов, рассматривающих архитектуру информационных систем, и в частности – технологию «клиент-сервер». В числе таких авторов – Ипатова Э. Р., Мельников В., Ярочкин В. и др.


Архитектура информационной системы

Основные характеристики архитектуры информационных систем

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

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

Рассмотрим определение «архитектуры информационной системы», которое дают различные источники:

Архитектура – это организационная структура системы [3].

Архитектура информационной системы – концепция, определяющая модель, структуру, выполняемые функции и взаимосвязь компонентов информационной системы [4].

Архитектура – это базовая организация системы, воплощенная в ее компонентах, их отношениях между собой и с окружением, а также принципы, определяющие проектирование и развитие системы [11].

Архитектура – это набор значимых решений по поводу организации системы программного обеспечения, набор структурных элементов и их интерфейсов, при помощи которых компонуется система, вместе с их поведением, определяемым во взаимодействии между этими элементами, компоновка элементов в постепенно укрупняющиеся подсистемы, а также стиль архитектуры, который направляет эту организацию – элементы и их интерфейсы, взаимодействия и компоновку [6].

Архитектура программы или компьютерной системы – это структура или структуры системы, которые включают элементы программы, видимые извне свойства этих элементов и связи между ними [9].

Архитектура – это структура организации и связанное с ней поведение системы [18]. Архитектуру можно рекурсивно разобрать на части, взаимодействующие посредством интерфейсов, связи, которые соединяют части, и условия сборки частей. Части, которые взаимодействуют через интерфейсы, включают классы, компоненты и подсистемы.


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

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

Под архитектурой программных систем будем понимать совокупность решений относительно [1, 10]:

  • организации программной системы;
  • выбора структурных элементов, составляющих систему и их интерфейсов;
  • поведения этих элементов во взаимодействии с другими элементами;
  • объединение этих элементов в подсистемы;
  • архитектурного стиля, определяющего логическую и физическую организацию системы: статические и динамические элементы, их интерфейсы и способы их объединения.

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

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

Для того чтобы построить правильную и надежную архитектуру и грамотно спроектировать интеграцию программных систем необходимо четко следовать современным стандартам в этих областях. Без этого велика вероятность создать архитектуру, которая неспособна развиваться и удовлетворять растущим потребностям пользователей ИТ. В качестве законодателей стандартов в этой области выступают такие международные организации как SEI (Software Engineering Institute), WWW (консорциум World Wide Web), OMG (Object Management Group), организация разработчиков Java – JCP (Java Community Process), IEEE (Institute of Electrical and Electronics Engineers) и другие [15].


Виды архитектуры информационных систем

Рассмотрим классификацию программных систем по их архитектуре:

  1. Централизованная архитектура;
  2. Архитектура «файл–сервер»;
  3. Двухзвенная архитектура «клиент–сервер»;
  4. Многозвенная архитектура «клиент–сервер»;
  5. Архитектура распределенных систем;
  6. Архитектура Веб–приложений;
  7. Сервис–ориентированная архитектура [1].

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

Далее подробно рассмотрим особенности наиболее распространенных видов архитектуры.

Централизованная архитектура вычислительных систем была распространена в 70–х и 80–х годах и реализовывалась на базе мейнфреймов (например, IBM–360/370 или их отечественных аналогов серии ЕС ЭВМ), либо на базе мини–ЭВМ (например, PDP–11 или их отечественного аналога СМ–4) [11]. Характерная особенность такой архитектуры – полная «неинтеллектуальность» терминалов. Их работой управляет хост–ЭВМ.

Достоинства такой архитектуры [11, 12]:

  • пользователи совместно используют дорогие ресурсы ЭВМ и дорогие периферийные устройства;
  • централизация ресурсов и оборудования облегчает обслуживание и эксплуатацию вычислительной системы;
  • отсутствует необходимость администрирования рабочих мест пользователей.

Главным недостатком для пользователя является то, что он полностью зависит от администратора хост–ЭВМ. Пользователь не может настроить рабочую среду под свои потребности – все используемое программное обеспечение является коллективным.

Использование такой архитектуры является оправданным, если хост–ЭВМ очень дорогая, например, супер–ЭВМ.

Классическое представление централизованной архитектуры показано на рис. 1 [3].

Рис. 1. Классическое представление централизованной архитектуры

Центральная ЭВМ должна иметь большую память и высокую производительность, чтобы обеспечивать комфортную работу большого числа пользователей.

Все приложения, работающие в такой архитектуре, полностью находятся в основной памяти хост–ЭВМ. Терминалы являются лишь устройствами ввода–вывода и таким образом в минимальной степени поддерживают интерфейс пользователя.


Архитектура «файл-сервер»

Файл–серверные приложения – приложения, схожие по своей структуре с локальными приложениями и использующие сетевой ресурс для хранения программы и данных [13].

Функции сервера: хранения данных и кода программы.

Функции клиента: обработка данных происходит исключительно на стороне клиента.

Классическое представление информационной системы в архитектуре «файл–сервер» представлено на рис. 2 [3].

Рис. 2. Классическое представление архитектуры «файл–сервер»

Организация информационных систем на основе использования выделенных файл–серверов все еще является распространенной в связи с наличием большого количества персональных компьютеров разного уровня развитости и сравнительной дешевизны связывания PC в локальные сети [14].

Конечно, основным достоинством данной архитектуры является простота организации. Проектировщики и разработчики информационной системы находятся в привычных и комфортных условиях IBM PC в среде MS–DOS, Windows или какого–либо облегченного варианта Windows Server. Имеются удобные и развитые средства разработки графического пользовательского интерфейса, простые в использовании средства разработки систем баз данных и/или СУБД.

Достоинства такой архитектуры [12, 13, 14]:

  • многопользовательский режим работы с данными;
  • удобство централизованного управления доступом;
  • низкая стоимость разработки;
  • высокая скорость разработки;
  • невысокая стоимость обновления и изменения ПО.

Недостатки [12, 13, 14]:

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

Простое, работающее с небольшими объемами информации и рассчитанное на применение в однопользовательском режиме, файл–серверное приложение можно спроектировать, разработать и отладить очень быстро [14]. Очень часто для небольшой компании для ведения, например, кадрового учета достаточно иметь изолированную систему, работающую на отдельно стоящем PC. Однако, в уже ненамного более сложных случаях (например, при организации информационной системы поддержки проекта, выполняемого группой) файл–серверные архитектуры становятся недостаточными.