Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Архитектура серверной подсистемы.




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

При работе с данными используется ограниченное число операций:

  1. Определение структуры данных – создание таблиц, изменение структуры таблиц, удаление таблиц и т.п.
  2. Манипулирование данными – добавление, изменение или удаление данных
  3. Выборка данных

Механизм этих операций не зависит от того, какой продукт ими пользуется (Microsoft Access, SAP R/3 или, например, SQL-версия программы 1С:Предприятие). Поэтому удобно осуществление этих операций возложить на отдельный программный продукт – сервер баз данных. Существует много серверов баз данных отличающихся друг от друга форматом файлов данных, алгоритмами выполнения операций и прочими особенностями. Одними из наиболее популярных серверов баз данных являются Microsoft SQL Server (обычно читается как «Майкрософт сиквел-сервер») и Oracle Database.

Использование готового сервера баз данных даёт разработчику ИС следующие преимущества:

  1. Упрощается разрабатываемая программа – вместо того, чтобы писать, например, механизм записи в файл данных, предусматривая при этом запрещение записи в файл информации одновременно несколькими пользователями, нам будет достаточно обратиться из нашей программы к серверу баз данных и отдать команду выполнить запись.
  2. Сервер баз данных берёт на себя значительную нагрузку, что уменьшает стоимость всей системы. Дело в том, что компьютер пользователя рассчитывается исходя из пиковой (т.е. максимальной) нагрузки. Но такая нагрузка на него приходится редко, т.е. большую часть времени компьютеры пользователей нагружены на малую долю их реальной мощности. Если наиболее ресурсоёмкие операции, а именно к таким операциям и относятся операции с базами данных, мы делегируем серверу баз данных, то требования к пользовательским компьютерам можно будет значительно уменьшить.
  3. Сервер баз данных оптимизирует операции. Например, он хранит промежуточные результаты выборки из базы. Если какие-то запросы к базе данных используются часто, то сервер сохранит результаты этих запросов и сможет выдавать их пользователям, не обращаясь повторно к базе данных.

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

  1. Стоимость программы. Эта величина зависит от числа одновременных подключений к серверу баз данных, от количества процессоров в составе компьютеров-серверов баз данных и прочих параметров
  2. Стоимость администрирования сервера баз данных (заработная плата администраторов + затраты на прием на работу администраторов)
  3. Стоимость аппаратных мощностей, необходимы для работы сервера баз данных (компьютеров-серверов, сетевого оборудования, а также устройств резервного копирования)

Производительность программ-серверов баз данных во многих случаях не очевидна. Например, Oracle Database 9 версии позволяет устанавливать различный приоритет для разных запросов к базе данных. Некоторые регламентные операции в ИС сильно нагружают сервер баз данных, например, закрытие склада (пересчёт стоимости всех товаров) или начисление амортизации основных средств. Во время проведения этих операций загрузка серверов баз данных резко возрастает, что увеличивает время ожидания работников, выполняющих текущие операции. Если мы установим более низкий приоритет для соответствующих запросов, то это повысит время их выполнения (что может быть не так важно), но заметно понизит время отклика системы на прочих операциях. Microsoft SQL Server 2000 подобной возможности нам не предоставляет, но зато предъявляет, в большинстве случаев, заметно меньшие требования к аппаратному обеспечению.

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

Терминальные службы

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

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

  1. Закупку машин. Некоторые программы, установленные у пользователей, могут предъявлять высокие требования к производительности их компьютеров, например, Microsoft Excel или Adobe Acrobat, не говоря уже о графических пакетах.
  2. Поддержание компьютеров в работоспособном состоянии. Эта статья затрат может заметно возрасти если в составе информационной системы компании есть компьютеры удалённых филиалов, расположенных, например, в других городах.
  3. Установка программного обеспечения на компьютеры пользователей и его администрирование.

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

 

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

 

Схема участка сети, на котором работает терминальная служба

Многоуровневые архитектуры

 

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

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

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

 

В соответствии с современными представлениями архитектуру ИС можно представить трёхслойной (3-layer) или трёхуровневой (3-tier). Первый термин относится к логике системы:

  1. Интерфейс пользователя
  2. Внутренняя логика приложения
  3. База данных

Второй термин (трёхуровневая архитектура) относится набору компонентов, из которых состоит программный продукт:

  1. Клиентское приложение. Именно эту программу видят пользователи системы, т.е. она реализует первый слой – интерфейс пользователя. Это приложение может дополнительно брать на себя обязанность обработки бизнес-логики, всей – при отсутствии сервера приложений или только части – при его наличии.
  2. Сервер приложения. Эта программа выполняет значительную часть работы по выполнению вычислений.
  3. Сервер базы данных. Эта программа управляет хранением данных, изменением структуры хранимых данных, записью данных в базу и выборкой данных из неё (Microsoft SQL Server, Oracle Database, MySQL и т.д.).

Второй компонент из приведённых выше (сервер приложений) является опциональным.

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

 

 

Основные варианты многоуровневых архитектур

Основные варианты многоуровневых архитектур ИС следующие:

  1. Двухзвенная архитектура – сервер приложений не используется.
  2. Трёхзвенная архитектура с использованием толстого клиента – сервер приложений используется, клиентский компьютер взаимодействует с сервером баз данных напрямую
  3. Трёхзвенная архитектура с использованием тонкого клиента – сервер приложений используется, клиентский компьютер не взаимодействует с сервером баз данных напрямую.

Во всех этих вариантах различается нагрузка на сеть и нагрузка на рабочие станции.

 

 

Двухуровневая архитектура

 

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










Последнее изменение этой страницы: 2018-05-29; просмотров: 220.

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