Основы сетевых информационных технологий

Автор работы: Пользователь скрыл имя, 11 Ноября 2010 в 23:22, Не определен

Описание работы

1.1. Модель взаимосвязи открытых систем
1.1.1. Сетевой режим обработки информации
1.2. Технология клиент-сервер
1.2.1. Модель файлового сервера. (FS)
1.2.2. Модель доступа к удаленным данным (RDA)
1.2.3. Модель сервера баз данных (DBS)
1.2.4. Модель сервера приложений (AS)
1.3. Многоуровневые системы клиент-сервер
1.4. Системы технологической почты
1.5.Технология работы в среде распределенной обработки данных
1.6.Базовые технологии обработки запросов в архитектурах
файл-сервера и клиент-сервера
1.7. Корпоративные технологии
1.7.1. СППР

Файлы: 1 файл

Tema4. 5 КУРС.doc

— 1,011.00 Кб (Скачать файл)

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

    На  сегодняшний день используются ПК на базе процессоров Pentium под управлением ОС/2 MS Windows (распространенность, популярность, большое число приложений, широкий набор активно используемых русифицированных продуктов). Самое важное достоинство MS Windows - множество средств быстрой разработки приложений, работающих с SQL-ориентированными СУБД, и доступность этих средств для отечественных пользователей.

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

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

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

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

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

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

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

Двухуровневая клиент-серверная архитектура основана на использовании только сервера базы-данных (DB-сервера), когда клиентская часть содержит уровень представления данных, а на сервере находится БД вместе с СУБД и прикладными программами.

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

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

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

Обращение к БД осуществляется на языке SQL, который стал стандартом для реляционных БД. Поэтому сервер БД называют SQL-сервером, который поддерживается всеми реляционными СУБД: Oracle, Informix, MS SQL, ADABAS D, InterBase, SyBase и др.

Клиентское  приложение может быть реализовано  на языке настольных СУБД (MS Access, FoxPro, Paradox, Clipper и др.). При этом взаимодействие клиентского приложения с SQL-сервером осуществляется  через ODBC-драйвер (Open Data Base Connectivity), который обеспечивает возможность пересылки и преобразования данных из глобальной БД в структуру БД клиентского приложения.

                                                Представление

                                         данных пользователя                        Приложение                       База данных                                                                  

Централизованная

          Система 

Архитектура

«Файл-сервер» 
 

Двухуровневая

   архитектура

«клиент-сервер» 

Трехуровневая

   Архитектура

«клиент-сервер» 
 
 

Многоуровневая

Архитектура

«клиент-сервер» 
 

Рис.2. Варианты клиент-серверной архитектуры КЭИС 

Трехуровневая клиент-серверная архитектура позволяет помещать прикладные программы на отдельные серверы приложений, с которыми через API-интерфейс (Application Program Interface) устанавливается связь клиентских рабочих станций. Клиентская часть приложения вызывает необходимые функции сервера приложения, называемые «сервисами». Прикладные программы в свою очередь обращаются к серверу БД с помощью SQL запросов. Такая организация позволяет повысить производительность и эффективность КЭИС за счет:

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

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

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

4.3. Многоуровневые системы  клиент-сервер 

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

Классическая  система клиент-сервер работает по схеме "запрос-ответ" (двухуровневая  архитектура). Клиент выполняет активную функцию (запросы), сервер пассивно на них отвечает.

  

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

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

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

В классической архитектуре клиент-сервер три основные части приложения распределяются по двум физическим модулям. Обычно ПО хранения данных располагается на сервере (/: сервере базы данных), интерфейс с пользователем - на стороне клиента, а вот обработку данных приходится распределять между клиентской и серверной частями. В этом основной недостаток данной архитектуры. Разбиение алгоритмов обработки данных требует синхронизации действий обеих частей системы. Чтобы избежать несогласованности различных элементов архитектуры, пытаются выполнять обработку данных на одной из двух частей - либо на стороне клиента ("толстый" клиент), либо на сервере ("тонкий" клиент, или "2,5-уровневый клиент-сервер"). Каждый подход имеет свой недостаток: в первом случае неоправданно перегружается сеть, т.к. по ней передаются необработанные (избыточные) данные, усложняется поддержка и изменение системы, так как замена алгоритма вычислений или исправление ошибки требует одновременной полной замены всех интерфейсных программ, иначе последует несогласованность данных; во втором случае, когда вся обработка информации выполняется на сервере, возникает проблема описания встроенных процедур и их отладки (описание является декларативным и не допускает пошаговой отладки). Кроме того, систему с обработкой информации на сервере абсолютно невозможно перенести на другую платформу.

Большинство современных средств быстрой разработки приложений (RAD), которые работают с различными БД, реализует первую модель ("толстый" клиент), обеспечивающую интерфейс с сервером БД через язык SQL.. Этот вариант, кроме выше перечисленных недостатков, имеет низкий уровень безопасности.

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

Недостатки  рассмотренных выше моделей:

  1. "Толстый" клиент
  • сложность администрирования;
  • сложность в обновлении ПО, т.к. его замену необходимо производить одновременно по всей системе;
  • сложность в распределении полномочий, так как разграничение доступа происходит не по действиям, а по таблицам;
  • перегрузка сети из-за передачи по ней необработанных данных;
  • слабая защита данных.
  1. "Толстый" сервер
  • усложняется реализация, так как языки PL/SQL не приспособлены для разработки подобного ПО и нет средств отладки;
  • производительность программ на языках PL/SQL ниже, чем на других языках, что важно для сложных систем;
  • программы, написанные на СУБД-языках, работают ненадежно, что может привести к выходу из строя всего сервера БД;
  • созданные таким образом программы полностью непереносимы на другие системы и платформы.

Для решения  перечисленных проблем используются многоуровневые (три и более) модели клиент-сервер.

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

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

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

Информация о работе Основы сетевых информационных технологий