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

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

Содержание:

ВВЕДЕНИЕ

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

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

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

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

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

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

Задачи:

- рассмотреть понятие и сущность технологии "клиент-сервес";

- изучить модель клиент-сервер;

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

- изучить трехзвенную архитектуру «клиент-сервер»;

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

- выявить перспективы использования трехзвенной архитектуры «клиент-сервер».

Объект исследования - «клиент-сервер».

Предмет исследования - технология «клиент-сервер».

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

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

ГЛАВА 1 ТЕОРЕТИЧЕСКИЕ АСПЕКТЫ ТЕХНОЛОГИИ КЛИЕНТ-СЕРВИСА

1.1 Понятие и сущность технологии "клиент-сервис"

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

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

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

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

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

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

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

Сервер – это компьютер, или выполняющаяся на нём программа, которая предоставляет клиентам доступ к общим ресурсам и управляет этими ресурсами.

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

СЕРВЕР

Рис. 1.1. - Модель клиент-сервер.

В серверных сетях серверы оснащены процессорами типа Intel Pentium 4 и сетевой операционной системой.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ГЛАВА 2 ИСПОЛЬЗОВАНИЕ ТРЕХЗВЕННОЙ АРХИТЕКТУРЫ «КЛИЕНТ-СЕРВЕР» В СОВРЕМЕННЫХ СИСТЕМАХ ОБРАБОТКИ ИНФОРМАЦИИ

2.1 Архитектурные решения многопользовательского доступа к данным

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

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

По мере развития информационных тех­нологий довольно быстро возникла необходи­мость одновременного доступа к одному и тому же информационному массиву (базе данных) не­скольких пользователей. Так возникла концеп­ция многопользовательских или распределен­ных систем управления базами данных (СУБД). Хронологически первой многопользовательской технологией работы с данными стала централи­зованная архитектура. При использовании этой технологии база данных, СУБД и прикладная программа (клиентское приложение) распола­гаются на одном и том же компьютере [1]. При этом многопользовательский режим работы обе­спечивается либо за счет разделения вычисли­тельных ресурсов между пользователями, либо за счет разделения времени доступа клиентских приложений к этим ресурсам. Понятным недо­статком этой архитектуры является значитель­ное снижение производительности системы при увеличении числа пользователей [2].

Развитие компьютерных сетей и массовое внедрение персональных компьютеров дало воз­можность появления нового типа архитектуры, получившим название «файл-сервер». Эта тех­нология организации совместной работы в вы­числительной сети предполагает выделение од­ного из компьютеров исключительно под задачи ввода-вывода и хранения данных. Клиентские приложения пользователей при такой органи­зации программной архитектуры самостоятель­но выполняют всю необходимую обработку дан­ных, а ресурсы компьютера-сервера использу­ют для хранения информации в виде отдельных файлов [2, 3]. Существенным недостатком такой архитектуры также является небольшое число клиентов, способных одновременно работать с базой данной без заметного снижения произво­дительности системы из-за физических ограни­чений на количество одновременного возмож­ных сеансов доступа к одному и тому же файлу. Также к недостаткам данной архитектуры отно­сят ее низкую надежность и безопасность [3].

Пришедшая на смену архитектуре «файл­сервер» архитектура «клиент-сервер» предпо­лагает наличие в сети выделенного компьюте­ра-сервера, на котором располагается СУБД и хранятся базы данных. Клиентские приложе­ния не могут обращаться непосредственно к данным, монопольным правом на доступ к ин­формации обладает СУБД. Сервер обеспечи­вает интерпретацию запросов клиентов на до­ступ к данным, их выполнение за счет взаимо­действия с базой данных, формирование резуль­татов их выполнения и передачу этих резуль­татов приложениям-клиентам. Взаимодействие приложений-клиентов и СУБД стандартно ре­ализуются на структурном языке запросов SQL (Structured Query Language), а соответствующие базы данных принято называть реляционными [4]. Поскольку выполнение запроса происходит на сервере, там же, где хранятся данные, то нет необходимости в пересылке больших объемов информации, по сети предаются только запро­сы клиентов и результаты их выполнения, что значительно повышает быстродействие системы и снижает время ожидания результата запроса. Дополнительным преимуществом архитектуры является обеспечение высокой надежности ме­ханизма поддержания целостности базы данных и безопасности при одновременной работе боль­шого числа пользователей за счет системы тран­закций и разграничения доступа [4, 5].

Рис. 2.1. Концепция трехзвенной архитектуры «клиент-сервер» [6]

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

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

2.2 Трехзвенная архитектура «клиент-сервер»

В результате развития технологии «клиент­сервер» была предложена новая, трехзвенная архитектурная модель программного комплек­са (рисунок 1) [6].

Трехзвенная (трехуровневая, а также иногда многозвенная или многоуровневая) архитекту­ра подразумевает наличие в системе трех основ­ных компонентов:

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

К основным преимуществам трехзвенной ар­хитектуры относятся:

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

2.3 Пример использования трехзвенной архитектуры при построении информационной системы

Трехзвенная архитектура построения мно­гопользовательской программной системы для работы с базами данных была успешно использована нами при реализации программ­ной задачи (ПЗ) «Контроль исполнения» из со­става комплекса программных средств (КПС) «Инспекторские проверки», разработанной для нужд Федеральной таможенной службы Российской Федерации.

Клиентское программное обеспечение разра­батывалось в виде Windows Forms приложений с использованием языка программирования C# в среде инструментальной разработки Microsoft Visual Studio 2010 и языка серверной части PL/ SQL СУБД Oracle.

Программное обеспечение сервера приложе­ний разрабатывалось с использованием языка программирования C# в среде инструменталь­ной разработки Microsoft Visual Studio 2010.

В соответствии с требованиями технического задания на разработку ПЗ «Контроль исполне­ния» в качестве СУБД в системе применялись:

  • на сервере баз данных - ORACLE Database Server версии 10g или выше
  • на сервере приложений - ORACLE Client версии 10g или выше и MS .NET Data Provider for Oracle.

В соответствии с трехзвенной архитекту­рой общая концепция обработки данных в ПЗ «Контроль исполнения» предполагает разделе­ние его составляющих на три уровня:

  • уровень клиента;
  • уровень доступа к данным;
  • уровень данных.

Далее подробно рассмотрим каждый из уров­ней.

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

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

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

Использование хранимых процедур диктует­ся следующими причинами:

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

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

Рис. 2.2 Структура функционирования программной задачи «Контроль исполнения»

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

  • для хранения регистрационных параме­тров КПС;
  • для выполнения задач организации разгра­ничения доступа к ресурсам системы;
  • для описания перечня таблиц базы данных (сущностей предметной области) и основных атрибутов этих сущностей;
  • для организации мониторинга действий пользователей;
  • для организации протоколирования изме­нений базы данных.

На уровне базы данных реализуется ряд об­щесистемных хранимых процедур и триггеров БД. В частности они обеспечивают:

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

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

В процессе работы системы возникают следу­ющие потоки данных:

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

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

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

Ядром ПЗ «Контроль исполнения» является сервер приложений, который выполняет следу­ющие функции:

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

2.4 Перспективы использования трехзвенной архитектуры «клиент-сервер»

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

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

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

ЗАКЛЮЧЕНИЕ

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

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

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

  1. Александреску, А. Язык программирования D / А. Александреску. - СПб.: Символ-плюс, 2014. - 544 c.
  2. Ашарина, И.В. Основы программирования на языках C и C++ / И.В. Ашарина. - М.: ГЛТ, 2012. - 208 c.
  3. Баженова, И.Ю. Языки программирования: Учебник для студентов учреждений высш. проф. образования / И.Ю. Баженова; Под ред. В.А. Сухомлин. - М.: ИЦ Академия, 2012. - 368 c.
  4. Белоусова, С.Н. Основные принципы и концепции программирования на языке VBA в Excel: Учебное пособие / С.Н. Белоусова, И.А. Бессонова. - М.: БИНОМ. ЛЗ, 2010. - 200 c.
  5. Бьянкуцци, Ф. Пионеры программирования. Диалоги с создателями наиболее популярных языков программирования / Ф. Бьянкуцци, Ш. Уорден. - М.: Символ, 2011. - 608 c.
  6. Бьянкуцци, Ф. Пионеры программирования: Диалоги с создателями наиболее популярных языков программирования / Ф. Бьянкуцци, Ш. Уорден; Пер. с англ. С. Маккавеев. - СПб.: Символ-Плюс, 2011. - 608 c.
  7. Бэгг К., Конноли Т., Страчан А. Базы дан­ных: проектирование, реализация и сопровождение. Теория и практика. 2-е изд. М.: Вильямс, 2000.
  8. Воронин В.В., Семченко П.Н. Концепция кли­ент - серверной среды динамических экспертных си­стем // Интеллектуальные системы, 2010. №3. C. 95­100.
  9. Головин, И.Г. Языки и методы программирования: Учебник для студентов учреждений высшего профессионального образования / И.Г. Головин, И.А. Волкова. - М.: ИЦ Академия, 2012. - 304 c.
  10. Дейт К. Дж. Введение в системы баз данных. 8-е изд. М.: Вильямс, 2005.
  11. Довек, Ж. Введение в теорию языков программирования / Ж. Довек, Ж.-Ж. Леви. - М.: ДМК, 2016. - 134 c.
  12. Карпова Т. Базы данных. Модели, разработка, реализация. СПб.: Питер, 2001.
  13. Керниган, Б. Язык программирования C. / Б. Керниган, Д.М. Ритчи. - М.: Вильямс, 2016. - 288 c.
  14. Кренке Д. Теория и практика построения баз данных. 8-е изд. СПб.: Питер, 2003.
  15. Мартин Дж. Организация баз данных в вычис­лительных системах. М.: Мир, 1980.
  16. Опалева, Э.А. Языки программирования и методы трансляции. / Э.А. Опалева. - СПб.: BHV, 2005. - 480 c.
  17. Орлов, С. Теория и практика языков программирования: Учебник для вузов. Стандарт 3-го поколения / С. Орлов. - СПб.: Питер, 2013. - 688 c.
  18. Пирс, Б. Типы в языках программирования / Б. Пирс. - М.: КДУ, 2012. - 680 c.
  19. Серебряков, В.А. Теория и реализация языков программирования / В.А. Серебряков. - М.: Физматлит, 2012. - 236 c.
  20. Фридман, А.Л. Основы объектно-ориентированного программирования на языке Си++ / А.Л. Фридман. - М.: Гор. линия-Телеком, 2012. - 234 c.
  21. Хейлсберг, А. Язык программирования C#. Классика Computers Science / А. Хейлсберг, М. Торгерсен, С. Вилтамут. - СПб.: Питер, 2012. - 784 c.
  22. Цуканова, Н.И. Теория и практика логического программирования на языке Visual Prolog 7: Учебное пособие для вузов / Н.И. Цуканова, Т.А. Дмитриева. - М.: Гор. линия-Телеком, 2013. - 232 c.
  23. Microsoft Developer Network - Chapter 5: Layered Application Guidelines. http://msdn.microsoft.com/.