Смекни!
smekni.com

Сравнительный анализ и оценка эксплутационных характеристик различных терминальных устройств информации (стр. 2 из 13)

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

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

Терминальный клиент после установления связи с терминальным сервером пересылает на последний вводимые данные (нажатия клавиш, перемещения мыши) и, возможно, предоставляет доступ к локальный ресурсам (например, принтер, дисковые ресурсы, устройство чтения смарт-карт, локальные порты (COM/LPT)). Терминальный сервер предоставляет среду для работы (терминальная сессия), в которой исполняются приложения пользователя. Результат работы сервера передается на клиента, как правило, это изображение для монитора и звук (при его наличии).[4]

Преимущества терминального сервера

· Существенная экономия на программном и аппаратном обеспечении для рабочих станций

· Снижение временных расходов на администрирование

· Повышение безопасности - снижение риска инсайдерских взломов

Недостатки

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

· Усиливаются негативные последствия ошибок конфигурации и работы ПО (последствия ошибок сказываются не на отдельных пользователях, а на всех пользователях сервера сразу же)

· Проблемы с лицензированием (некоторое ПО не предусматривает ситуации работы нескольких пользователей на одном компьютере или требует использования более дорогих версий).

· Проблемы с совместимостью (часть ПО может быть не готова к эксплуатации в условиях нескольких копий от разных пользователей на одном компьютере)

В условиях использования свободного ПО (такого, как X-Window) проблема лицензирования не возникает. Для ПО предусматривающего в лицензионном соглашении ограничение на количество копий/пользователей возникают затруднения.[5]

В условиях терминального сервера могут использоваться следующие модели лицензирования:

· Perseat (perdevice - на рабочее место) - для каждого устройства (тоного клиента или рабочей станции) требуется отдельная лицензия, вне зависимости от количества пользователей. Подобная схема используется при лицензировании TerminalServices в составе WindowsServer.

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

· Perconnection (конкурентная лицензия) - для каждого соединения требуется отдельная лицензия, при этом количество пользователей/рабочих мест не играет роли - важно количество одновременно обслуживаемых пользователей. Такую систему лицензирования использует CitrixMetaframe. В этом случае существует пул лицензий, каждое новое соединение забирает одну лицензию из пула. Лицензия возвращается в пул при окончании соедиенения.

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

1.1 Архитектура терминальных устройств

В компьютерных технологиях трёхуровневая архитектура, синоним трёхзвенная архитектура (по англ. three-tier или Multitierarchitecture) предполагает наличие следующих компонентов приложения: клиентское приложение (обычно говорят "тонкий клиент" или терминал), подключенное к серверу приложений, который в свою очередь подключен к серверу базы данных.[6]

Обзор архитектуры

· Терминал - это интерфейсный (обычно графический) компонент, который представляет первый уровень, собственно приложение для конечного пользователя. Первый уровень не должен иметь прямых связей с базой данных (по требованиям безопасности), быть нагруженным основной бизнес-логикой (по требованиям масштабируемости) и хранить состояние приложения (по требованиям надежности). На первый уровень может быть вынесена и обычно выносится простейшая бизнес-логика: интерфейс авторизации, алгоритмы шифрования, проверка вводимых значений на допустимость и соответствие формату, несложные операции (сортировка, группировка, подсчет значений) с данными, уже загруженными на терминал.[7]

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

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

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

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

Достоинства

По сравнению с клиент-серверной или файл-серверной архитектурой можно выделить следующие достоинства трёхуровневой архитектуры:

· масштабируемость

· конфигурируемость - изолированность уровней друг от друга позволяет (при правильном развертывании архитектуры) быстро и простыми средствами переконфигурировать систему при возникновении сбоев или при плановом обслуживании на одном из уровней.

· высокая безопасность

· высокая надежность

· низкие требования к скорости канала (сети) между терминалами и сервером приложений.

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

Недостатки

Недостатки вытекают из достоинств. По сравнению c клиент-серверной или файл-серверной архитектурой можно выделить следующие недостатки трёхуровневой архитектуры:

· более высокая сложность создания приложений

· сложнее в разворачивании и администрировании

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

· высокие требования к скорости канала (сети) между сервером базы данных и серверами приложений.

1.2 Тонкий клиент и толстый клиент

В компьютерных технологиях тонкий клиент - это компьютер-клиент сети с клиент-серверной архитектурой (точнее с терминальной архитектурой), который переносит все задачи по обработке информации на сервер. Таким образом, для работы тонкого клиента необходим терминальный сервер. Этим тонкий клиент отличается от толстого клиента, который, напротив, производит обработку информации независимо от сервера, используя последний в основном лишь для хранения данных. Примером тонкого клиента может служить компьютер с браузером, использующийся для работы с веб-приложениями. Кроме общего случая, следует выделить аппаратный тонкий клиент (например, Windows-терминал) - специализированное устройство, принципиально отличное от ПК. Аппаратный тонкий клиент не имеет жёсткого диска, использует специализированную локальную ОС (одна из задач которой организовать сессию с терминальным сервером для работы пользователя), не имеет в своём составе подвижных деталей, выполняется в специализированных корпусах с полностью пассивным охлаждением. Для расширения функциональности тонкого клиента прибегают к его "утолщению", например, добавляют возможности автономной работы, сохраняя главное отличие - работу в сессии с терминальным сервером. Когда в клиенте появляются подвижные детали, появляются возможности автономной работы, он перестаёт быть тонким клиентом в чистом виде, а становится универсальным клиентом. Тонкий клиент в большинстве случаев обладает минимальной аппаратной конфигурацией, вместо жесткого диска для загрузки локальной специализированной ОС используется DOM (DiskOnModule) модуль с разъёмом IDE, флэш-памятью и микросхемой, подыгрывающей логику обычного жёсткого диска - в BIOS определяется как обычный жёсткий диск, только размер его обычно на 2-3 порядка меньше. В некоторых конфигурациях системы тонкий клиент загружает операционную систему по сети с сервера, используя протоколы PXE, BOOTP, DHCP, TFTP и RemoteInstallationServices (RIS).[9]