Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Технология «клиент-сервер» (Многоуровневая архитектура клиент-сервер)

Содержание:

ВВЕДЕНИЕ

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

Сервер (сеть) — логический или физический узел сети, обслуживающий запросы к одному адресу и/или доменному имени (смежным доменным именам), состоящий из одного или системы аппаратных серверов, на котором выполняются один или система серверных программ

Технология клиент-сервер это особый способ взаимодействия компьютеров в локальной сети, когда один из компьютеров (сервер) предоставляет свои ресурсы другому компьютеру (клиенту). Согласно этим различают одноранговые и серверные сети.

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

Целью работы являться изучение технологии «Клиент- сервер»

Предметом работы выступают информационный системы.

Объектом работы возможности и назначение программы «Клиент- Сервер»

Задачи:

Дать общее понятие о серверах;

Изучить назначение и возможности «Клиент- сервера»

1 . ОБЩЕЕ ПОНЯТИЕ О СЕРВЕРАХ

1.1Понятие сервера и их классификация

При большом числе компьютеров (десятки, сотни и даже тысячи) предприятия чаще всего полагаются на сети модели «клиент-сервер». Упрощенно можно считать, что в такой сети отдельный компьютер подключается к одному или нескольким мощным компьютерам, которые называются серверами.

Сервер – компьютер сети, предоставляющий свои программные и аппаратные ресурсы пользователям сети для хранения данных, выполнения программ и других услуг (например, доступ к общей базе данных, совместное использование устройств ввода/вывода, организацию взаимодействия пользователей и др.).[5]

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

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

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

Пример:

СЕРВЕР

Рис. 1

Как правило, каждый сервер обслуживает один (или несколько схожих) протоколов и серверы можно классифицировать по типу услуг, которые они предоставляют. [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. Модель клиент-сервер

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

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

В комплексе презентационные и коммуникационные возможности, важные и необходимые, в том числе и в образовательном процессе могут быть решены с помощью программ удалённого доступа. Самая распространенная утилита для удаленного управления ПК – это, конечно же, Remote Desktop Connection (RDC), входящая в комплект операционной системы Windows. Этот факт объясняется не столько ее функциональными возможностями, сколько тем, что она является составной частью ОС, а потому приобретать ее отдельно не нужно. Что касается функциональности данной утилиты, то на практике ее, как правило, бывает недостаточно, поэтому нередко используются специализированные программные пакеты сторонних производителей. В таблице 1 приведены данные о некоторых специализированных лицензионных программных пакетах, предназначенных для удалённого управления компьютерами с указанием их стоимости [1]. Заметим, что стоимость лицензионной программы зависит от количества лицензий (числа управляемых ПК)

Обозначенное позволяет констатировать о том, что далеко не все организации, образовательные учреждения могут позволить себе приобрести как необходимое мультимедийное оборудование, так и лицензионное достаточно дорогое программное обеспечение. Выше изложенное послужило идеей для создания программы «Удалённого мониторинга», которая решает необходимый минимум описанных задач, а именно:

– отображает содержимое экрана сервера (управляющего, преподавателя) любому количеству клиентов (сотрудников, обучаемых) – одному, группе, всем одновременно;

– показывает содержимое закачанных учителем из сети Интернет Webстраниц;

– отображает содержимое рабочих станций (одновременно или по очереди), тем самым клиенты (сотрудников, обучаемые) понимают, что их деятельность находится под постоянным контролем;

– контролирует загружаемые из сети Интернет информационные материалы;

– использует дистанционное управление компьютером клиентов (сотрудников, обучаемых);

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

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

– подбор языка программирования для создания данной программы;

– анализ и разработка механизма работы программы, её необходимого состава; – написание программы;

– апробация созданной программы. Результаты первой задачи описаны выше. В качестве языка программирования для написания программы был определён язык Delphi. Пакет программы в своём составе содержит три папки:

1) Klient (people) – устанавливается на ПК клиентов (сотрудников, обучаемых);

2) Klien (teacher) – устанавливается на ПК сервера (управляющего, преподавателя);

3) Server –управляющая папка, устанавливается на все компьютеры, как клиентов, так и сервер.

Апробация программы была проведена на базах учебных заведений МОУ лицея №83 города Тюмени, Тобольского индустриального института и показала хорошие результаты, которые определяются: – презентабельностью, мобильностью, динамичностью проводимых занятий и как следствие повышением эффективности качества обучения; – коммуникационными возможностями, заключающимися в управлении, технической поддержке, контроле ПК удалённых компьютеров, что положительно, отражается на плодотворной деятельности клиентов (сотрудников, обучаемых).

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

2. ТЕХНОЛОГИЯ КЛИЕНТ-СЕРВЕР: НАЗНАЧЕНИЕ И ВОЗМОЖНОСТИ

2.1Клиент-серверные технологии

Архитектура клиент-сервер применяется в большом числе сетевых технологий, используемых для доступа к различным сетевым сервисам. Кратко рассмотрим некоторые типы таких сервисов (и серверов).

Web-серверы

Изначально представляли доступ к гипертекстовым документам по протоколу HTTP (Huper Text Transfer Protocol). Сейчас поддерживают расширенные возможности, в частности работу с бинарными файлами (изображения, мультимедиа и т.п.).

Серверы приложений

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

Серверы баз данных

Серверы баз данных используются для обработки пользовательских запросов на языке SQL. При этом СУБД находится на сервере, к которому и подключаются клиентские приложения.

Файл-серверы

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

Прокси-сервер

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

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

Файрволы (брандмауэры)

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

Почтовые серверы

Представляют услуги по отправке и получению электронных почтовых сообщений.

Серверы удаленного доступа (RAS)

Эти системы обеспечивают связь с сетью по коммутируемым линиям. Удаленный сотрудник может использовать ресурсы корпоративной ЛВС, подключившись к ней с помощью обычного модема.

Это лишь несколько типов из всего многообразия клиент-серверных технологий, используемых как в локальных, так и в глобальных сетях. [2]

Для доступа к тем или иным сетевам сервисам используются клиенты, возможности которых характеризуются понятием «толщины». Оно определяет конфигурацию оборудования и программное обеспечение, имеющиеся у клиента. Рассмотрим возможные граничные значения:

«Тонкий» клиент

Этот термин определяет клиента, вычислительных ресурсов которого достаточно лишь для запуска необходимого сетевого приложения через web-интерфейс. Пользовательский интерфейс такого приложения формируется средствами статического HTML (выполнение JavaScript не предусматривается), вся прикладная логика выполняется на сервере. 
Для работы тонкого клиента достаточно лишь обеспечить возможность запуска web-браузера, в окне которого и осуществляются все действия. По этой причине web-браузер часто называют "универсальным клиентом".[7]

«Толстый» клиент

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

В последнее время все чаще используется еще один термин: «rich»-client. «Rich«-клиент своего рода компромисс между «толстым» и «тонким» клиентом. Как и «тонкий» клиент, «rich»-клиент также представляет графический интерфейс, описываемый уже средствами XML и включающий некоторую функциональность толстых клиентов (например интерфейс drag-and-drop, вкладки, множественные окна, выпадающие меню и т.п.)

Прикладная логика «rich»-клиента также реализована на сервере. Данные отправляются в стандартном формате обмена, на основе того же XML (протоколы SOAP, XML-RPC) и интерпретируются клиентом.

Некоторые основные протоколы «rich»-клиентов на базе XML приведены ниже:

XAML (eXtensible Application Markup Language) — разработан Microsoft, используется в приложениях на платформе .NET;

XUL (XML User Interface Language) — стандарт, разработанный в рамках проекта Mozilla, используется, например, в почтовом клиенте Mozilla Thunderbird или браузере Mozilla Firefox;

Flex — мультимедийная технология на основе XML, разработанная Macromedia/Adobe. [3]

2.2 Многоуровневая архитектура клиент-сервер

Многоуровневая архитектура клиент-сервер — разновидность архитектуры клиент-сервер, в которой функция обработки данных вынесена на один или несколько отдельных серверов. Это позволяет разделить функции хранения, обработки и представления данных для более эффективного использования возможностей серверов и клиентов. [4.С.122]

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

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

прикладные функции, характерные для данной предметной области;

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

Компоненты сетевого приложения

Рис.2. Компоненты сетевого приложения

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

компонент представления отвечает за пользовательский интерфейс;

прикладной компонент реализует алгоритм решения конкретной задачи;

компонент управления ресурсом обеспечивает доступ к необходимым ресурсам. [1]

Автономная система (компьютер, не подключенный к сети) представляет все эти компоненты как на различных уровнях (ОС, служебное ПО и утилиты, прикладное ПО), так и на уровне приложений (не характерно для современных программ). Так же и сеть — она представляет все эти компоненты, но, в общем случае, распределенные между узлами. Задача сводится к обеспечению сетевого взаимодействия между этими компонентами.

Архитектура «клиент-сервер» определяет общие принципы организации взаимодействия в сети, где имеются серверы, узлы-поставщики некоторых специфичных функций (сервисов) и клиенты, потребители этих функций.

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

Двухзвенная архитектура

В любой сети (даже одноранговой), построенной на современных сетевых технологиях, присутствуют элементы клиент-серверного взаимодействия, чаще всего на основе двухзвенной архитектуры. Двухзвенной (two-tier, 2-tier) она называется из-за необходимости распределения трех базовыхкомпонентов между двумя узлами (клиентом и сервером).

Двухзвенная архитектура

Рис.3. Двухзвенная клиент-серверная архитектура

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

Расположение компонентов на стороне клиента или сервера определяет следующие основные модели их взаимодействия в рамках двухзвенной архитектуры:

сервер терминалов — распределенное представление данных;

файл-сервер — доступ к удаленной базе данных и файловым ресурсам;

сервер БД — удаленное представление данных;

сервер приложений — удаленное приложение.

Перечисленные модели с вариациями представлены на рис. 3.

Модели клиент-серверного взаимодействия

Рис.4. Модели клиент-серверного взаимодействия

Исторически первой появилась модель распределенного представления данных (модель сервер терминалов). Она реализовывалась на универсальной ЭВМ (мэйнфрейме), выступавшей в роли сервера, с подключенными к ней алфавитно-цифровыми терминалами. Пользователи выполняли ввод данных с клавиатуры терминала, которые затем передавались на мэйнфрейм и там выполнялась их обработка, включая формирование «картинки» с результатами. Эта «картинка» и возвращалась пользователю на экран терминала. [2]

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

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

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

Преимущества такого подхода очевидны:

возможно централизованное администрирование прикладных функций;

снижение стоимости владения системой (TOC, total cost of ownership) за счет аренды сервера, а не его покупки;

значительное снижение сетевого трафика (т.к. передаются не SQL-запросы, а вызовы хранимых процедур).

Основной недостаток — ограниченность средств разработки хранимых процедур по сравнению с языками высокого уровня.

Реализация прикладного компонента на стороне сервера представляет следующую модель — сервер приложений. Перенос функций прикладного компонента на сервер снижает требования к конфигурации клиентов и упрощает администрирование, но представляет повышенные требования к производительности, безопасности и надежности сервера. [2]

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

Трехзвенная архитектура

Трехзвенная архитектура

Рис.5. Трехзвенная клиент-серверная архитектура

Еще одна тенденция в клиент-серверных технологиях связана со все большим использованием распределенных вычислений. Они реализуются на основе модели сервера приложений, где сетевое приложение разделено на две и более частей, каждая из которых может выполняться на отдельном компьютере. Выделенные части приложения взаимодействуют друг с другом, обмениваясь сообщениями в заранее согласованном формате. В этом случае двухзвенная клиент-серверная архитектура становится трехзвенной (three-tier, 3-tier).

Как правило, третьим звеном в трехзвенной архитектуре становится сервер приложений, т.е. компоненты распределяются следующим образом (рис. 6):

Представление данных — на стороне клиента.

Прикладной компонент — на выделенном сервере приложений (как вариант, выполняющем функции промежуточного ПО).

Управление ресурсами — на сервере БД, который и представляет запрашиваемые данные.

Многозвенная архитектура

Рис.6. Многозвенная (N-tier) клиент-серверная архитектура

Трехзвенная архитектура может быть расширена до многозвенной (N-tier, Multi-tier) путем выделения дополнительных серверов, каждый из которых будет представлять собственные сервисы и пользоваться услугами прочих серверов разного уровня.

2.3 Клиент серверные расчеты

Физически клиент и сервер — это программное обеспечение. Обычно они взаимодействуют через компьютерную сеть посредством сетевых протоколов и находятся на разных вычислительных машинах, но могут выполняться также и на одной машине.

Программы сервера ожидают от клиентских программ запросы и предоставляют им свои ресурсы в виде данных (например, загрузка файлов посредством HTTP, FTP, Torrent, потоковое мультимедиа или работа с базами данных) или сервисных функций (например, работа с электронной почтой, общение посредством систем мгновенного обмена сообщениями, просмотр web-страниц во всемирной паутине).

Преимущества:

Отсутствие дублирования кода программы-сервера программами-клиентами. Так как все вычисления выполняются на сервере, то требования к компьютерам, на которых установлен клиент, снижаются.

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

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

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

Классические недостатки:

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

Поддержка работы данной системы требует отдельного специалиста — системного администратора.

Высокая стоимость оборудования.

Однако, классические недостатки при реализации данного метода не являются существенными, так как:

Производительность сервера, например, при расчете задачи в Microsoft Excel, вообще не является определяющей.

Стоимость оборудования не очень высока, это обычный ПК или ноутбук.

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

3. Структурная схема и практическая реализация метода

Принципиальная схема данного метода:

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

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

После ввода данных клиент прикрепляет исходные данные к письму и отправляет по электронной почте на определенный адрес (адрес сервера) для идентификации его на сервере. В теме письма необходимо указать определенный идентификационный номер.

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

Данный метод реализован и уже в течение 3 лет успешно используется при теплотехническом расчете методом конечных элементов (МКЭ) ограждающих конструкций зданий и сооружений.

Программа «Temper-3d», которая используется для расчета, зарегистрирована в реестре алгоритмов и программ для ЭВМ [4].

Клиентская часть, инструкции, документация, а также другая информация выложена на официальном сайте [5].

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

Ранее (в 2000 г.), в программе «Temper-3d» (версия 4.9) для защиты использовался метод привязки программы к компьютеру пользователя, который не позволял производить бесконтрольное копирование продукта на другой ПК. Также использовались ключи HASP На протяжении более 10 лет этот метод (версия 4.9) успешно использовался, но в настоящее время это не стало отвечать всевозрастающим потребностям. Вот уже 3 года, как реализован метод клиент-серверного обслуживания.

Преимущества данного метода, непосредственно, при реализации такой сложной задачи, как расчет МКЭ:

При расчете требуются достаточно значительные вычислительные мощности.

Отдельные расчеты могут продолжаться от нескольких минут до нескольких часов. При данной реализации удалось перевести расчеты с клиентской части на сервер. Используется технология (тонкий клиент толстый сервер).

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

После приближенного расчета у клиента, происходит отправка данных для расчета на мощный сервер.

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

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

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

Клиентская часть программы “Temper-3d” (версия 6.12), включает в себя три модуля.

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

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

Так как расчет производится на мощном сервере, представляется возможность

производить большие расчеты, до 4 млн. узлов за приемлемое время, около 30-60 мин

Клиентская часть программы «Temper-3d»(версия 6.12), включает в себя три модуля.

ЗАКЛЮЧЕНИЕ

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

программа, установленная на компьютере пользователя, которая может осуществлять сетевой запрос с целью получения объекта, и предназначенная для его обработки (например, просмотра, изменения или печати документа);

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

правила (протокол) взаимодействия между этими программами.

Технология взаимодействия, в которой одна программа запрашивает выполнение какой-либо совокупности действий ("запрашивает услугу"), а другая ее выполняет, называется технологией"клиент-сервер". Участники такого взаимодействия называются соответственно клиентом (client) и сервером (server). Достаточно часто клиентом (или сервером) называют компьютеры, на которых функционирует то или иное клиентское (или серверное) программное обеспечение.

Следует особо отметить, что набор действий, понимаемых как запрашиваемая услуга, – это не обязательно чтение (получение) объекта. В том числе это может быть сохранение (запись), пересылка объекта и т.д. 

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

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

СПИСОК ЛИТЕРАТУРЫ

  1. Бейсова, В. Е. Клиенты - тоже люди! Современные технологии и приемы работы с клиентом / В.Е. Бейсова. - М.: Феникс, 2006. - 208 c.
  2. Буряков, Е. Камасутра переговоров, или Без чего не удовлетворить клиента / Е. Буряков. - М.: Феникс, 2006. - 352 c.
  3. Вайнцвейг, Ари Безупречный сервис. Чтобы каждый клиент чувствовал себя королем / Ари Вайнцвейг. - М.: Добрая книга, 2006. - 152 c
  4. Дрога А. А., Жукова П. Н., Копонев Д. Н., Лукьянов Д. Б., Прокопенко А. Н. Информатика и математика. – Минск, 2011.
  5. Коннолли Т., Бегг К. Базы данных. Проектирование, реализация и сопровождение. Теория и практика — 3-е изд. — М.: «Вильямс», 2012.
  6. Кузнецов С. Д. Основы баз данных. — 1-е изд. — М.: «Интернетуниверситет информационных технологий ИНТУИТ.ру», 2011.
  7. Скотт В. Эмблер, Прамодкумар Дж. Садаладж. Рефакторинг баз данных: эволюционное проектирование — М.: «Вильямс», 2010
  8. Титоренко Г.А. Информационные технологии управления. М., Юнити: 2010.
  9. Кук, Сара Клиент в фокусе. Как поместить интересы клиента в центр внимания вашей организации / Сара Кук. - М.: Баланс-Клуб, 2004. - 272 c.
  10. Улыбин, К.А. Брокер и биржа. Пособие для брокеров и их клиентов / К.А. Улыбин, И.С. Андрошина, Н.Л. Харисова. - М.: Информбизнес, 1991. - 240 c.
  11. Фролов, А.В. Локальные сети персональных компьютеров. Работа с сервером Novell NetWare / А.В. Фролов, Г.В. Фролов. - М.: Диалог-Мифи, 1995. - 168 c.
  12. Шуремов, Е. Информационные технологии управления взаимоотношениями с клиентами / Е. Шуремов. - М.: 1С-Паблишинг, 2005. - 996 c.