Studrb.ru банк рефератов
Консультация и поддержка студентов в учёбе

Главная » Бесплатные рефераты » Бесплатные рефераты по информатике »

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

Понятие и модели архитектуры «клиент-сервер» [25.05.13]

Тема: Понятие и модели архитектуры «клиент-сервер»

Раздел: Бесплатные рефераты по информатике

Тип: Курсовая работа | Размер: 955.01K | Скачано: 242 | Добавлен 25.05.13 в 20:29 | Рейтинг: 0 | Еще Курсовые работы


Содержание

Введение 3

1. Теоретическая часть. Понятие и модели архитектуры «клиент-сервер» 4

1.1. Понятие и эволюция архитектуры «клиент-сервер» 4

1.2. Приложения и базы данных «клиент-сервер» 6

1.3. Классы приложений «клиент-сервер», трехзвенная архитектура «клиент сервер» 8

1.4. Роль промежуточного программного обеспечения в архитектуре «клиент-сервер» 11

1.5. Модели архитектуры «клиент-сервер» 12

2. Практическая часть 14

2.1. Постановка задачи 14

2.2. Компьютерная модель решения задачи 15

2.3. Результаты компьютерного эксперимента и их анализа 23

Заключение 25

Список использованной литературы 26

Приложения 27

 

Введение

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

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

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

Объект изучения – понятие и модели архитектуры «клиент-сервер».

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

 

1. Теоретическая часть. Понятие и модели архитектуры «клиент-сервер»

1.1. Понятие и эволюция архитектуры «клиент-сервер»

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

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

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

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

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

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

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

 

1.2. Приложения и базы данных «клиент-сервер»

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

Рис. 1. Общая архитектура «клиент-сервер» [1]

Рис. 1. Общая архитектура «клиент-сервер» [1]

Взаимодействие клиента и сервера обеспечивается коммуникационным программным обеспечением. Примерами такого программного обеспечения являются набор протоколов TCP/IP,- протоколы OSI, а также различные фирменные архитектуры, вроде SNA.

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

Существенным фактором успеха является метод взаимодействия пользователя с системой, то есть большое значение имеет пользовательский интерфейс клиентской машины. В большинстве систем клиент-сервер графическому интерфейсу пользователя (Graphical User Interface, GUI)  уделяется очень серьезное внимание — он должен быть простым и удобным, но одновременно мощным и гибким. Таким образом, модуль услуг представления на рабочей станции можно считать ответственным за дружественный интерфейс с распределенными приложениями [2, с. 241].

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

На рисунке, представленном в приложении 2, предполагается, что вся прикладная логика —  программы для обработки и анализа данных — располагается на клиентской стороне, тогда как сервер занимается только управлением базой данных. Приемлемость такой конфигурации зависит от стиля и задачи конкретного приложения. Предположим, например, что основная цель приложения заключается в обеспечении доступа для поиска записей в режиме подключения (on-line). Пример работы такой схемы показан в приложении 3. Предположим, что сервер управляет базой данных, содержащей один миллион записей, и пользователь хочет выполнить операцию поиска, результатом которой может быть нуль записей, одна запись или небольшое количество записей. Пользователь может искать эти записи по нескольким критериям поиска (например, записи, сделанные ранее 1992 года; записи, касающиеся жителей штата Огайо; записи, относящиеся к специфическим событиям или характеристикам и т.д.). Начальный запрос клиента вызывает ответ сервера о том, что в базе данных содержится 100 000 записей, удовлетворяющих критериям поиска. При этом пользователь задает дополнительные критерии, и посылает новый запрос. На этот раз сервер отвечает,  что в базе данных содержится 1000 записей, удовлетворяющих критериям поиска. Наконец, клиент посылает третий запрос с дополнительными критериями. Результатом поиска на этот раз является одна запись, которая возвращается клиенту [1].

 

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

В рамках общей структуры приложений клиент-сервер выполняемая работа может быть разделена между клиентом и сервером по-разному. Точная доля исполняемых операций и объем передаваемых по сети данных зависят от природы информации, содержащейся в базе данных, поддерживаемых типов приложений, доступности оборудования, которое может работать совместно,  а также от характера использования данных в организации. Схемы некоторых основных вариантов приложений баз данных показаны в приложении 4. Возможны также другие варианты распределения задач между сервером и клиентом. В приложении изображены четыре класса приложений с разными вариантами распределения задач между сервером и клиентом [3, с. 198].

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

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

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

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

Традиционная архитектура клиент-сервер состоит из двух уровней, или звеньев: клиентского и серверного. В последние годы все большее распространение получает трехзвенная архитектура клиент-сервер (рис. 2).

Рис. 2. Трехзвенная архитектура «клиент-сервер» [1]

Рис. 2. Трехзвенная архитектура «клиент-сервер» [1]

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

 

1.4. Роль промежуточного программного обеспечения в архитектуре «клиент-сервер»

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

Следует обратить внимание, что промежуточное программное обеспечение состоит из двух компонентов —  клиентского и серверного. Основное назначение промежуточного программного обеспечения заключается в обеспечении доступа приложения или пользователя к различным услугам, предоставляемым на серверах, причем так, чтобы не беспокоиться о различиях серверов. Стандартным средством доступа к реляционной базе данных как для локального, так и для удаленного пользователя или приложения является язык структурированных запросов (SQL). Однако многие производители реляционных баз данных, хотя и поддерживают язык SQL, добавили к нему свои собственные расширения. Это, с одной стороны, позволяет производителям различать свою продукцию, но, с другой стороны, приводит к несовместимости [4, с. 156].

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

 

1.5. Модели архитектуры «клиент-сервер»

Рассмотрим четыре подхода, реализованные в моделях технологии «клиент-сервер» [5].

1) FS-модель - базовая для локальных сетей персональных компьютеров. Применялась для разработки информационных систем на базе FoxPRO, Clipper, Paradox. Основные свойства: выделяется файл-сервер для реализации услуг по обработке файлов других узлов сети; работает под управлением сетевых ОС; играет роль компонент доступа к информационным ресурсам; в остальных узлах функционирует приложение, в кодах которого совмещены компоненты представления и прикладной; протокол обмена — набор низкоуровневых вызовов.

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

Недостатки: высокий сетевой трафик; небольшое число операций манипулирования; недостаточные требования к безопасности.

2) RDA-модель. Основные свойства: коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте; доступ к информационным ресурсам обеспечивается операторами непроцедурного языка SQL.

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

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

3) DBS-модель реализована в реляционных СУБД Informix, Ingres, Oracle. Основные свойства: основа модель-механизм хранимых процедур — средство программирования SQL-сервера; процедуры хранятся в словаре базы данных, разделяются между несколькими клиентами и выполняются на компьютере, где функционирует SQL-сервер; компонент представления выполняется на компьютере-клиенте; прикладной компонент и ядро СУБД на компьютере-сервере базы данных.

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

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

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

 

2. Практическая часть

2.1. Постановка задачи

Исходные данные для расчета заработной платы сотрудников организации представлены в таблице 1 и 2.

Таблица 1

Данные о сотрудниках

Табельный номер

Фамилия

Отдел

Оклад, руб.

Надбавка, руб.

001

Иванова И.И.

Отдел кадров

7000,00

4000,00

002

Петрова П.П.

Бухгалтерия

9500,00

3000,00

003

Сидорова С.С.

Отдел кадров

6000,00

4500,00

004

Мишин М.М.

Столовая

6500,00

3500,00

005

Васин В.В.

Бухгалтерия

7500,00

1000,00

006

Львов Л.Л.

Отдел кадров

4000,00

3000,00

007

Волков В.В.

Отдел кадров

3000,00

3000,00

Таблица 2

Данные об учете рабочего времени

Табельный номер

Количество рабочих дней

Количество отработанных дней

001

23

23

002

23

20

003

27

27

004

23

23

005

23

21

006

27

22

007

23

11

1. Построить таблицы по приведенным ниже данным.

2. В таблице 3 для заполнения столбцов «Фамилия» и «Отдел» использовать функцию ПРОСМОТР ().

Таблица 3

Графы таблицы для заполнения ведомости заработной платы

Табельный номер

Фамилия

Отдел

Сумма по окладу, руб.

Сумма по надбавке, руб.

Сумма зарплаты, руб.

НДФЛ, %

Сумма НДФЛ, руб.

Сумма к выдаче, руб.

 

 

 

 

 

 

13

 

 

Всего

 

 

 

 

 

 

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

4. Сформировать документ «Ведомость заработной платы сотрудников.

5. Данные результатной таблицы отсортировать по номеру отдела и рассчитать итоговые суммы по отделам.

6. Построить и проанализировать графический отчет по полученным результатам.

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

 

2.2. Компьютерную модель решения задачи смотрите в файле

 

Заключение

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

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

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

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

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

 

Список использованной литературы

  1. Архитектура «клиент-сервер» [Электронный ресурс]. – Режим доступа: http://portal.tpu.ru/SHARED/f/FAS/study/avis/lectures/cli-se.pdf.
  2. Информатика в экономике: учебное пособие / под ред. Б.Е. Одинцова, А.Н. Романова. – М.: Вузовский учебник, 2011. – 480 с.
  3. Информационная безопасность: учебник / под ред. Т.Л. Партыки, И.И. Попова. – М.: Форум, 2012. – 432 с.
  4. Компьютерные сети: учебное пособие / под ред. Е.О. Новожилова, О.П. Новожилова. – М.: Академия, 2011. – 304 с.
  5. Модели архитектуры «клиент-сервер [Электронный ресурс]. – Режим доступа: http://www.neudov.net/4students/otvety-po-pive/modeli-arxitektury-klient-server/. – 2011.
  6. Основные понятия технологии «клиент-сервер» [Электронный ресурс]. – Режим доступа: http://www.mkgt.ru/files/material-static/tema1/client-server/client-server.htm.
  7. Программное обеспечение компьютерных сетей: учебное пособие / под ред. О.В. Исаченко. – М.: Инфра-М, 2012. – 120 с.

Внимание!

Если вам нужна помощь в написании работы, то рекомендуем обратиться к профессионалам. Более 70 000 авторов готовы помочь вам прямо сейчас. Бесплатные корректировки и доработки. Узнайте стоимость своей работы

Бесплатная оценка

0
Размер: 955.01K
Скачано: 242
Скачать бесплатно
25.05.13 в 20:29 Автор:

Понравилось? Нажмите на кнопочку ниже. Вам не сложно, а нам приятно).


Чтобы скачать бесплатно Курсовые работы на максимальной скорости, зарегистрируйтесь или авторизуйтесь на сайте.

Важно! Все представленные Курсовые работы для бесплатного скачивания предназначены для составления плана или основы собственных научных трудов.


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

Добавить работу


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


Добавление отзыва к работе

Добавить отзыв могут только зарегистрированные пользователи.


Похожие работы

Консультация и поддержка студентов в учёбе