Файл: Технология «Клиент - Сервер».pdf

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

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

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

Добавлен: 25.06.2023

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

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

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

ВВЕДЕНИЕ

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

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

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

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


ГЛАВА 1. ОПРЕДЕЛЕНИЕ ПОНЯТИЯ - МОДЕЛИРОВАНИЯ И АРХИТЕКТУРА КЛИЕНТ-СЕРВЕР

1.1 Понятие моделирования

С начала 90-х годов XX века широко распространена такая технология реализации программных приложений как архитектура "клиент-сервер". Основная особенность данной архитектуры состоит в том, что приложение разделяется на два уровня - представление данных (клиент) и хранение данных (сервер БД). Обработка информации происходит на стороне клиента, а на сервер отсылаются запросы и обрабатываются полученные в ответ на них данные [[1]]. Архитектурная модель состоит из терминов процессоров, которые в свою очередь взаимодействуют как клиент и/или сервер. Данные термины необходимы для ссылок на процессоры, которые выполняют функции необходимые для конкретного взаимодействия [[2]]. Процессор выполняет функцию обеспечения услугами управления данными, которые в свою очередь используются другими процессорами для того, чтобы представлять возможности информационной системы [[3]].

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

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

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

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


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

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

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

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


Важно отметить, что и клиент-серверная архитектура при всех её плюсах, также имеет некоторые недостатки, а именно: «Любое изменение бизнес-логики потребует внесения изменений в алгоритмы обработки. При изменении алгоритмов обработки либо код доступа к базе данных нуждается в изменении, либо слой представления. Всё это зависит от места расположения бизнес-логики».

Созданные приложения, применяющие в своей работе двухслойную архитектуру, проблематично масштабируются из-за весьма ограниченного числа доступных для клиента связей с базой данных. Запросы на соединение, превышающие некое чётко определенное число, просто отбрасываются сервером [[6]].

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

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

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

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

Архитектура "клиент-сервер". Как правило, программы и компьютеры, являющиеся частью информационной системы - неравноправны. Что-то из них владеет ресурсами (процессор, база данных, принтер, файловая система), а что-то имеет права обращаться к данным ресурсам. Программа или компьютер, которые могут управлять ресурсами, называют сервером этого ресурса (вычислительный сервер, сервер БД, файл-сервер). сервер и клиент отдельно взятого ресурса могут располагаться как на различных компьютерах - связанных сетью, так и в одной вычислительной системе [[7]].

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

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

Именно поэтому, практически в каждом приложении можно выделить следующие компоненты:

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

Связь между всеми компонентами осуществляется происходит по определенным правилам их называют -протокол взаимодействия [[8]].

1.2. Цели стандартизации управления данными

В системе стандартизации управления данными существуют сеющие целы и задачи:

  • Стандартизация поддержки для распределённых сценариев.
  • Стандартизация управления транзакциями БД.
  • Снижение сложности обработки данных.
  • Обеспечение независимости размещения.
  • Повышение общей производительности в сценариях.
  • Стандартизация импорта и экспорта БД.
  • Обеспечение мобильности приложений.
  • Обеспечение независимости данных.
  • Стандартизация использования средств моделирования данных.

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

При стандартизации поддержки распределённых БД, важно учитывать следующие пункты:

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