Сага о тонком клиенте

Если вы следите за развитием ситуации вокруг сетевых тонких клиентов, вам известно, в чем состоит концепция этой архитектуры. К примеру, обработка данных выполняется в основном на сервере, а изображения выводятся на клиенте. Возможно, у вас сложилось впечатление, что аппаратное обеспечение клиента особого значения не имеет, но в некоторых случаях становится очевидным, что такое мнение ошибочно. Иногда, в зависимости от того, какие ожидания вы возлагаете на устройства в архитектуре тонкого клиента, их аппаратные возможности играют важную роль. В данной статье мы хотим сравнивать Windows-терминалы и сетевые компьютеры, то есть два вида устройств в архитектуре тонкого клиента, которые пользователи часто путают. (Более подробную информацию о третьем виде тонкого клиента можно найти во врезке «Является ли NetPC сетевым устройством в архитектуре тонкого клиента?»). Мы расскажем о предназначении каждого из этих устройств и о необходимой аппаратной конфигурации. Не все вычислительные устройства в архитектуре тонкого клиента создавались одинаково и не все они предназначались разработчиками для одних и тех же целей.

Сетевые компьютеры

Из вычислительных устройств в архитектуре тонкого клиента первыми на рынке появились сетевые компьютеры, использовавшие преимущества недавно созданной технологии Java. Стандарт на сетевые компьютеры Open Group не ограничивает эти устройства только аналогами терминалов, но в соответствии со стандартом таким устройством может быть любая система (от настольного компьютера до карманного), которая позволяет выполнять Java-приложения или в сетевой IP-среде, или, правда намного реже, в автономной среде. Сетевые компьютеры обычно выступают в роли Internet-компьютеров. Стандарт компании Open Group требует, чтобы сетевые компьютеры поддерживали интерпретацию Web-страниц, загрузку и исполнение Java-приложений Web-страниц, а также посылали (но не получали) электронную почту. Поддержка сессий FTP и Telnet является дополнительной. Другими словами, основное назначение сетевого компьютера — действовать как клиент Internet (или другой IP-сети), дополнительно позволяя загружать файлы или запускать приложения с терминального сервера. В состав сетевого компьютера входят следующие аппаратные компоненты:

  • RISC-процессор;
  • оперативная память (обычно достаточно большой емкости);
  • программируемое постоянное запоминающее устройство или средства загрузки из сети, возможно, с помощью протокола Trivial File Transfer Protocol (TFTP);
  • монитор с минимальным разрешением 640 Ё 480 пикселов;
  • мышь или другое позиционирующее устройство;
  • клавиатура или другое устройство ввода текста;
  • аудиовыход.

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

Компоненты, перечисленные в списке аппаратных составляющих для сетевого компьютера, являются общими для большинства компьютеров в архитектуре тонкого клиента. Так в чем же уникальность сетевого компьютера? В поддержке Java. Сетевые компьютеры можно назвать, используя популярный термин, «худыми» клиентами, а не тонкими, поскольку сетевые компьютеры могут локально запускать приложения (пусть и небольшие Java-приложения). Истинные тонкие клиенты, такие как Windows-терминалы, не могут исполнять приложения локально, но в состоянии исполнять все приложения (даже Java-приложения) на терминальном сервере, к которому они подключены. Еще одна определяющая характеристика сетевого компьютера состоит в том, что это устройство должно использовать пакет протоколов TCP/IP: IP для основной передачи данных, TCP для контроля ошибок и UDP для разрешения имен через сервер DNS. Соответствующий стандарту сетевой компьютер не использует протоколы IPX/SPX.

Хотя в прессе постоянно муссируется вопрос о том, что сетевые компьютеры могут заменить ПК (как раньше провозглашалось, что вычисления в архитектуре тонкого клиента вытеснят более распространенную парадигму локальной сети), вряд ли стоит ожидать подобного развития событий — сетевые компьютеры слишком ограничены по функциональности, чтобы всерьез конкурировать с более гибкими ПК. Сетевые компьютеры способны заменить персональные компьютеры в тех областях, где последние применяются для реализации специализированных функций, которые в состоянии выполнять апплеты Java. Таким образом, сетевые компьютеры не заменили ПК, но именно в этом и состоит их цель.

Windows-терминалы

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

Строго говоря, Windows-терминал — это зависящее от сети устройство в архитектуре тонкого клиента, которое поддерживает локальный вывод приложений, выполняющихся на терминальном сервере, где применяется многопользовательская версия Windows NT (например, Citrix WinFrame, Windows NT Server 4.0, Terminal Server Edition). В состав Windows-терминала входит процессор, оперативная память, сетевая и видеоподдержка, а также клавиатура и мышь или их аналоги. Windows-терминал загружается из мини-ОС, которая локально размещается в оперативной памяти, и больше ничего для того, чтобы запускать приложение с терминального сервера, не требуется. Поскольку приложения не исполняются локально, Windows-терминалам не нужна память большой емкости или мощные процессоры, необходимые для сетевых компьютеров. Однако и сетевые компьютеры, и Windows-терминалы намного мощнее старых ПК. Типичный Windows-терминал может иметь процессор с тактовой частотой 100 МГц и оперативную память емкостью 32 Мбайт. Всего лишь четыре года назад, когда появилась операционная система Windows 95, довольно мощными считались компьютеры, имеющие оперативную память емкостью 8 Мбайт. Тонкий — вовсе не означает слабый.

Однако строгое определение Windows-терминала не всегда отражает реальное положение дел. Многие Windows-терминалы не ограничиваются лишь выводом информации из приложений, выполняющихся удаленно. Некоторые из подобных устройств производители предлагают как Windows-терминалы, которые поддерживают локальное исполнение приложений Java, другие имеют встроенные приложения (такие как Web-браузер), а третьи — жесткие диски PC-Card. Ни один из Windows-терминалов не зависит от протокола в такой степени, как сетевые компьютеры. Хотя протокол вывода изображений RDP, который изначально поддерживает Terminal Server, зависит от TCP/IP, Windows-терминалы от TCP/IP не зависят. Протокол вывода изображений ICA поддерживает и сети TCP/IP, и сети IPX/SPX. Протокол вывода изображений, который устройство в архитектуре тонкого клиента использует для передачи на сервер данных, введенных пользователем, и для загрузки графического вывода на клиент, в некоторых случаях ограничивает возможности устройства, но это не обязательно.

Единственное, что является определяющим для Windows-терминалов — это их ориентация на операционную систему Windows. Локальная операционная система, с которой работает Windows-терминал, может и не быть операционной системой Windows (сейчас, кстати, в большинстве Windows-терминалов используются специализированные ОС, разработанные в самой компании-потребителе, а не Windows CE, хотя устройства с Windows CE имеются на рынке, к примеру, ThinSTAR компании NCD), но операционная среда — это всегда NT.

Об авторе

Криста Андерсон — независимый журналист и консультант по техническим вопросам, редактор Windows NT Magazine. С ней можно связаться по адресу candersn@adelphia.net.

Является ли NetPC сетевым устройством в архитектуре тонкого клиента?

Строго говоря, NetPC нельзя назвать сетевым устройством в архитектуре тонкого клиента, поскольку NetPC не обязательно является тонким клиентом. Первой реакцией руководства Microsoft на выпуск сетевых устройств был глубокий скепсис, поскольку тонкие клиенты обладают слишком ограниченной функциональностью, чтобы стать альтернативой ПК. Когда руководители Microsoft осознали, что поддержка централизованного администрирования и централизованных приложений не такая уж плохая идея, компания, совместно с Compaq, Dell, HP и Intel, разработала стандарт на NetPC.

Этот стандарт ориентирован на Windows (требует использования на клиенте операционной системы Windows NT или Windows 9x) и предназначен для того, чтобы сократить объем необходимой или возможной локальной конфигурации. Основным приоритетом при создании стандарта на NetPC было не стремление снизить сложность аппаратного и программного обеспечения клиента (как в Windows-терминалах и сетевых компьютерах), а идея обеспечения централизованного управления настольной системой. Производители разрабатывали NetPC с целью дать возможность выполнять обработку там, где это необходимо — или полностью на сервере, или полностью на клиенте, или и там и там. NetPC похож на NC в том, что касается поддержки определяемого централизованно рабочего стола и ограничений на аппаратную конфигурацию.

Фактически NetPC — это клиент для сети Windows 2000 (Win2K). Определяющим для NetPC является не упрощение используемой аппаратной конфигурации или операционной системы, а снижение общей стоимости владения. Что касается программного обеспечения, то NetPC поддерживают распределенную установку приложений с удаленной конфигурацией через Systems Management Server (SMS) и Zero Administration for Windows (ZAW). С аппаратной точки зрения NetPC необходима конфигурация (для поддержки режима Plug-and-play), но в то же время эти устройства практически невозможно конфигурировать из-за их неразбирающихся корпусов и отсутствия слотов расширения. NetPC может поддерживать внешние устройства, такие как дисковод для компакт-дисков или жесткий диск, но пользователи не имеют возможности добавлять к NetPC устройства с 1390 Firewire или Universal Serial Bus (шинными интерфейсами).