Файл: "Технология клиент-сервер".pdf

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

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

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

Добавлен: 25.06.2023

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

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

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

Введение

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

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

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

Поэтому, в любом приложении выделяются следующие компоненты:

  • компонент представления данных;
  • прикладной компонент;
  • компонент управления ресурсом.

Связь между компонентами осуществляется по определенным правилам, которые называют «протокол взаимодействия».

В данной работе рассматривается разработка клиент-серверного приложения для учёта штрафов ГИБДД.

Описание клиент-серверной технологии

Концепция технологии

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

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


Компоненты информационной системы по выполняемым функциям можно разделить на три слоя: слой представления, слой бизнес-логики и слой доступа к данным. [2]

Слой представления – все, что связано с взаимодействием с пользователем: нажатие кнопок, движение мыши, отрисовка изображения, вывод результатов поиска и т.д.

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

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

Основные особенности данной архитектуры:

  • Клиентская программа работает с данными через запросы к серверному ПО.
  • Базовые функции приложения разделены между клиентом и сервером.

Плюсы:

  • Полная поддержка многопользовательской работы.
  • Гарантия целостности данных. [5]

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

Сервер может обслуживать нескольких клиентов одновременно. В этом случае говорят о многопользовательском режиме. Только не стоит понимать слово «одновременно» в буквальном смысле. Запросы выполняются сервером последовательно. Если одновременно приходит более одного запроса, то запросы устанавливаются в очередь. В данном случае очередь - это список невыполненных клиентских запросов. Иногда запросы могут иметь приоритеты. Приоритет - это уровень «важности» выполнения запроса. Запросы с более высокими приоритетами должны выполняться раньше. [7]

Существует концепции построения системы клиент-сервер:

1) Слабый клиент - мощный сервер - вся обработка информации осуществляется целиком сервером. Сервер посылает готовый результат, не требующий дополнительной обработки. Клиент только ведет диалог с пользователем: составляет запрос, отсылает запрос, принимает запрос и выводит информацию на экран (на принтер, в файл).

2) Сильный клиент - часть обработки информации перепоручается клиенту. [6]

Итак, клиент-серверная информационная система состоит в простейшем случае из трех основных компонентов:


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

Есть и более сложные реализации архитектуры клиент/сервер, например, трехуровневые информационные системы с использованием серверов приложений

Одной из необходимых частей клиент-серверной технологии является СУБД.

СУБД

База данных – это созданная структура хранения информации для конкретно поставленной цели. Это совокупность таблиц определённой целевой направленности.

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

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

Набор сущностей – это объединение сущностей, которые связаны общими свойствами.

Свойства сущностей – атрибуты. В каждой сущностей может содержаться несколько атрибутов.

Строка таблицы (или кортеж отношения) является отдельной сущностью внутри набора сущностей.

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

Пересечение столбца и строки даёт одно единственное значение.

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

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

Столбец таблицы имеет диапазон значений, который называется доменом атрибута. [8]

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

Основные характеристики любой БД:

  • актуальность данных и их адекватность;
  • полнота данных;
  • управляемость БД;
  • лёгкость в использовании и переносе данных;
  • устойчивость к несанкционированным воздействиям, а также надёжность эксплуатации; [9]

Преимущества организации СУБД:

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

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

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

Комплексная оптимизация. Все противоречивые требования пользователя к данным устраняются максимально.

Данные стандартизированы, что делает доступ к ним проще.

Разграничение прав пользователей. Т.е. для доступа к определённой группе данных требуется являться членом определённой группы пользователей, наделёнными такими полномочиями.

Обеспечение целостности данных. Т.е. данные, которые хранятся в БД должны быть точными и непротиворечивыми.

Отношение – это ассоциация между двумя сущностями, которая позволяет точно определять связь экземпляра одной сущности с некоторым количеством экземпляров другой сущности.

Различают следующие типы связей:

  • Связь один-к-одному - данная сущность может быть связана только с одной другой сущностью и наоборот. В реляционных моделях встречается редко, но обычно несёт логический характер разделения данных. Практической пользы разделения таких данных мало.
  • Связь многие-ко-многим - это означает, что сущность связана с несколькими другими сущностями. Самая распространённая и идеальная связь для реляционной модели данных. Обычно организуется при помощи первичных и внешних ключей. [1]
  • Связи многие-ко-многим означает, что несколько одних сущностей могут соответствовать многим другим сущностям. В реляционной модели реализуется сложно, так как противоречит основополагающим правилам. При реализации такого типа связей следует прибегать к разбиению на несколько связей тип один-ко-многим. При этом будет составлена промежуточная сущность, которая будет включать первичные ключи связываемых таблиц.

Рассмотрим подробнее понятие ключи таблиц данных.

Ключ включает в себя один или несколько атрибутов, который определяет весь набор атрибутов.

В каждой таблице должен быть определён первичный ключ, который идентифицирует строку.

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

Первичный ключ не может содержать значение «null», так как это приведёт к потере целостности данных.


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

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

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

Проектирование баз данных включает следующие требования:

  • Данные должны отображаться адекватно. Это включает: полноту и актуальность данных; динамичность модели.
  • Возможность взаимодействия с пользователями разных категорий и в разных режимах.
  • Данные должны быть защищены от случайных или преднамеренных разрушений БД. Должна обеспечиваться конфиденциальность данных. Надёжность и целостность данных.

Должна быть обеспечена взаимная независимость данных от программ.

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

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

Связь с базой данных по технологии клиент-сервер

Рассмотрим язык программирования Delphi. В нём предусмотрена технология ADO, которая позволяет наладить связь с любой СУБД и организовать клиент-серверную архитектуру.

Технология ADO и интерфейсы OLE DB обеспечивают для приложений единый способ доступа к источникам данных различных типов. Например, приложение, использующее ADO, может применять одинаково сложные операции и к данным, хранящимся на корпоративном сервере SQL, и к электронным таблицам, и локальным СУБД. Запрос SQL, направленный любому источнику данных через ADO, будет выполнен.