Добавлен: 29.02.2024
Просмотров: 37
Скачиваний: 0
СОДЕРЖАНИЕ
Глава 1. Характеристика технологии «Клиент – сервер»
1.1 Двухзвенная архитектура «Клиент-сервер»
1.3 Различные модели технологии «Клиент – сервер»
Глава 2. Программное обеспечение технологии «Клиент – сервер»
2.1 Организация обработки данных в СУБД с архитектурой «Клиент-сервер»
Глава 3. Технология «Клиент-сервер» применительно к Internet
Содержание:
Введение
Актуальность темы обусловлена актуальностью применения технологии «клиент-сервер» для обработки информации.
В архитектуре клиент-сервер интересно и актуально главным образом то, что в ней имеется простая и относительна дешевая система, обеспечивающая коллективный доступ к базе данных внутри локальной сети.
В данной курсовой работе описан процесс эволюции компьютерной технологии, во время появления первых компьютерных сетей. Сам процесс появление компьютерной сети означал начало нового этапа развития компьютерный технологий. Процесс развития этой идеи привёл к выделению функциональных компонентов компьютерной сети. В результате чего пришла идея, что разумнее всего будет иметь не только доступы к ресурсам на удаленном компьютере, но также обеспечить получение с этого компьютера некоторых сервисных услуг, которые были бы специфичны для разных видов ресурсов и программных средств. Так в результате начали создаваться и различаться клиенты (рабочие компьютерные станции) и серверы локальной сети.
Суть технологии «клиент-сервер» в том, что система должна быть разделена на две части – одна часть называется приложение-клиент, а другая сервер базы данных. В такой архитектуре объединены лучшие черты способов обрабатывания данных при помощи мэйнфреймов и файл-серверов. От систем для мэйнфрейма в технологию «клиент-сервер» была добавлена такая функция, как централизованное администрирование, безопасность, надежность работы. У технологии файл-серверных машин была перенята низкая стоимость нужного оборудования и возможность распределенного обрабатывания данных, используя при этом ресурсы компьютера-клиента.
Со времён создания архитектуры клиент-сервер было создано множество вариаций архитектуры процессора обработки баз данных, так как благодаря ему работает вся система.
Основная цель данной курсовой работы, это раскрытие понятия принципов работы технологии клиент-сервер.
Объектом работы является архитектура клиент-сервер.
Предмет исследования – процесс работы технологии клиент-сервер, во время обеспечения пользователям сети быстрого доступа к ресурсам.
Согласно поставленной цели в ходе работы необходимо решить следующие задачи:
1) изучить особенности технологии «клиент-сервер»;
2) определить характерные особенности работы технологии «клиент-сервер»;
3) провести анализ необходимого программного обеспечения нужного для работы с технологией «Клиент – сервер»;
4) провести исследования принципов работы с технологией «Клиент-сервер» во время работы в сети Internet.
Глава 1. Характеристика технологии «Клиент – сервер»
Технология «Клиент – сервер» - представляет собой архитектуру программного комплекса, которая распределяет прикладную программу на два логически различных компонента, а именно клиент и сервер, которые взаимодействуют по схеме «запрос-ответ» решая свои определенные задачи (рисунок 1).
Рисунок 1– Архитектура «Клиент – сервер»
Компьютер (или программа), которая управляет или владеет каким-либо ресурсом, называется сервером этого ресурса.
Компьютер (или программа), который запрашивает и пользуется каким-либо ресурсом, называется клиентом этого ресурса.
Клиенты и серверы могут располагаться как на одном персональном компьютере (ПК), так и на разных ПК объеденные сетью. Также могут возникать такие ситуации, когда некоторые программные блоки одновременно выполняют функции сервера, работая с одним блоком и работу клиента работая с другим.[1]
Основными принципами технологии «Клиент-сервер» является разделение функции приложения как минимум на три группы:
- Модуль интерфейса с пользователем.
Эту группа называется логикой представления. Через эту группу пользователь взаимодействует с приложением. Независимо от конкретной характеристики логики представления (командная строка, сложный графический пользовательский интерфейс, интерфейс через посредника) её главной задачей является обеспечение средств, чтобы можно было производить эффективный обмен информацией между пользователями и информационной системой.
- Модуль хранения данных.
Эта группа называется бизнес-логикой. В бизнес-логике определяется, конкретное предназначение приложения (к примеру, прикладная функция приложения, характерна для предметных областей использования). Разделение приложения на границе между программами позволяет обеспечить естественные основы, чтобы приложение могло работать на нескольких компьютерах одновременно.
- Модуль обработки данных (управление ресурсами).
Эта группа называется логика доступа к данным или алгоритмы доступа к данным. Алгоритм доступа к данным представляет собой специфические для конкретного приложения интерфейсы взаимодействия с механизмом постоянного хранения данных представляющий подобие файловой системы или системы управления базами данных (СУБД). Данный модуль обработки данных позволяет работать в специальном для приложения интерфейсе доступа к СУБД. Используя данный интерфейс, приложение может управлять процессом соединения с базой данных и обработкой запросов к ней, а также получать результаты и переводить эти результаты обратно в специальную для конкретного приложения структуру данных.[2]
Каждая из вышеописанных групп может работать независимо от двух других групп. Согласно разделению функций, для любого приложения выделяются следующие компоненты:
- компоненты для представления данных;
- прикладные компоненты;
- компоненты для управления ресурсами.
1.1 Двухзвенная архитектура «Клиент-сервер»
Классическая архитектура клиент-сервер распределяет три основные части приложения на два физических модуля. Обычно прикладной компонент располагается на сервере (например, сервере базы данных), компонент представления данных - на стороне клиента, а компонент управления ресурсом распределяется между клиентской и серверной частями. В этом заключается основной недостаток классической двухуровневой архитектуры.
Используя двухзвенную архитектуру во время распределения алгоритма обрабатывания данных, разработчик должен обладать полной информацией о том, какие последние изменения, были внесены в систему, и какова значимость этих изменений, из-за чего возникает большая сложность во время разработки клиент-серверной системы, её установки и обслуживании. Так как такие мероприятия стоят значительных усилий, и постоянной координации действий совершаемые разными группами специалистов.
Чтобы предотвратить сопутствующую несогласованность работы различных элементов такой архитектуры специалисты создали две модификации для двухзвенной архитектуры «Клиент – сервер»: одна модификация стала называться «Толстый клиент» («Тонкий сервер»), а другая «Тонкий клиент» («Толстый сервер»).
В данной двухзвенной архитектуре разработчики пытались перенести процесс выполнения обработки данных на одну из двух физических частей - на сторону клиента («Толстого клиента»), или на сторону сервера («Тонкого клиента»).
Каждый из описанных подходов обладал своими недостатками. В первом подходе неоправданно перегружалась сеть, так как по ней передавались необработанные а, следовательно, избыточного размера данные. Также был усложнён процесс поддержки системы и процесс её изменения, так как, чтобы заменить алгоритм для вычисления или исправления ошибок нужно одновременно полностью заменить весь интерфейс в программах, чтобы не возникли ошибки или несогласованности в обработке данных. Если же весь процесс обработки информации выполнялся бы на сервере, то возникла бы проблема в процессе описания встроенных процедур и процесса их отладки. Систему, обрабатывающую информацию на сервере невозможно было ни как перенести на другую платформу или операционную систему, без серьезных сбоев в работе.
В том случае если всё равно будет требоваться разработка двухуровневой классической архитектуры «Клиент – сервер», то надо знать следующее: структура архитектуры «Толстый сервер» аналогична структуре в архитектуре «Тонкий клиент» (рисунок 2);
Рисунок 2 – Архитектура «Тонкий клиент»
У этих архитектур имеются следующие недостатки:
- усложнён процесс реализации, так как в таких языках как SQL не приспособлены коды, чтобы разрабатывать программное обеспечение и для них отсутствуют хорошие средства отладки;
- производительность работы программ, которые написаны на языке типа SQL, довольно невысока, в отличие от созданных программ на других языках, что очень важно, если речь идёт о создании сложной системы;
- программа, которая написана на языке СУБД, обычно работает недостаточно надежно; ошибка, которая может в них возникнуть может привести тому, что весь сервер баз данных может выйти из строя;
- получившаяся программа на языке СУБД становится полностью непереносимой на другую систему или платформу.
1.2 Трехуровневая модель
В середине 90-х годов 20-ого века получила признание среди специалистов созданная трехзвенная архитектура «Клиент – сервер», в которой информационная система делилась по своим функциональным возможностям на 3-и отдельные компонента: логика представления, бизнес-логика и логика доступа к данным. В отличие от классической двухзвенной архитектуры в трехзвенную архитектуру было добавлено дополнительное звено, которая стало называться сервер приложений. Сервер приложений предназначался для того, чтобы осуществлять бизнес-логику, полностью разгружая, клиент, который в итоге мог направлять запросы промежуточному программному обеспечению, максимально используя все имеющиеся возможности сервера.[3]
В трехуровневой архитектуре клиент не перегружается, выполняя функции обработчика данных, а может выполнять свою основную функцию в системе, а именно представлять информацию, которая поступает с сервера приложений. Интерфейс для такой архитектуры можно создать, используя стандартные средства Web-технологии - браузера, и языки CGI и Java. Такой подход уменьшил объёмы данных, которые передаются между клиентом и сервером приложений, что дало возможность подключать клиентские компьютеры даже к медленным линиям передачи данных (телефонные каналы). Клиентская часть стала довольно простой, благодаря чему могла воспроизводиться при помощи универсального браузера. В случае если систему надо будет всё-таки менять, то эта процедура может быть осуществлена быстро и безопасно для системы и программ.
Сервер приложений – является программным обеспечение, которое представляет собой промежуточный слой между клиентом и сервером (рисунок 4).
Рисунок 4 - Сервер приложений
Создано несколько категорий продуктов для осуществления работы промежуточного слоя:
- Message orientated – ярким представителем являются MQseries и JMS;
- Object Broker – ярким представителем является CORBA и DCOM;
- Component based – ярким представителем является .NET и EJB.
Создано много серверов приложений при поддержке таких знаменитых компаний как Sun Microsystem, Borland, IBM, Oracle и каждое из которых отличается своим набором количества предоставляемых сервисов (не учитывая производительность). При помощи этих сервисов облегчается процесс программирования и развертывания приложений в масштабе предприятия. Обычно сервером приложений предоставляются следующие сервисы:
- WEB Server – чаще всего в поставку включают самый популярный и мощный сервер, в настоящее время это Apache-серверы;
- WEB Container – при помощи него можно выполнять JSP и сервлеты. Apache среди таких сервисов использует Tomcat;
- CORBA Agent – это сервис предоставляет распределенные директории, чтобы хранить CORBA объекты;
- Messaging Service – является своего рода брокером сообщений;
- Transaction Service – является сервисом транзакций;
- JDBC – драйвер, служащий для подключения к базам данных, так как именно сервер приложений приходиться работать с базами данных, поэтому он должен уметь подключаться к используемой в компании базе данных;
- Java Mail – сервис предоставляющий доступ к сервисам SMTP;
- JMS (Java Messaging Service) – сервис служащий, чтобы обрабатывать синхронные и асинхронные сообщения;