Добавлен: 28.03.2023
Просмотров: 161
Скачиваний: 3
ВВЕДЕНИЕ
Идея организовать вычислительные ресурсы в соответствии с архитектурой клиент-сервер возникла на уровне рабочих групп и подразделений компаний. Менеджеры отделов обнаружили, что использование централизованных приложений, работающих на мэйнфрейме, не дает им достаточно быстро реагировать на требования бизнеса. Развертывание приложений центральным отделом информационного обслуживания требовало очень много времени, а результаты не всегда соответствовали нуждам подразделений. [4]
Однако в окружении, состоящем исключительно из персональных компьютеров, пользователи при совместной работе сталкивались с определенными трудностями. Даже на уровне одного подразделения компании было необходимо поддерживать базу данных, а также форматы и стандарты их использования. [11]
Сервер (сеть) — логический или физический узел сети, обслуживающий запросы к одному адресу и/или доменному имени (смежным доменным именам), состоящий из одного или системы аппаратных серверов, на котором выполняются один или система серверных программ
Технология клиент-сервер это особый способ взаимодействия компьютеров в локальной сети, когда один из компьютеров (сервер) предоставляет свои ресурсы другому компьютеру (клиенту). Согласно этим различают одноранговые и серверные сети.
Клиент-сервер — вычислительная или сетевая архитектура, в которой задания или сетевая нагрузка распределены между поставщиками услуг, называемыми серверами, и заказчиками услуг, называемыми клиентами. Физически клиент и сервер — это программное обеспечение. Обычно они взаимодействуют через компьютерную сеть посредством сетевых протоколов и находятся на разных вычислительных машинах, но могут выполняться также и на одной машине.
Целью работы являться изучение технологии «Клиент- сервер»
Предметом работы выступают информационный системы.
Объектом работы возможности и назначение программы «Клиент- Сервер»
Задачи:
Дать общее понятие о серверах;
Изучить назначение и возможности «Клиент- сервера»
Методы исследования: изучение и анализ научной литературы, статей по теме работы в периодических изданиях, научных источников в сети Интернет, анализ и сравнение модели распределенных баз данных с другими моделями.
ГЛАВА 1 . ПОНЯТИЕ СЕРВЕРА И ЕГО ЗНАЧЕНИЕ
1.1 Сервера и их классификация
При большом числе компьютеров (десятки, сотни и даже тысячи) предприятия чаще всего полагаются на сети модели «клиент-сервер». Упрощенно можно считать, что в такой сети отдельный компьютер подключается к одному или нескольким мощным компьютерам, которые называются серверами.
Сервер – компьютер сети, предоставляющий свои программные и аппаратные ресурсы пользователям сети для хранения данных, выполнения программ и других услуг (например, доступ к общей базе данных, совместное использование устройств ввода/вывода, организацию взаимодействия пользователей и др.).[5]
Клиент – компонент архитектуры "клиент – сервер", пользующийся услугами сервера. Часто в качестве клиента выступают программы, имеющие доступ к информационным ресурсам или устройствам сервера. Для подключения к серверу пользователь рабочей станции должен получить собственное регистрационное имя и пароль.
Термины "клиент" и "сервер" используются для обозначения как программных, так и аппаратных средств.
К преимуществам сетей с архитектурой "клиент – сервер" относятся централизованное управление ресурсами сети, безопасность и скорость доступа. Мероприятия по реализации этих свойств называются администрированием сети.
Как правило, каждый сервер обслуживает один (или несколько схожих) протоколов и серверы можно классифицировать по типу услуг, которые они предоставляют. [1]
Универсальные серверы — особый вид серверной программы, не предоставляющий никаких услуг самостоятельно. Вместо этого универсальные серверы предоставляют серверам услуг упрощенный интерфейс к ресурсам межпроцессного взаимодействия и/или унифицированный доступ клиентов к различным услугам.
Существуют несколько видов таких серверов:
inetd от англ. internet super-server daemon демон сервисов IP — стандартное средство UNIX-систем — программа, позволяющая писать серверы TCP/IP (и сетевых протоколов других семейств), работающие с клиентом через перенаправленные inetd потоки стандартного ввода и вывода.
RPC от англ. Remote Procedure Call удаленный вызов процедур — система интеграции серверов в виде процедур доступных для вызова удаленным пользователем через унифицированный интерфейс. Интерфейс изобретенный Sun Microsystems для своей операционной системы, в настоящее время используетстся как в большинстве Unix-систем, так и в Windows. [2]
Прикладные клиент-серверные технологии Windows:
(D-)COM (англ. (Distributed) Component Object Model — модель составных объектов) и др. — Позволяет одним программам выполнять операции над объектами данных используя процедуры других программ. Изначально данная технология предназначена для их «внедрения и связывания объектов» (OLE англ. Object Linking and Embedding), но, в общем, позволяет писать широкий спектр различных прикладных серверов. COM работает только в пределах одного компьютера, DCOM доступна удаленно через RPC.
Active-X — Расширение COM и DCOM для создания мультимедиа-приложений.
Универсальные серверы часто используются для написания всевозможных информационных серверов, серверов, которым не нужна какая-то специфическая работа с сетью, серверов, не имеющих никаких задач, кроме обслуживания клиентов. Например, в роли серверов для inetd могут выступать обычные консольные программы и скрипты.
Большинство внутренних и сетевых специфических серверов Windows работают через универсальные серверы (RPC, (D-)COM).
Сетевые службы обеспечивают функционирование сети, например серверы DHCP и BOOTP обеспечивают стартовую инициализацию серверов и рабочих станций, DNS — трансляцию имен в адреса и наоборот.
Серверы туннелирования (например, различные VPN-серверы) и прокси-серверы обеспечивают связь с сетью, недоступной роутингом.
Серверы AAA и Radius обеспечивают в сети единую аутентификацию, авторизацию и ведение логов доступа. [2]
Информационные службы. К информационным службам можно отнести как простейшие серверы сообщающие информацию о хосте (time, daytime, motd), пользователях (finger, ident), так и серверы для мониторинга, например SNMP. Большинство информационных служб работают через универсальные серверы.
Особым видом информационных служб являются серверы синхронизации времени — NTP кроме информировании клиента о точном времени NTP-сервер периодически опрашивает несколько других серверов на предмет коррекции собственного времени. Кроме коррекции времени анализируется и корректируется скорость хода системных часов. Коррекция времени осуществляется ускорением или замедлением хода системных часов (в зависимости от направления коррекции), чтобы избежать проблем возможных при простой перестановке времени.
Файл-серверы представляют собой серверы для обеспечения доступа к файлам на диске сервера.
Прежде всего, это серверы передачи файлов по заказу, по протоколам FTP, TFTP, SFTP и HTTP. Протокол HTTP ориентирован на передачу текстовых файлов, но серверы могут отдавать в качестве запрошенных файлов и произвольные данные, например, динамически созданные веб-страницы, картинки, музыку и т. п.
Другие серверы позволяют монтировать дисковые разделы сервера в дисковое пространство клиента и полноценно работать с файлами на них. Это позволяют серверы протоколов NFS и SMB. Серверы NFS и SMB работают через интерфейс RPC. [6]
Недостатки файл-серверной системы:
• Очень большая нагрузка на сеть, повышенные требования к пропускной способности. На практике это делает практически невозможной одновременную работу большого числа пользователей с большими объемами данных.
• Обработка данных осуществляется на компьютере пользователей. Это влечет повышенные требования к аппаратному обеспечению каждого пользователя. Чем больше пользователей, тем больше денег придется потратить на оснащение их компьютеров.
• Блокировка данных при редактировании одним пользователем делает невозможной работу с этими данными других пользователей.
• Безопасность. Для обеспечения возможности работы с такой системой Вам будет необходимо дать каждому пользователю полный доступ к целому файлу, в котором его может интересовать только одно поле
Серверы доступа к данным обслуживают базу данных и отдают данные по запросам. Один из самых простых серверов подобного типа — LDAP (англ. Lightweight Directory Access Protocol — облегчённый протокол доступа к спискам).
Для доступа к серверам баз данных единого протокола не существует, однако все серверы баз данных объединяет использование единых правил формирования запросов — язык SQL (англ. Structured Query Language — язык структурированных запросов).
1.2. Технология клиент-сервер
Взаимодействие между клиентом и сервером стандартизуется, так что сервер может обслуживать клиентов, реализованных различными способами и, может быть, разными производителями. При этом главным требованием является то, чтобы они запрашивали услуги сервера понятным ему способом. Инициатором обмена обычно является клиент, который посылает запрос на обслуживание серверу, находящемуся в состоянии ожидания запроса.
Рис 1. Технология клиент сервер
Класс данных программ в полной мере может быть использован не только в обозначенном направлении, но и в учебном процессе образовательных учреждений, где особенно первостепенны, как подача изучаемого материала с его визуализацией, так и контроль за действиями обучаемых. В образовательных учреждениях презентационные возможности при изучении материала могут быть реализованы с помощью такого технического средства как мультимедиа проектор. Стоимость мультимедиа оборудования для аудитории может составлять до 120 тысяч и более. Важно отметить, что наряду со своей не малой стоимостью и финансовыми затратами на дальнейшее обслуживание данное оборудование решает только демонстрационную задачу, коммуникационные задачи, в частности контроль за удалёнными компьютерами (компьютерами сотрудников, обучаемых) остаются не реализованы.
В комплексе презентационные и коммуникационные возможности, важные и необходимые, в том числе и в образовательном процессе могут быть решены с помощью программ удалённого доступа. Самая распространенная утилита для удаленного управления ПК – это, конечно же, Remote Desktop Connection (RDC), входящая в комплект операционной системы Windows. Этот факт объясняется не столько ее функциональными возможностями, сколько тем, что она является составной частью ОС, а потому приобретать ее отдельно не нужно. Что касается функциональности данной утилиты, то на практике ее, как правило, бывает недостаточно, поэтому нередко используются специализированные программные пакеты сторонних производителей. В таблице 1 приведены данные о некоторых специализированных лицензионных программных пакетах, предназначенных для удалённого управления компьютерами с указанием их стоимости [1]. Заметим, что стоимость лицензионной программы зависит от количества лицензий (числа управляемых ПК)
Обозначенное позволяет констатировать о том, что далеко не все организации, образовательные учреждения могут позволить себе приобрести как необходимое мультимедийное оборудование, так и лицензионное достаточно дорогое программное обеспечение. Выше изложенное послужило идеей для создания программы «Удалённого мониторинга», которая решает необходимый минимум описанных задач, а именно:
– отображает содержимое экрана сервера (управляющего, преподавателя) любому количеству клиентов (сотрудников, обучаемых) – одному, группе, всем одновременно;
– показывает содержимое закачанных учителем из сети Интернет Webстраниц;
– отображает содержимое рабочих станций (одновременно или по очереди), тем самым клиенты (сотрудников, обучаемые) понимают, что их деятельность находится под постоянным контролем;
– контролирует загружаемые из сети Интернет информационные материалы;
– использует дистанционное управление компьютером клиентов (сотрудников, обучаемых);
– блокирует машины клиентов (сотрудников, обучаемых), например в конце урока или в ходе урока (рабочего дня) перезагружает, выключает машины в конце рабочего дня. В ходе работы над программой проводилось решение следующих задач:
– анализ материала по существующим программам удалённого управления ПК, их функциональных возможностях, стоимости и т.д.;
– подбор языка программирования для создания данной программы;
– анализ и разработка механизма работы программы, её необходимого состава; – написание программы;