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

Технология «клиент-сервер» (Теоретические основы технологии «Клиент - сервер»)

Содержание:

Введение

Сфера применения информационных систем постоянно расширяется,

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

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

Сложность проектирования и разработки таких систем высока, а методы и средства, используемые при реализации таких проектов, отличаются от разработки «монолитных» систем.

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

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

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

Цель работы - изучить технологию клиент - сервер.

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

- теоретические основы технологии клиент - сервер;

- технологию построения  клиент-сервер как концепция локальной сети;

- различные модели технологии «Клиент - сервер».

Глава 1.Теоретические основы технологии «Клиент - сервер»

1.1Серверы. Основные понятия серверов

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

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

Часто люди просто называют клиент или сервер компьютером, на котором запущена одна из этих программ.

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

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

Как правило, пользователи компьютеров и высокой вычислительной мощности и отличные свойства персональных компьютеров требуют. Поэтому пользователи должны регулярно обращаться к персональным компьютерам для редактирования текстов или выполнения задач, использующих электронные таблицы для выполнения сложных вычислений. Это заставляет пользователей освоить 2 различных операционных систем (на больших машинах обычно установлены OC MVS, VMS, VM, UNIX, а на персональных - MS DOS/MS Windows, OS/2 или Mac) и не решает задачи совместного использования данных.[1, с.19]

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

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

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

1.2 Модель «Клиент-сервер»

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

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

В файл-серверной системе данные хранятся на файловом сервере (например, Novell NetWare или Windows NT Server), а их обработка осуществляется на рабочих станциях, на которых, как правило, функционирует одна из, так называемых, «настольных СУБД» - Access, FoxPro, Paradox и т.п…

Приложение на рабочей станции «отвечает за все» - за создание пользовательского интерфейса, логическую обработку данных и непосредственное управление данными.[3, с.42]

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

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

Хранением и непосредственным манипулированием данными занимается сервер баз данных, в качестве которого может выступать Microsoft SQL Server, Oracle, Sybase и т.п…

https://studfiles.net/html/2706/211/html_Q1E8ft9xnl.niOT/img-aYMUh6.png

Рис.1 Сравнение файл-серверной и клиент-серверной моделей

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

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

Сервер баз данных изменяет данные на основе механизма транзакций, любое количество транзакций, которые были объявлены как транзакции, дает следующие свойства:

- Автономность-при любых обстоятельствах, все операции выполняются или не выполняются; целостность данных, если сделка завершена;

- Независимость-транзакции, инициированные разными пользователями, не мешают друг другу;

- Устойчивость к сбоям-после завершения сделки ваши результаты больше не будут потеряны.[3, с.62]

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

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

Общеизвестно, что возможности десктопных СУБД серьезно ограничены, составляют от пяти до семи пользователей и 30-50 МБ. Цифры, конечно, одни средние значения, в некоторых случаях они могут отличаться в ту же сторону, что и в других. Самое главное, эти барьеры можно преодолеть с помощью строительной техники.

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

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

Глава 2.Технология построения « Клиент-сервер» как концепция локальной сети

2.1.Технология «Клиент - сервер»

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

Со временем низко - работающая файл-серверная модель для Ethernet (FS) была заменена моделью структуры «клиент-сервер» (RDA, DBS, AS).[6, с.77]

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

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

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

2.2. Классическая двухуровневая архитектура «Клиент - сервер»

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

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

https://works.doklad.ru/images/b_WBz8swNHk/31b25bc0.jpg

Рис. 2 - Архитектура «Клиент - сервер»

Компьютер (или программа), который управляет и/или владеет ресурсом, называется сервером этого ресурса.

Компьютер (или программа), который запрашивает и использует каждый ресурс называется клиентом этого ресурса.

Клиент и сервер могут находиться на одном компьютере (PC), а также на разных компьютерах в сети. Также может возникнуть ситуация, когда один программный блок будет одновременно выполнять функции сервера по отношению к одному блоку и одного клиента по отношению к другому. Основным принципом клиент-серверной технологии является разделение функций программы как минимум на три группы:

- модули пользовательского интерфейса;

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

- модули хранения данных;

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

- модули обработки данных (Функции управления ресурсами);

Эта группа также называется логикой доступа к данным или алгоритмами доступа к данным.

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

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

Следующие компоненты выделены в каждом приложении в соответствии с функциональным подразделением:

- Компонент просмотра данных;

- Прикладной компонент;

- Компонент управления ресурсами.

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

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

Чтобы избежать несогласованности различных элементов архитектуры были созданы две модификации двухзвенной архитектуры «Клиент - сервер»: «Толстый клиент» («Тонкий сервер») и «Тонкий клиент» («Толстый сервер»).[8, с.112]

В данных архитектурах разработчики попытались выполнять обработку данных на одной из двух физических частей - либо на стороне клиента («Толстый клиент»), либо на сервере («Тонкий клиент).

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

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

ESDI до сих пор представляет собой классическую двухуровневую архитектуру" клиент-сервер", тогда необходимо помнить следующее :

- архитектура «Толстый сервер» аналогична архитектуре «Тонкий клиент» (Рисунок 3).

Передача запроса от клиента на сервер, обработка запроса сервером и передача результата клиенту.

https://works.doklad.ru/images/b_WBz8swNHk/m12463294.jpg

Рис. 3 - Архитектура «Тонкий клиент»

В этом случае архитектуры имеют следующие недостатки:

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

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

- программы, написанные на языках баз данных, обычно работают недостаточно надежно; ошибка может привести к сбою всего сервера баз данных;

- программы, полученные таким образом, совершенно нетерпимы к другим системам и платформам.

- архитектура тонкого сервера аналогична архитектуре толстого клиента (Рис. 4).

Запрос обрабатывается на стороне клиента, т. е. все исходные данные передаются от сервера к клиенту. В этом случае архитектуры имеют следующие недостатки:

- трудно уточнить програмное обеспечение потому что его необходимо заменить в тоже время через всю систему;

- усложняется распределение полномочий, поскольку разграничение доступа происходит не по актам, а по таблицам;

- перегружает сеть, передавая необработанные данные;

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

https://works.doklad.ru/images/b_WBz8swNHk/m1d9108f9.jpg

Рис. 4 - Архитектура «Толстый клиент»

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

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

2.3. Различные модели технологии «Клиент - сервер»

Самой первой базовой технологией для локальных сетей являлась модель файлового сервера (FS). В свое время данная технология была очень среди отечественных разработчиков, использовавших такие системы, как FoxPro, Clipper, Clarion, Paradox и так далее.

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

Технология взаимодействия клиента и сервера выглядит следующим образом: запрос направляется на файловый сервер, который передает СУБД, размещенной на компьютере-клиенте, требуемый блок данных. Вся обработка осуществляется на терминале (Рис. 5).

Обмен журнал представляет собой набор вызовов, разрешить приложению доступ к файловой системе на файл-сервере.

https://works.doklad.ru/images/b_WBz8swNHk/m4f12ae6b.jpg

Рис. 5 - Модель файлового сервера

Преимуществами данной технологии являются:

- простота разработки приложений;

- удобство администрирования и обновления ПО из-за компактного расположения всех компонентов на одном компьютере;

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

Но преимущества FS-модели перекрывают ее недостатки:

- большая загрузка сети;

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

- дорогостоящее серверное оборудование, так как все пользователи делятся своими ресурсами;

- нет GUI.[10, с.124]

Благодаря решению проблем, присущих технологии файлового сервера, была внедрена более продвинутая технология под названием "Клиент-Сервер".

Для современных СУБД архитектура "клиент-сервер" фактически стала стандартом. Предполагая, что проектируемая сетевая технология имеет клиент-серверную архитектуру, это означает, что прикладные программы, реализуемые в их рамках, имеют распределенный характер, т. е. некоторые прикладные функции реализуются в одной клиентской программе, а другие в одной серверной программе.

Разница в реализации приложений в клиент-серверной технологии определяются четырьмя факторами:

Типы программного обеспечения в логических компонентах;

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

- как логические компоненты компьютеров распределены по сети;

- какие механизмы используются для соединения компонентов друг с другом.

Исходя из этого, выделяются три подхода, каждый из которых реализован в соответствующей модели технологии «Клиент - сервер»:

- модель доступа к удаленным данным (Remote Date Access - RDA);

- модель сервера базы данных (DateBase Server - DBS);

- модель сервера приложений (Application Server - AS).

Рассмотрим функции и характеристики различных моделей технологии «Клиент-сервер».

Модель доступа к удаленным данным (RDA) - сетевая архитектура технологии «Клиент - сервер», при которой коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Доступ к информационным ресурсам обеспечивается при помощи непроцедурного языка (например ,SQL – запросов для баз данных) или вызовами функций специальной библиотеки (если имеется специальный интерфейс прикладного программирования - API).

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

https://works.doklad.ru/images/b_WBz8swNHk/255e480e.jpg

Рис. 6 - Модель доступа к удаленным данным

Модель RDA имеет ряд ограничений.

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

Во-вторых, удовлетворительное Управление приложениями в модели RDA практически невозможно. Если в четвертом поколении (4GL) различные функции (функции дисплея и чисто прикладные функции) смешаны в такой же программе, то вы должны переписать всю программу если необходимый.

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

Несмотря на широкое применение, модель RDA уступает более технологичной модели DBS.

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

В DBS-модели приложение является распределенным. Компонент представления выполняется на компьютере-клиенте, в то время как прикладной компонент (реализующий бизнес-функции) оформлен как набор хранимых процедур и функционирует на компьютере-сервере БД. Хранимые процедуры также называют компилируемыми резидентными процедурами или процедурами базы данных (рисунок 7).

https://works.doklad.ru/images/b_WBz8swNHk/a7823bc.jpg

Рис. 7 - Модель сервера базы данных

Преимущества модели DBS, RDA-модели очевидны: это и возможность управлять различными функциями и сокращать сетевой трафик, поскольку вызовы хранимых процедур вместо SQL запросов передаются по сети, и возможность разделения процедуры между множеством приложений, и экономия ресурсов компьютера за счет использования ранее созданного плана выполнения процедур. Однако есть и недостатки.

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

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

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

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

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

Заключение

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

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

Реальное распространение клиент-серверной архитектуры стало возможным благодаря разработке и широкой реализации концепции открытых систем на практике.

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

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

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

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

Список литературы

1.Веретенникова Е.Г. Информатика: Учебное пособие. Серия «Учебный курс». / Под ред. Е.Г. Веретенниковой, С.М. Патрушиной, Н.Г. Савельевой. - Ростов н / Д: Издательский центр «МарТ», 2015. - 416с.

2.Воройский Ф.С. Информатика. Новый систематизированный толковый словарь / Ф.С. Воройский. - М.: 2013. - 143 c.

3.Гиляревский Р.С. Основы информатики: Курс лекций / Р.С. Гиляревский - М.: Издательство «Экзамен», 2013. - 320с.

4.Евсюков В.В. Экономическая информатика: Учеб.пособ. / Под ред. В.В. Евсюкова. - Тула: Издательство «Гриф и К», 2017. - 371с.

5.Зелковиц М.Б. Принципы разработки программного обеспечения / М. Зелковиц, А. Шоу, Дж. Гэннон. - М.: Мир, 2013. - 364 c.

6.Каймин В.А. Информатика: Учебник. - 3-е изд. / Под ред. В.А. Каймина. - М.: ИНФРА-М, 2015. - 272с.

7.Клячкин В. Н. Статистические методы в управлении качеством. Компьютерные технологии / В.Н. Клячкин. - М.: Финансы и статистика, Инфра-М, 2015. - 304 c.

8.Косарев В.П. Экономическая информатика: Учебник / Под ред. В.П. Косарева и Л.В. Еремина. - М.: Финансы и статистика, 2016. - 592с.

9.Макарова Н.В. Информатика: Учебник. - 3-е перераб. изд. / Под ред. Н.В. Макаровой. - М.: Финансы и статистика, 2014. - 768 с.

10.Острейковский В.А. Информатика: Учеб.для вузов. / Под ред. В.А. Острейковского. - М.: Высш. шк., 2016. - 511с.

11.Стефанюк В.Л. Локальная организация интеллектуальных систем / В.Л. Стефанюк. - М.: 2014. - 193c.

12.Фролов А.В. Локальные сети персональных компьютеров. Работа с сервером / А.В. Фролов, Г.В. Фролов. - М.: Диалог-Мифи, 2015. - 168 c.