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

Методологические аспекты архитектуры клиент-сервера

Содержание:

Введение

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

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

Физически, клиент и сервер представляют собой программы, например, в качестве основного признается браузер на любом персональном компьютере. В свою очередь, в качестве сервера выступают все HTTP сервера (в частности Apache), MySQL сервер, локальный веб-сервер AMPPS или готовая сборка Denwer.

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

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

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

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

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

Целью курсовой работы является подробное теоретическое и методологическое изучение модели «клиент-сервер». Для достижения поставленной цели определены следующие задачи:

  1. рассмотреть сущность и основные характеристики технологии «клиент-сервер»;
  2. изучить архитектуру модели «клиент-сервер»;
  3. провести сравнительную характеристику действующих архитектур.

Объектом курсовой работы признается информационная среда, в которой осуществляет функционирование модель «клиент-сервер», а предметом – сущность и основные компоненты технологии «клиент-сервер».

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

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

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

1. Теоретические аспекты технологии клиент-сервер

1.1 Сущность и основные характеристики технологии клиент-сервер

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

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

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

Графически технология клиент-сервер представлена на рисунке 1. [2, c.85]

запросы

запросы

Рис. 1 – Технология клиент-сервер

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

Необходимо выделить ряд основных характеристик, которые отличают вычислительную модель клиент-сервер от обычных схем распределённых вычислений: [3, c.73]

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

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

3) технология обеспечивает отрытые и модульные системы, что даёт пользованию широкий выбор продуктов и свободу в объединении оборудования от различных производителей.

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

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

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

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

Среди преимуществ технологии клиент-сервер необходимо выделить следующие: [1, c.97]

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

В свою очередь, к недостаткам технологии клиент-сервер необходимо отнести:

  1. отсутствие рабочего сервера делает неработоспособной всю вычислительную сеть;
  2. необходим отдельный специалист в роли системного администратора для поддержания рабочей данную систему;
  3. высокая стоимость оборудования. 

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

Клиент (пользовательский интерфейс)

Клиент (пользовательский интерфейс)

Сервер приложений (бизнес-логика»

Сервер БД (управление данными)

Клиент (пользовательский интерфейс)

Рис.2 – Многоуровневая архитектура клиент-сервер [6, c.49]

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

Коммутатор

Клиент 1

Клиент 2

Сервер

Клиент 4

Клиент 3

Рис. 3 – Сеть с выделенным сервером [10, c.67]

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

В пределах многоуровневого представления вычислительной системы стоит отметить 3 группы функций, которые направленные на решение различных подзадач: [9, c.82]

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

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

Рис. 4 – Компоненты сетевого приложения [3, c.94]

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

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

1.2 Архитектура «клиент-сервер»

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

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

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

Клиент

Сервер

БД

запрос

ответ

Рис. 5 – Двухзвенная клиент-серверная архитектура [2, c.76]

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

  1. сервер терминалов — распределенное представление данных;
  2. файл-сервер — доступ к удаленной базе данных и файловым ресурсам;
  3. сервер БД — удаленное представление данных;
  4. сервер приложений — удаленное приложение.

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

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

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

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

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

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

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

Преимуществами данного подхода являются: [4, c.56]

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

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

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

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

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

Зачастую, в качестве третьего звена в трехзвенной архитектуре выступает сервер приложений, иными словами компоненты распределяются в следующем виде: [6, c.73]

  1. предоставление данных - на стороне клиента;
  2. прикладной компонент - находится на выделенном сервере приложений;
  3. управление ресурсами - находится на сервере базы данных, представляющий собой запрашиваемые данные. 

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

2. Методологические аспекты архитектуры клиент-сервера

2.1 Модель клиент-сервер, как основа построения информационных сервисов сети Интернет

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

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

Большинство систем Интернет построены по принципу взаимодействия «каждый с каждым», например, система World Wide Web, т.е. каждый пользователь может напрямую взаимодействовать с каждым сервером без посредников. Такой подход позволяет упростить всю технологическую схему построения системы, однако, приводит к порождению большого трафика в Сети. Альтернативный вариант построения системы, например, системы Usenet, когда пользователь может взаимодействовать только со «своим» сервером и не может обратиться к произвольному серверу в Сети. Однако, доступ он получает ко всей информации, которая присутствует в данной информационной системе, т.к. серверы обмениваются ею между собой.

2.2 Сравнительная характеристика действующих архитектур

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

Трехзвенная архитектура сложнее, что позволяет распределять функции между серверами второго и третьего уровня, данная архитектура показывает: [10, c.86]

  1. высокий уровень масштабированному и гибкости;
  2. высокий уровень безопасности;
  3. высокий уровень производительности. 

Надежность

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

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

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

Масштабируемость 

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

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

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

Безопасность

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

Гибкость 

В приложении, работающем с данными, можно выделить три логических слоя: [1, c.73]

  1. пользовательского интерфейса;
  2. правил логической обработки (бизнес-правил);
  3. управления данными. 

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

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

  1. Web-серверы;
  2. серверы приложений;
  3. серверы баз данных;
  4. файл-серверы;
  5. прокси-серверы;
  6. файрволы;
  7. почтовые серверы;
  8. серверы удаленного доступа.

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

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

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

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

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

Файрволы[2] представляют собой межсетевые экраны, способные фильтровать и анализировать сетевой трафик для обеспечения безопасности сети. 

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

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

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

Необходимо рассмотреть возможные граничные значения: [9, c.62]

  1. «тонкий клиент»;

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

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

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

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

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

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

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

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

  1. XAML (eXtensible Application Markup Language) — разработан Microsoft, используется в приложениях на платформе .NET;
  2. XUL (XML User Interface Language) — стандарт, разработанный в рамках проекта Mozilla, используется, например, в почтовом клиенте Mozilla Thunderbird или браузере Mozilla Firefox;
  3. Flex — мультимедийная технология на основе XML, разработанная Macromedia/Adobe.

Заключение

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

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

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

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

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

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

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

Список использованных источников

  1. Гагарина Л.Г., Теплова Я.О., Румянцева Е.Л., Баин А.М. Информационные технологии – Форум, 2016. – 742 с.
  2. Гохберг Г.С., Зафиевский А.В., Короткин А.А. Информационные технологии: учебник – Академия, 2017. – 156 с.
  3. Кудинов Ю.И., Пащенко Ф.Ф., Келина А.Ю. Практикум по основам современной информатики – Академия, 2018. – 356 с.
  4. Лобанова Н.М., Алтухова Н.Ф. Эффективность информационных технологий: учебник и практикум – Юрайт, 2017. – 263 с.
  5. Максимов Н.В., Партыка Т.Л., Попов И.И. Архитектура ЭВМ и вычислительных систем – Юрайт, 2017. – 213 с.
  6. Михеева Е.В. Практикум по информационным технологиям в профессиональной деятельности – Кнорус, 2017. – 256 с.
  7. Синаторов С.В. Информационные технологии: задачник – Кнорус, 2016. – 275 с.
  8. Советов Б.Я., Цехановский В.В. Информационные технологии: учебник – Юрайт, 2017 – 384 с.
  9. Стариченко Б.Е. Теоретические основы информатики – Юрайт, 2016. – 400 с.
  10. Шкрыль А. Разработка клиент-серверных приложений - Кнорус, 2016. - 480 c.
  1. большой универсальный высокопроизводительный отказоустойчивый сервер со значительными ресурсами ввода-вывода, большим объемом оперативной и внешней памяти, предназначенный для использования в критически важных системах с интенсивной пакетной и оперативной транзакционной обработкой.

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