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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

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

ГЛАВА 1. ОПРЕДЕЛЕНИЕ ПОНЯТИЯ - МОДЕЛИРОВАНИЯ И АРХИТЕКТУРА КЛИЕНТ-СЕРВЕР

1.1 Понятие моделирования

С начала 90-х годов XX века широко распространена такая технология реализации программных приложений как архитектура "клиент-сервер". Основная особенность данной архитектуры состоит в том, что приложение разделяется на два уровня - представление данных (клиент) и хранение данных (сервер БД). Обработка информации происходит на стороне клиента, а на сервер отсылаются запросы и обрабатываются полученные в ответ на них данные [[1]]. Архитектурная модель состоит из терминов процессоров, которые в свою очередь взаимодействуют как клиент и/или сервер. Данные термины необходимы для ссылок на процессоры, которые выполняют функции необходимые для конкретного взаимодействия [[2]]. Процессор выполняет функцию обеспечения услугами управления данными, которые в свою очередь используются другими процессорами для того, чтобы представлять возможности информационной системы [[3]].

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Архитектура "клиент-сервер". Как правило, программы и компьютеры, являющиеся частью информационной системы - неравноправны. Что-то из них владеет ресурсами (процессор, база данных, принтер, файловая система), а что-то имеет права обращаться к данным ресурсам. Программа или компьютер, которые могут управлять ресурсами, называют сервером этого ресурса (вычислительный сервер, сервер БД, файл-сервер). сервер и клиент отдельно взятого ресурса могут располагаться как на различных компьютерах - связанных сетью, так и в одной вычислительной системе [[7]].

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

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

Именно поэтому, практически в каждом приложении можно выделить следующие компоненты:

  • Компонент представления данных.
  • Компонент управления ресурсом.
  • Прикладной компонент.

Связь между всеми компонентами осуществляется происходит по определенным правилам их называют -протокол взаимодействия [[8]].

1.2. Цели стандартизации управления данными

В системе стандартизации управления данными существуют сеющие целы и задачи:

  • Стандартизация поддержки для распределённых сценариев.
  • Стандартизация управления транзакциями БД.
  • Снижение сложности обработки данных.
  • Обеспечение независимости размещения.
  • Повышение общей производительности в сценариях.
  • Стандартизация импорта и экспорта БД.
  • Обеспечение мобильности приложений.
  • Обеспечение независимости данных.
  • Стандартизация использования средств моделирования данных.

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

При стандартизации поддержки распределённых БД, важно учитывать следующие пункты:

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

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

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

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

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

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

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

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

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

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

1.3. Основные преимущества архитектуры «Клиент-Сервер».

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

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

Быстродействие – является основным фактором целесообразности разработки систем используется для функционирования архитектуры клиент-сервер. Технологи серверов баз данных становятся проще в использовании и хорошо сочетаются в одних системах со принципом «Rapid Application Development». Соответственно, ожидается, что благодаря данной скоростной и практически защищенной платформы сократится время, которое требуется для подготовки и передачи прикладной программы юзеру. Привлекательность ГИП или Графического Интерфейса Пользователя – так же является одним из факторов, склоняющих пользователей к использованию архитектуры клиент-сервер [[9]].

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

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

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

Понятия клиент и сервер, а также закреплённые за ними роли создают,

программную концепцию «клиент-сервер». Модель клиент-сервер является еще одним подходом к структурированию ОС.

Если рассматривать модель клиент-сервер в общих словах, то она, несомненно, подразумевает наличие программного компонента, то есть потребителя какого-либо сервиса - клиента, а также программного компонента - поставщика этого самого сервиса, то есть сервера. Процесс взаимодействия между сервером и клиентом является стандартной процедурой, поэтому сервер может обслуживать клиентов, множеством различных способов и, может быть, разно-производительным. В таком случае главным требованием является то, чтобы клиенты запрашивали услуги сервера понятным для него способом [[11]]. Инициатором обмена практически всегда является клиент, который отсылает запрос на обслуживание серверу, находящемуся в режиме ожидания запроса. Один и тот же программный компонент может быть как клиентом, так и сервером в зависимости от вида услуг [[12]].

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

Клиент, которым может быть либо прикладная программа, либо другой компонент ОС - запрашивает сервис, по средством отсылки сообщения на сервер. Ядро операционной системы или микроядро, совершая работу в привилегированном режиме, доставляет сообщение релевантному серверу, а в свою очередь сервер выполняет данную операцию, после чего уже ядро возвращает полученные результаты клиенту с помощью ответного сообщения [[13]]. Для взаимодействия с клиентом или клиентами (при наличии возможности параллельного взаимодействия), сервер выделяет требуемые ресурсы меж-процессного взаимодействия (сокет, пайп, разделяемая память итд) и переходит в ожидание запроса на открытие соединения или запросов на предоставляемый сервис. В зависимости от типологии ресурса, сервер сможет обслуживать процессы в пределах одной компьютерной системы либо процессы на других машинах через каналы передачи данных – к примеру сетевые соединения или COM-порт [[14]].

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

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

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

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

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

1.4. Основные роли архитектуры «Клиент-Сервер».

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

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

  • Атомарность – все операции транзакции будут выполнены вне зависимости от обстоятельств, либо не будет выполнена ни одна.
  • Целостность данных при завершении транзакции.
  • Независимость – транзакции не вмешиваются в дела друг друга, если были инициированы разными пользователями
  • Устойчивость к сбоям – результаты транзакции не продадут после её завершения [[18]].

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

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

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

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

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

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

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

Многопротокольность это способность систем управления базами данных поддерживать прикладные программы, первоначально направленные на разные типы СУБД. В более простом представлении это специальный компонент ядра систем управления базами данных на сервере или драйвер ODBC который способен понимать запросы, обрабатывать их и отсылать результаты обработки запросов на клиентские установки, находящиеся под управлением реляционных СУБД не «родных» типов [[22]].

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

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

  • Пользовательский интерфейс.
  • Правила логической обработки.
  • Управление данными, но при этом не стоит пусть физические уровни с логическими слоями [[23]].

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

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

Выбор серверных операционных систем для корпоративных сетей на базе персональных компьютеров - огромен: OS/2, UNIX, Windows NT, Mac OS с сетевыми службами и Novell NetWare, AppleTalk и AppleShare. Обычно данные системы имеют возможность работать как в качестве программного обеспечеения клиента, так и в качестве ПО для сервера. Однако так же имеют место быть и «младшие» версии для настольных компьютеров. Такие программные продукты как OS/2 Workstation и Windows NT Workstation, и программное решение для рабочей станции от NetWare. В сумме все они представляют собой несколько упрощённые версии своих полных версий, работающих на серверах [[24]].

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

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

При более гибкой - симметричной обработке система с её поддержкой приобретает два важных преимущества. Возрастает отказоустойчивость, так как один процессор в силах справиться с любой задачей, отказ одного конкретного процессора не приведёт к отказу всей системы. А также улучшается распределение нагрузки, так как операционная система способна распределять всю нагрузку среди процессоров «равномерным слоем» и благодаря этого, пресекается вероятность появления узких мест из-за слишком частых обращений к одним процессорам и пренебрежения остальными [[25]].

ГЛАВА 2. АРХИТЕКТУРА И КЛАСТЕР СЕРВЕРОВ

2.1. Состав архитектуры «Клиент-Сервер» и её проблемные места.

Выделяют несколько базовых программных компонента архитектуры «клиент-сервер»:

  • Программное обеспечение сервера.
  • Программное обеспечение конечного пользователя.
  • Промежуточное обеспечение.

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

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

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

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

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

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

Когда вызывается удалённая процедура программы RPC, то производится преобразование форматов данных клиента в промежуточные машинно-независимые форматы, а затем всё преобразовывается в форматы данных сервера. При передаче ответных параметров производятся аналогичные преобразования. В том случае, если система реализована на основе стандартного пакета RPC, она может быть легко перемещена в любую открытую среду [[30]]. Реальное распространение архитектуры «клиент-сервер» является возможным только благодаря широкому внедрению в практику и развитию концепции открытых систем.

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

Клиент-серверная система управления базой данных опирается на несколько типов распределения обязанностей между сервером и клиентом:

  • Смешанные системы.
  • Многоуровневые системы.
  • «Интеллектуальный» сервер.
  • «Интеллектуальные» клиенты.

Схема реализации выбирается на основе анализа требований к:

  • Сетевому графику.
  • Производительности базы данных.
  • Ресурсам клиента и сервера.

2.2. «Интеллектуальные» клиенты.

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

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

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

«Интеллектуальные» серверы – если перенести все бизнес-правила на SQL Server, где они реализуются в виде хранимых процедур, то создаётся «интеллектуальный» сервер. Роль сервера в такой клиент-серверной системе намного шире, чем у простого хранилища файлов, доступного множеству пользователей сети. Интеллект сервера проявляется в способности выполнять SQL-запросы и в качестве ответа возвращать результирующий набор данных.

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

Достоинства смешанных систем:

  • Часть бизнес-логики может быть реализована в клиентской части.
  • Эффективность работы клиентов меньше зависит от сетевого трафика.
  • Серверный код такой как хранимые процедуры SQL сервера, может быть одновременно доступен многим клиентам, что снижает накладные затраты при выполнении однотипных запросов.

Недостатки смешанных систем:

  • Модернизация приложения требует распространения новых версий клиентской части среди широкой аудитории [[32]].
  • Бизнес-логика распределена между сервером и клиентом.

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

  • Сервер базы данных.
  • Клиентское приложение.
  • Кластер серверов 1С: Предприятие.

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

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

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

Администрирование «клиент-серверного» варианта и его развёртыванием выполняется достаточно просто - создание базы данных производится непосредственно в процессе запуска конфигуратора как в случае с файловым вариантом [[34]].

Клиентские приложения. Работа в клиент-серверном варианте возможна как через веб-сервер, так и напрямую с кластером. При этом в случае непосредственного подключения к кластеру тонкий и толстый клиент используют протокол TCP/IP, а в случае подключении через веб-сервер тонкий клиент и веб-клиент используют протокол HTTP или HTTPS.

2.3. Кластер серверов

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

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

  • Microsoft SQL Server.
  • Oracle Database.
  • IBM DB2.
  • PostgreSQL.

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

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

На сервере выполняются:

  • Запросы к базе данных.
  • Выполнение обработок.
  • Проведение документов.
  • Формирование отчётов.
  • Подготовка форм к отображению.
  • Различные расчёты.

На клиенте выполняется:

  • Получение и открытие форм.
  • Работа с локальными файлами.
  • «Общение» с пользователем, предупреждения, вопросы.
  • Работа с торговым оборудованием [[37]].
  • Небольшие расчеты в формах, требующие быстрой реакции такие как умножение цены на количество.

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

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

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

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

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

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

Для расширения функциональности тонкого клиента прибегают к его модернизации или «утолщению», например, добавляют возможность автономной работы, сохраняя главное отличие - работу в сессии с терминальным сервером. Когда в таком клиенте появляются подвижные детали и возможности автономной работы, он перестаёт быть тонким клиентом в чистом виде, а становится универсальным клиентом. Тонкий клиент в большинстве случаев обладает минимальной аппаратной конфигурацией, вместо жесткого диска для загрузки локальной специализированной операционной системы используется «DiskOnModule» -модуль с разъёмом IDE, микросхемой и флэш-памятью имитирующий логику обычного жёсткого диска. В BIOS он определяется как обычный жёсткий диск, только размер его обычно в несколько меньше. Бывают так же и конфигурации системы в которых тонкий клиент загружает операционную систему по сети напрямую с сервера [[40]].

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

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

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

Преимуществом трехуровневой архитектуры является:

  • Между сервером приложения и клиентской программой передаётся лишь минимально необходимый поток данных - аргументы вызываемых функций и возвращаемые от них значения. Это теоретический предел эффективности использования линий связи, даже работа с ANSI-терминалами, не говоря уже об использование протокола http, требует большей нагрузки на сеть.
  • Дешёвый трафик между сервером приложений и системой управления базой данных. Трафик между сервером приложений и СУБД может быть огромным, однако это всегда трафик локальной сети, а их пропускная способность достаточно дешева и велика. В крайнем случае всегда можно запустить сервер приложений и СУБД на одной машине, что автоматически сведёт передаваемый сетевой трафик к нулю.
  • Меньшая нагрузка на «Тонкий клиент».
  • Сервер приложения ИС может быть запущен в одном или нескольких экземплярах на одном или нескольких компьютерах, что позволяет использовать вычислительные мощности организации столь эффективно и безопасно как этого пожелает администратор ИС.
  • Снижение нагрузки на сервер данных по сравнению с 2,5слойной схемой, а значит и увеличение скорости работы системы в целом.
  • Дешевле наращивать функциональность и обновлять ПО.

К недостаткам архитектуры можно отнести более высокие расходы на обслуживание и администрирование серверной части, а также высокие требования к клиентским вычислительным установкам, так как прикладные программы обработки данных, определяемые спецификой предметной области информационной системы, выполняются на них. Другим недостатком является все же существенный трафик сети, обусловленный тем, что с сервера базы данных клиентам направляются наборы (таблицы) данных, которые в определенных случаях могут занимать достаточно внушительный объем [[41]]. Масштабируемость систем, выполненных по трёхуровневой архитектуре очень высока, и одна и та же система может работать как на одном отдельно стоящем компьютере, выполняя на нем программы СУБД, сервера приложений и клиентской части, так и в сети, состоящей из десятков и даже тысяч машин [[42]].

ЗАКЛЮЧЕНИЕ

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

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

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

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

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

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. ГОСТ 34.321-96. Информационные технологии. Система стандартов по базам данных. Эталонная модель управления данными
  2. Альперович М. Еще раз об архитектуре "клиент-сервер". // Компьютер-Информ,- №2,- 1997.
  3. Архипова З.В,.Пархомов В.А Информационные технологии в экономике: Учеб. пособие Иркутск: Изд-во БГУЭП, 2003
  4. Ахтырченко К.В., В. В. Леонтьев Распределенные объектные технологии в информационных системах 2005
  5. Боуман Д., C. Эмерсон, М. Дарновски “Практическое руководство по SQL” Изд. “Диалектика”, Киев, 1997.
  6. Васкевич Д. Стратегии клиент/сервер. Диалектика, Киев, 1997.
  7. Вендров А. М. Проектирование программного обеспечения экономических информационныхсистем. М., 2006;
  8. Воройский Ф.С. Систематизированный толковый словарь по информатике. (Вводный курс по информатике и вычислительной технике в терминах.) – М: Либерия, 1998
  9. Вудворд Дж. «Технология совместной работы» 2004
  10. Гайдамакин Н. А. Автоматизированные информационные системы, базы и банки данных. Вводный курс.Учебное пособие. М.: Гелиос АРВ, 2002
  11. Горев А., С. Макашарипов, Ю. Владимиров “SQL Server 6.5 для профессионалов” изд. “Питер” Санкт-Петербург, 1998
  12. Гурвиц Геннадий Microsoft Access 2010 Разработка приложений на реальном примере. — СПб.: БХВ-Петербург, 2010
  13. Грабауров В.А. Информационные технологии для менеджеров/В.А. Грабауров. - М.: Изд-во «Финансы и статистика», 2001
  14. Дейт К.Дж. Введение в системы баз данных /К.Дж. Дейт - Москва: ДМК, 2000.Дейт К. Дж. Введение в системы баз данных - 8-е изд. — М.: «Вильямс», 2006.
  15. Дрога А. А., Жукова П. Н., Копонев Д. Н., Лукьянов Д. Б., Прокопенко А. Н. Информатика и математика. Белгород.: Белгородский юридический институт МВД РФ, 2008
  16. Дубаков А.А. СЕТЕВОЕ ПРОГРАММИРОВАНИЕ Учебное пособие Санкт-Петербург 2013
  17. Дуглас Камер, Дэвид Л. Стивенс, Сети TCP/IP, том 3. Разработка приложений типа клиент/сервер, издательство «Вильямс», 2002 г
  18. Дуглас Камер, Дэвид Л. Стивенс, Сети TCP/IP Разработка приложений типа клиент/сервер 2002
  19. Евгений aka Saturn. История магнитного складирования // UPgrade : журнал. — 2011.
  20. Коржов Валерий. Многоуровневые системы клиент-сервер. Издательство Открытые системы (17 июня 1997).
  21. Кузнецов Д. Институт системного программирования РАН, Ассоциация пользователей ОС UNIX (SUUG), Московская секция ACM SIGMOD
  22. Крёнке "Теория и практика построения баз данных", 8-е издание, Харьков 2003 г.
  23. Кравец Олег Яковлевич Сети ЭВМ и телекоммуникации: современные технологии : (Учеб. пособие по направлению <Информатика и вычисл. техника>) / О.Я. Кравец, Р.А. Гараев - Уфа : УГАТУ, 2004
  24. Компания "1C-Автоматизация" Продажа, внедрение, установка и настройка программ 1C:Предприятие. Обучение 1C 2018
  25. Коннолли Т., Бегг К. Базы данных. Теория и практика — 3-е изд. — М.: «Вильямс», 2003
  26. Конноли Т. Базы данных. Проектирование, реализация и сопровождение /Т. Конноли, К. Бегг. - Москва: Вильяме, 2003.
  27. Кузнецов С. Д. Основы баз данных. — 1-е изд. — М.: «Интернет-университет информационных технологий – ИНТУИТ.ру», 2005
  28. Курбанов А.Х., Плотников В.А. Аутсорсинг: история, методология, практика: Монография. — М.: ИНФРА - М, 2012.
  29. Ладыженский Г. М. Технология "клиент-сервер" и мониторы транзакций. Открытые cистемы. - 1994
  30. Лири Д.О - ERP Системы. Современное планирование и управление ресурсами предприятия.– М.: Вершина, 2004
  31. Лодыженский Г.М.Системы баз данных. Коротко о главном. СУБД.1995.
  32. Луценко, Е.В. Интеллектуальные информационные системы/ Е.В. Луценко, Краснодар: КубГАУ, 2006.
  33. Мухамедзянов H., Java. Серверные приложения, - Издательство: СОЛОН - Р, 2003
  34. Практ. рук. / У.Р. Стивенс - СПб. : БХВ-Петербург 2101c Нев. диалект, 2003.
  35. Профессиональная литература, Блог компании Издательский дом «Питер» Книга «Компьютерные сети. Принципы, технологии, протоколы» 29.03.2016
  36. Роберт Орфали, Дэн Харки, "JAVA и CORBA в приложениях клиент-сервер" 2004
  37. Скотт Мюллер. — 17-е изд. — М.: Вильямс, 2007Стивенс, Уильям Ричард Протоколы TCP/IP : Тейлор А.Дж. SQL для «чайников» /А.Дж. Тейлор.- Москва: Вильяме, 2005
  38. Скотт В. Эмблер, Прамодкумар Дж. Садаладж. Рефакторинг баз данных: эволюционное проектирование — М.: «Вильямс», 2007.
  39. Федоров Алексей, Наталия Елманова Введение в базы данных Часть 3. Серверные СУБД 2003
  40. Хомоненко А.Д. Базы данных /А.Д. Хомоненко, В.М. Цыганков - Санкт-Петербург: БХВ-Петербург, 2004
  41. 10-я Международная научно-техническая конференции «Современные проблемы радиотехники и телекоммуникации рт-2014» Севастополь 2014г.
  1. Научная библиотека диссертаций disserCat http://www.dissercat.com/content/povyshenie-urovnya-informatsionnogo-servisa-v-raspredelennykh-proizvodstvennykh-sistemakh-na#ixzz5I5iroekD(Дата обращения 9.06.2018)

  2. H. Мухамедзянов, Java. Серверные приложения, - Издательство: СОЛОН - Р, 2003

  3. Крёнке "Теория и практика построения баз данных", 8-е издание, Харьков 2003 г.

  4. ГОСТ 34.321-96. Информационные технологии. Система стандартов по базам данных. Эталонная модель управления данными.

  5. А.А. Дубаков СЕТЕВОЕ ПРОГРАММИРОВАНИЕ Учебное пособие Санкт-Петербург 2013

  6. Дуглас Камер, Дэвид Л. Стивенс, Сети TCP/IP Разработка приложений типа клиент/сервер 2002

  7. Г.М.Лодыженский Системы баз данных. Коротко о главном. СУБД.1995.

  8. Алексей Федоров, Наталия Елманова Введение в базы данных Часть 3. Серверные СУБД 2003

  9. Дуглас Камер, Дэвид Л. Стивенс, Сети TCP/IP, том 3. Разработка приложений типа клиент/сервер, издательство «Вильямс», 2002 г

  10. Роберт Орфали, Дэн Харки, "JAVA и CORBA в приложениях клиент-сервер" 2004

  11. Дейт К. Дж. Введение в системы баз данных - 8-е изд. — М.: «Вильямс», 2006.

  12. Коннолли Т., Бегг К. Базы данных. Теория и практика — 3-е изд. — М.: «Вильямс», 2003

  13. Кузнецов С. Д. Основы баз данных. — 1-е изд. — М.: «Интернет-университет информационных технологий - ИНТУИТ.ру», 2005

  14. Дрога А. А., Жукова П. Н., Копонев Д. Н., Лукьянов Д. Б., Прокопенко А. Н. Информатика и математика. – Белгород.: Белгородский юридический институт МВД РФ, 2008

  15. Профессиональная литература, Блог компании Издательский дом «Питер» Книга «Компьютерные сети. Принципы, технологии, протоколы» 29.03.2016

  16. Евгений aka Saturn. История магнитного складирования // UPgrade : журнал. — 2011.

  17. Скотт Мюллер. — 17-е изд. — М.: Вильямс, 2007

  18. Тейлор А.Дж. SQL для «чайников» /А.Дж. Тейлор.- Москва: Вильяме, 2005

  19. .Д. Кузнецов Институт системного программирования РАН, Ассоциация пользователей ОС UNIX (SUUG), Московская секция ACM SIGMOD

  20. Хомоненко А.Д. Базы данных /А.Д. Хомоненко, В.М. Цыганков - Санкт-Петербург: БХВ-Петербург, 2004

  21. Дейт К.Дж. Введение в системы баз данных /К.Дж. Дейт - Москва: ДМК, 2000.

  22. Конноли Т. Базы данных. Проектирование, реализация и сопровождение /Т. Конноли, К. Бегг. - Москва: Вильяме, 2003.

  23. Альперович М. Еще раз об архитектуре "клиент-сервер".// Компьютер-Информ,- №2,- 1997.

  24. Альперович М. Построение распределенных информационных систем на базе Microsoft SQLServer. //Компьютер-Информ,- №4,- 1997.

  25. Воройский Ф.С. Систематизированный толковый словарь по информатике. (Вводный курс по информатике и вычислительной технике в терминах.) – М: Либерия, 1998

  26. Вудворд Дж. «Технология совместной работы» 2004

  27. А. Горев, С. Макашарипов, Ю. Владимиров “SQL Server 6.5 для профессионалов” изд. “Питер” Санкт-Петербург, 1998

  28. Д. Боуман, C. Эмерсон, М. Дарновски “Практическое руководство по SQL” Изд. “Диалектика”, Киев, 1997.

  29. Microsoft Press “Секреты создания интрасетей” изд. “Питер” Санкт-Петербург, 1998.

  30. http://newcity.ho.ua/bd/glava_97.htm Сервер Информационных Технологий (Дата обращения 09.07.2018)

  31. Грабауров В.А. Информационные технологии для менеджеров/В.А. Грабауров. - М.: Изд-во «Финансы и статистика», 2001

  32. 38 К. В. Ахтырченко, В. В. Леонтьев Распределенные объектные технологии в информационных системах 2005

  33. Луценко, Е.В. Интеллектуальные информационные системы/ Е.В. Луценко, Краснодар: КубГАУ, 2006.

  34. 2018 Компания "1C-Автоматизация" Продажа, внедрение, установка и настройка программ 1C:Предприятие. Обучение 1C

  35. .Курбанов А.Х., Плотников В.А. Аутсорсинг: история, методология, практика: Монография. — М.: ИНФРА - М, 2012.

  36. http://v8.1c.ru/overview/Term_000000033.htm (Дата обращения 12.07.2018)

  37. . Д.ОЛири - ERP Системы. Современное планирование и управление ресурсами предприятия.– М.: Вершина, 2004

  38. Валерий Коржов. Многоуровневые системы клиент-сервер. Издательство Открытые системы (17 июня 1997).

  39. Кравец Олег Яковлевич Сети ЭВМ и телекоммуникации: современные технологии : (Учеб. пособие по направлению <Информатика и вычисл. техника>) / О.Я. Кравец, Р.А. Гараев - Уфа : УГАТУ, 2004

  40. Стивенс, Уильям Ричард Протоколы TCP/IP : Практ. рук. / У.Р. Стивенс - СПб. : БХВ-Петербург 2101c Нев. диалект, 2003.

  41. Гайдамакин Н. А. Автоматизированные информационные системы, базы и банки данных. Вводный курс.Учебное пособие. М.: Гелиос АРВ, 2002

  42. Вендров А. М. Проектирование программного обеспечения экономических информационныхсистем. М., 2006;