Добавлен: 25.06.2023
Просмотров: 140
Скачиваний: 3
СОДЕРЖАНИЕ
ГЛАВА 1. ОПРЕДЕЛЕНИЕ ПОНЯТИЯ - МОДЕЛИРОВАНИЯ И АРХИТЕКТУРА КЛИЕНТ-СЕРВЕР
1.2. Цели стандартизации управления данными
1.3. Основные преимущества архитектуры «Клиент-Сервер».
1.4. Основные роли архитектуры «Клиент-Сервер».
ГЛАВА 2. АРХИТЕКТУРА И КЛАСТЕР СЕРВЕРОВ
2.1. Состав архитектуры «Клиент-Сервер» и её проблемные места.
ВВЕДЕНИЕ
В современном мире, в связи с развитием технического оборота существует одна проблема и одна задача, напрямую связанная с необходимостью модернизации, научной и практической составляющей вопроса разработки методологий применения современных информационных и технических методик как способа совершенствования продуктивности деятельности определённой отрасли.
В данный момент во многих отраслях производства активно практикуется задействование различных схем работы с данными. К таким схемам можно отнести: специализированные программные разработки, системы банков, различные пробные разработки и программы автоматизирования учёта. Стремительный рост потребности в расширении сфер вычислительного производства, непременно потребует задействования сложных методик и разработки новых структур информационный и технологической базы. Именно поэтому в данный момент острым вопросом является – внедрение и разработка новых методик обработки информации, а именно: ускорение и автоматизация, совершенствование рабочих процессов в различных отраслях экономики и обществе. Так же стоит упомянуть такую модель обработки информации, как «Клиент-сервер», получившего большой толчок в развитии в последнее время.
В моей курсовой работе будут рассмотрены этапы разработки и внедрения данной технологии, предпосылки к её развитию, разновидности модели и модернизация процессов, произошедшая одновременно с применением новых технологий в процессе обработки информации. В программировании информационных данных существуют определённые трудности, которые имеют общий вид для различных типов средств проектирования. Применение при программировании БД современных методик, заметно упрощает данную сам процесс и выполнение поставленной задачи, однако даже это не в силах решить вышеупомянутые трудности, связанные с недостаточной квалификацией специалистов IT занимающихся разработкой приложений в конкретных областях.
Однако так же свою роль может сыграть и «терминологический барьер» между разработчиком и специалистом конкретной сферы, заказавшим разработку приложения. Именно по этому первостепенной задачей всегда является, совершенствование процесса разработки и снижения негативного воздействия «терминологического барьера». Помогает в решении данной проблемы в том числе и создание определённого алгоритма, который позволит сократить затраты на разработку и сопровождение бизнес-программ.
ГЛАВА 1. ОПРЕДЕЛЕНИЕ ПОНЯТИЯ - МОДЕЛИРОВАНИЯ И АРХИТЕКТУРА КЛИЕНТ-СЕРВЕР
1.1 Понятие моделирования
С начала 90-х годов XX века широко распространена такая технология реализации программных приложений как архитектура "клиент-сервер". Основная особенность данной архитектуры состоит в том, что приложение разделяется на два уровня - представление данных (клиент) и хранение данных (сервер БД). Обработка информации происходит на стороне клиента, а на сервер отсылаются запросы и обрабатываются полученные в ответ на них данные [[1]]. Архитектурная модель состоит из терминов процессоров, которые в свою очередь взаимодействуют как клиент и/или сервер. Данные термины необходимы для ссылок на процессоры, которые выполняют функции необходимые для конкретного взаимодействия [[2]]. Процессор выполняет функцию обеспечения услугами управления данными, которые в свою очередь используются другими процессорами для того, чтобы представлять возможности информационной системы [[3]].
В процессе взаимодействия клиент – сервер, клиент выполняет запрос на услугу, включающий любые значения данных, требуемые для этой услуги. Сервер в свою очередь обеспечивает варианты следующих ответов:
- Указание на то, что запрашиваемая услуга завершена.
- Набор данных, как результат запрашиваемой услуги.
- Сообщение, что услуга недоступна.
- Сообщение, что запрашиваемые данные недоступны.
Каждый процессор обязательно должен определяться внешним интерфейсом, который он считает сервером. Данный сервер должен определять услуги и тип данных, к которым применяются эти самые услуги. Процесс взаимодействия процессора с иными серверами уже относится к задачам моделирования.
Каждый процессор является частью некоего класса. Каждый класс определяет услуги, являющиеся общими для всех процессоров, которые входят в данный класс. Иногда классы определяют и тип данных, к которым применяются услуги, а некоторые из них являются общецелевыми, это происходит, когда процессор требует своей собственной схемы, для чтобы определить данные, к которым услуги применяются.
Процессор может одновременно являться клиентом нескольких серверов вне зависимости от времени. Множество серверов в свою очередь могут работать с несколькими параллельными клиентами, а для более детализированного описания архитектурной модели важно использовать специализацию, где подкласс общего класса процессоров будет определяться как имеющий индивидуальные особенности, услуги и имя. Которые уже являются модифицированными или дополнительными формами услуг общего процессора. Декомпозицию, в которой услуги класса процессоров видны как обеспечиваемые двумя или более классами процессоров с взаимным взаимодействием [[4]].
С началом внедрения телекоммуникационных систем и мультиплатформенных технологий программирования возникла возможность задействования архитектуры клиент-сервер в портативных устройствах. В данное время существуют целых три разнообразных подхода к разработке приложений: компонентный подход, клиент/серверный подход и традиционный подход.
При традиционном подходе единственное приложение управляет, логикой обработки, логикой представления, а также взаимодействует с базой данных (часто это представлено в виде набора файлов). База данных также располагается на локальном компьютере. Такие приложения называются также монолитными и всегда характеризуются тем, что даже при расширении, незначительной модификации и развитии приложения, приложение обязано собираться вновь и перекомпилироваться. В качестве примера можно привести - незначительные изменения в структуре базы данных, которые могут потребовать изменения всех остальных методов приложения и функций. Данный подход создаёт очень трудоёмкой процедуру сопровождения, распространения и трансформации приложения. Для устранения недостатков классического подхода была внедрена клиент/серверная или как её ещё называют - двухслойна (two-tier) архитектура
Отличительной особенностью такой архитектуры является то, что данные отделяются от клиентской части, перемещаются и хранятся централизованно на сервере и к ним предоставляется удалённый доступ. При таком походе - логика обработки объединяется со слоем представления на стороне, сервера которая содержит код для взаимодействия с базой данных, либо на стороне клиента. Однако, в том случае если логика обработки будет объединена со слоем представления, то клиент будет называться "тонким", а если же логику обработки объединить с сервером базы данных, то сервер будет называться "толстым"[[5]].
Важно отметить, что и клиент-серверная архитектура при всех её плюсах, также имеет некоторые недостатки, а именно: «Любое изменение бизнес-логики потребует внесения изменений в алгоритмы обработки. При изменении алгоритмов обработки либо код доступа к базе данных нуждается в изменении, либо слой представления. Всё это зависит от места расположения бизнес-логики».
Созданные приложения, применяющие в своей работе двухслойную архитектуру, проблематично масштабируются из-за весьма ограниченного числа доступных для клиента связей с базой данных. Запросы на соединение, превышающие некое чётко определенное число, просто отбрасываются сервером [[6]].
Архитектура клиент-сервер подразумевает сервер баз данных, являющийся приложением, осуществляющим комплекс действий по управлению данными, например - резервное копирование данных, выполнение запросов, хранение и отслеживание ссылочной целостности, проверку привилегий и прав пользователей, а также ведение журнала транзакций. В числе важных преимуществ клиент-серверных информационных систем в сравнении с другими разновидностями находится так же и снижение сетевого трафика при выполнении запросов.
Другим важным преимуществом архитектуры клиент-сервер является наличие возможности хранения бизнес-правил на сервере, что в свою очередь позволяет избегать дублирования кода в нескольких приложениях пользующихся общей базой данных. Кроме того, в данном случае любое редактирование данных, такое как редактирование нештатными средствами, может быть произведено исключительно в рамках данных правил. Кроме вышеперечисленных возможностей, новейшие серверные системы управления базами данных обладают большими возможностями управления правами доступа к различным объектам базы данных и пользовательскими привилегиями, архивации данных и резервного копирования, а также довольно часто и для оптимизации процесса выполнения запросов. Такие системы как правило, открывают возможность одновременной двухканальной обработки данных, данная особенность хорошо заметка в случае использования многопроцессорных компьютеров в качестве сервера БД.
Из всего вышеизложенного можно сделать вывод, что клиент-серверная информационная система даже в самом базовом варианте состоит из двух основных компонентов:
- Сервер БД - управляет резервным копированием, хранением данных, защитой и доступом, отслеживающий целостность данных в соответствии с бизнес-правилами и выполняющий запросы клиента.
- Клиент, являющейся ничем иным как интерфейсом пользователя, проверяющий допустимость данных и выполняющий логику приложения. Так же клиент посылает запросы к серверу и получающий на их от сервера ответы.
Архитектура "клиент-сервер". Как правило, программы и компьютеры, являющиеся частью информационной системы - неравноправны. Что-то из них владеет ресурсами (процессор, база данных, принтер, файловая система), а что-то имеет права обращаться к данным ресурсам. Программа или компьютер, которые могут управлять ресурсами, называют сервером этого ресурса (вычислительный сервер, сервер БД, файл-сервер). сервер и клиент отдельно взятого ресурса могут располагаться как на различных компьютерах - связанных сетью, так и в одной вычислительной системе [[7]].
Основополагающий принцип построения технологии "клиент-сервер" заключается в делегировании функций приложения на три основных группы:
- Отображение и ввод данных или взаимодействие с пользователем.
- Прикладные функции, характеризующие данную предметную область.
- Функции управления ресурсами системы (база данных и файловая система).
Именно поэтому, практически в каждом приложении можно выделить следующие компоненты:
- Компонент представления данных.
- Компонент управления ресурсом.
- Прикладной компонент.
Связь между всеми компонентами осуществляется происходит по определенным правилам их называют -протокол взаимодействия [[8]].
1.2. Цели стандартизации управления данными
В системе стандартизации управления данными существуют сеющие целы и задачи:
- Стандартизация поддержки для распределённых сценариев.
- Стандартизация управления транзакциями БД.
- Снижение сложности обработки данных.
- Обеспечение независимости размещения.
- Повышение общей производительности в сценариях.
- Стандартизация импорта и экспорта БД.
- Обеспечение мобильности приложений.
- Обеспечение независимости данных.
- Стандартизация использования средств моделирования данных.
Стандарты поддержки распределённых БД должны быть основываны на интерфейсах услуг, поддерживаемых в каждой среде управления данными. Процессоры, связанные с интерфейсами, обязаны реагировать и отвечать на конкретный запрос на услугу стандартным способом.
При стандартизации поддержки распределённых БД, важно учитывать следующие пункты:
- Интерфейсы и услуги управления данными, для которых для которых они доступны, обязательно должны быть спроектированы так, что пользователю не требовалось знать, где хранятся данные.
- Система управления данными на одном домене управления иногда имеет доступ к данным, управляемым другой системой управления данными на другом домене управления, при возникновении требований в домене управления сервером.
- Требования как для локального, так и удалённого доступа к данным должны применяться равнозначно ко всем парам уровней.
- Удалённый доступ не должен требовать принципиально нового подхода к услугам, обеспечивающие процесс управления данными.