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

Модель клиент-сервер (Определение сервера и клиента)

Содержание:

Введение

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

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

В связи с данными предпосылками в конце XX века (в 90-х годах) была создана модель «Клиент-сервер», которая является одной из технологий реализации программных приложений. Особенность данной технологии заключается в делении приложения на два уровня: первый – клиент -предоставление данных и второй - сервер БД - хранение данных. На «Клиенте» происходит обработка информации, на «Сервер» отправляются запросы и обрабатываются в соответствии полученных в ответ на них данные. Данная технология предоставляет возможность быстрого обмена информацией между пользователем и ресурсами.

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

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

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

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

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

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

Системы такого уровня основанны на классической двухуровневой клиент-серверной архитектуре (Two-tierarchitecture).

Целью данной работы является исследование и раскрытие построения сетевой технологии модели «Клиент-Сервер».

В процессе исследования и достижения поставленной цели были решены следующие задачи:

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

- объяснение понятий «Клиент», «Сервер», «Сетевая технология»;

- раскрытие принципов построения архитектуры модели «Клиент-Сервер»;

- изучение принципов функционирования модели «Клиент-Сервер»;

- использование технологии «клиент – сервер» сегодня.

Предметом и объектом исследования является архитектура модели «Клиет-Сервер».

Глава 1. Архитектура модели «Клиент-сервер».

Определение сервера и клиента

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

Рис.1. Вычислительная сеть как сложный комплекс взаимосвязанных программных и аппаратных компонентов [3]

В основе любой сети лежит аппаратный слой стандартизированных компьютерных платформ, серверов, рабочих станций и ПК. В настоящее время в сетях успешно работают компьютеры различных классов — от персональных до мейнфреймов и супер-Эвм [6].

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

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

■взаимодействие операционной системы с другими сетевыми операционными системами;

■ какой уровень безопасности и защищенности данных она может обеспечить;

■ какое число пользователей может обрабатывать одновременно;

■ возможно, ли перенести ее на компьютер другого типа и др.

Самый верхний, четвертый слой содержит множество сетевых приложений: сетевые базы данных, средства передачи и архивирования данных, системы автоматизации коллективной работы и т.д. Очень важно представлять диапазон возможностей, предоставляемых приложениями для различных областей применения, а также знать, насколько они совместимы с другими сетевыми приложениями и операционными системами [3].

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

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

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

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

2. Сервер (программное обеспечение) — программное обеспечение, принимающее запросы от клиентов (в архитектуре клиент-сервер).

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

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

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

1.2 Модель клиент-сервер

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

Рис.2. Модель «Клиент-Сервер» [9]

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

Рис.3. Модель клиент-сервер в распределенной системе [9].

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

Формат запроса клиента и ответа сервера определяется через протоколы. Спецификации открытых протоколов описываются открытыми стандартами, например, протоколы Интернета определяются в документах RFC.

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

1.3. Понятие прикладных протоколов

Необходимо различать понятия сетевых приложений и протоколов прикладного уровня. Протоколы прикладного уровня являются большей частью сетевых приложений. Рассмотрим два примера. Web является сетевым приложением, позволяющим пользователям получать web-документы по запросу и состоящим из множества компонентов, включая стандарт формата документов (HTML), браузеры (Netscape Navigator, Microsoft Internet Explorer и др.), web-серверы (например, Apache, Microsoft или Netscape), протоколы прикладного уровня. Протокол прикладного уровня для web носит название – «протокол передачи гипертекста» (Hyper Text Transfer Protocol, HTTP) и описывает формат и порядок обмена сообщениями между клиентом и сервером (RFC 2646). Таким образом, HTTP является лишь только частью web-приложения.

Или, например, рассмотрим приложение электронной почты. Электронная почта Интернета в своей основе множество компонентов: почтовых серверов, содержащих почтовые ящики пользователей, программ для просмотра и создания электронных писем, стандартов, описывающих структуру электронных писем, протоколов прикладного уровня, регламентирующих порядок обмена сообщениями серверов между собой и с оконечными системами пользователей, а также интерпретацию полей, из которых состоят электронные письма. Основным протоколом прикладного уровня для электронной почты является протокол простой передачи сообщений (Simple Mail Transfer Protocol, SMTP). Как мы видим, SMTP (RFC 2821) — лишь часть (хотя и достаточно большая) структуры приложений электронной почты.

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

- типы различных сообщений, например, запросы и ответы;

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

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

- правила, описывающие события, которые вызывают генерацию сообщений.

Некоторые из протоколов прикладного доступа (HTTP, SMTP и др.) являются официальной документацией в RFC. Это означает, что если разработчик нового браузера будет придерживаться стандарта, то браузер сможет получать документы с любого web-сервера, выстроенному по тому же стандарту. Однако существует большое количество протоколов прикладного уровня, которые не имеют стандартов и при этом используются для поддержки коммерческих продуктов - это характерно для Интернет-телефонии [5].

1.4 Представление данных в системах обработки данных

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

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

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

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

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

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

На уровне логическом представления данных не учитываются технические и математические элементы обеспечения системы (тип ЭВМ, типы памяти, язык программирования, операционная система).

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

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

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

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

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

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

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

Выводы главы:

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

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

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

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

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

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

Глава 2. Основные принципы построения распределённых информационных систем

2.1 Основные принципы структурного подхода

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

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

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

2.2Концепции и принципы объектного подхода.

Основные понятия объектно-ориентированного подхода - объект, класс и экземпляр.

Объект - это какое-то множества предметов реального мира, обладающих одинаковыми характеристиками и законами в поведении. Объект представляет собой типичный неопределенный элемент такого множества. Экземпляр объекта - это конкретный определенный элемент множества. Например, в банковском деле объектом является некоторый лицевой счет, а экземпляром этого объекта - лицевой счет №123.

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

Таким образом, объект - это типичный представитель класса, а термины "экземпляр объекта" и "элемент класса" являются равнозначными понятиями.

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

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

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

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

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

2.3. Особенности применения объектного подхода

Объекты - сущности, инкапсулирующие данные, - это основные элементы, моделирующие реальный мир. В отличие от структурного подхода, где основное внимание уделяется функциональной декомпозиции, в объектном подходе предметная область разбивается на некоторое множество относительно независимых сущностей – объектов [10]. Объектная декомпозиция, отраженная в спецификациях и кодах приложений, есть главное отличие объектного подхода. Например, объект "Покупатель" может представлять собой структуру данных, хранящую детализированную информацию о покупателе: его имя, адрес и состояние банковского счета.

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

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

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

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

Выводы главы.

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

Основной принцип управления любой сложной системой был известен давно: "devide et impera" - "разделяй и властвуй". Согласно этому принципу, сложная программная система на верхнем уровне должна состоять из небольшого числа относительно независимых компонентов с четко определенными интерфейсами. Таким образом система представляется иерархией с несколькими уровнями абстракции.

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

Заключение

Наиболее бурно развивающимся направлением в области информационных технологий в последние годы стала разработка программного обеспечения на основе архитектуры клиент-сервер, связанного с сетью Internet и системами Intranet, основывающиеся на технологию Webи язык Java. Объектные, распределенные технологии консорциумов OMG и ODMG интегрируются в общие тенденции, расширяя и обобщая их. Примечательно, что все ведущие производители систем Internet/Intranet, включая Sun, IBM, Netscape, Microsoft, встраивают в свои продукты поддержку КС совместимых протоколов.

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

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

  1. Брюхомицкий Ю. Введение в информационные системы. Таганрог: Изд-во ТРТУ, 2001
  2. Информатика: учебник/ Б.В. Соболь [и др.]-Изд. 3-е, дополн.и перераб. — Ростов н/Д: Феникс, 2007.
  3. Информационные технологии: учебник / под ред. В. В. Трофимова. — М.: Издательство Юрайт ; ИД Юрайт, 2011. — 624 с. — (Основы наук).
  4. Кроуз, Джеймс. Компьютерные сети: Нисходящий подход/ Джеймс Кроу. Кит. Росс. – 6-е издание. – Москва: Издательство «Э», 2016г.
  5. Кустов А.И. Информационные технологии в экономике: Учебное пособие / А.И. Кустов, О.Я. Кравец – Воронеж: ВЭПИ, 2006.
  6. Ладыженский, Г. Технология «клиент-сервер» и мониторы транзакций / Г. Ладыженский // Открытые системы. — 1994. — № 3. [Электронный ресурс] Режим доступа: http://www.osp.ru/os/1994/03/178494/.
  7. Объектные технологии построения распределенных информационных систем. http://www.osp.ru/dbms/1997/03/13031544/
  8. Студопедия. Модель клиент-сервер и микроядра http://studopedia.ru/18_31693_model-klient-server-i-mikroyadra.html
  9. Таненбаум Э., Вудхалл А. Операционные системы. Разработка и реализация (+CD). Классика CS. 3-е изд. — СПб.: Питер, 2007.
  10. Федорова Г. H. Информационные системы: учебник для студ. Учреждений сред. проф. образования / Г. Н. Федорова. — 3-е изд., стер. — М. : Издательский центр «Академия», 2013.